FastDrain: Removing Page Victimization Overheads in NVMe Storage Stack

Host-side page victimizations can easily overflow the SSD internal buffer, which interferes I/O services of diverse user applications thereby degrading user-level experiences. To address this, we propose FastDrain, a co-design of OS kernel and flash firmware to avoid the buffer overflow, caused by page victimizations. Specifically, FastDrain can detect a triggering point where a near-future page victimization introduces an overflow of the SSD internal buffer. Our new flash firmware then speculatively scrubs the buffer space to accommodate the requests caused by the page victimization. In parallel, our new OS kernel design controls the traffic of page victimizations by considering the target device buffer status, which can further reduce the risk of buffer overflow. To secure more buffer spaces, we also design a latency-aware FTL, which dumps the dirty data only to the fast flash pages. Our evaluation results reveal that FastDrain reduces the 99th response time of user applications by 84 percent, compared to a conventional system.

[1]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[2]  Mahmut T. Kandemir,et al.  Revisiting widely held SSD expectations and rethinking system-level implications , 2013, SIGMETRICS '13.

[3]  Andrea C. Arpaci-Dusseau,et al.  Split-level I/O scheduling , 2015, SOSP.

[4]  Mahmut T. Kandemir,et al.  Amber*: Enabling Precise Full-System Simulation with Detailed Modeling of All SSD Resources , 2018, 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[5]  Jie Zhang,et al.  FlashGPU: Placing New Flash Next to GPU Cores , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[6]  John Shalf,et al.  OpenNVM: An open-sourced FPGA-based NVM controller for low level memory characterization , 2015, 2015 33rd IEEE International Conference on Computer Design (ICCD).

[7]  David Mosberger,et al.  httperf—a tool for measuring web server performance , 1998, PERV.

[8]  Paul DuBois,et al.  MySQL Reference Manual , 2002 .

[9]  Mahmut T. Kandemir,et al.  FlashShare: Punching Through Server Storage Stack from Kernel to Firmware for Ultra-Low Latency SSDs , 2018, OSDI.

[10]  Hwanju Kim,et al.  Enlightening the I/O Path: A Holistic Approach for Application Performance , 2017, FAST.

[11]  Tian Luo,et al.  Differentiated storage services , 2011, SOSP.