Alleviating Garbage Collection Interference Through Spatial Separation in All Flash Arrays

We present SWAN, a novel All Flash Array (AFA) management scheme. Recent flash SSDs provide high I/O bandwidth (e.g., 3-10GB/s) so the storage bandwidth can easily surpass the network bandwidth by aggregating a few SSDs. However, it is still challenging to unlock the full performance of SSDs. The main source of performance degradation is garbage collection (GC). We find that existing AFA designs are susceptible to GC at SSD-level and AFA softwarelevel. In designing SWAN, we aim to alleviate the performance interference caused by GC at both levels. Unlike the commonly-used temporal separation approach that performs GC at idle time, we take a spatial separation approach that partitions SSDs into the front-end SSDs dedicated to serve write requests and the back-end SSDs where GC is performed. Compared to temporal separation of GC and application I/O, which is hard to be controlled by AFA software, our approach guarantees that the storage bandwidth always matches the full network performance without being interfered by AFA-level GC. Our analytical model confirms this if the size of front-end SSDs and the back-end SSDs are properly configured. We provide extensive evaluations that show SWAN is effective for a variety of workloads.

[1]  J. Alberto Espinosa,et al.  Big Data: Issues and Challenges Moving Forward , 2013, 2013 46th Hawaii International Conference on System Sciences.

[2]  Jongmoo Choi,et al.  Optimizations of LFS with slack space recycling and lazy indirect block update , 2010, SYSTOR '10.

[3]  Tzi-cker Chiueh,et al.  Software Orchestrated Flash Array , 2014, SYSTOR 2014.

[4]  Sungjin Lee,et al.  Performance Analysis of NVMe SSD-Based All-flash Array Systems , 2018, 2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[5]  Mahmut T. Kandemir,et al.  HIOS: A host interface I/O scheduler for Solid State Disks , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[6]  Andrew A. Chien,et al.  The Tail at Store: A Revelation from Millions of Hours of Disk and SSD Deployments , 2016, FAST.

[7]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[8]  Young Ik Eom,et al.  An Efficient Buffer Replacement Algorithm for NAND Flash Storage Devices , 2014, 2014 IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems.

[9]  Franck Cappello,et al.  Characterizing Cloud Applications on a Google Data Center , 2013, 2013 42nd International Conference on Parallel Processing.

[10]  John Shalf,et al.  Triple-A: a Non-SSD based autonomic all-flash array for high performance storage systems , 2014, ASPLOS.

[11]  Andrew A. Chien,et al.  Tiny-Tail Flash , 2017, ACM Trans. Storage.

[12]  Yanpei Chen,et al.  Interactive Analytical Processing in Big Data Systems: A Cross-Industry Study of MapReduce Workloads , 2012, Proc. VLDB Endow..

[13]  Patrick E. O'Neil,et al.  The log-structured merge-tree (LSM-tree) , 1996, Acta Informatica.

[14]  Jongmoo Choi,et al.  Disk schedulers for solid state drivers , 2009, EMSOFT '09.

[15]  M. Woods Optimizing Storage Performance and Cost with Intelligent Caching , 2010 .

[16]  Weidong Zhu,et al.  GC-Aware Request Steering with Improved Performance and Reliability for SSD-Based RAIDs , 2018, 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[17]  Jongmoo Choi,et al.  Enabling Cost-Effective Flash based Caching with an Array of Commodity SSDs , 2015, Middleware.

[18]  Jongmoo Choi,et al.  Janus-FTL: finding the optimal point on the spectrum between page and block mapping schemes , 2010, EMSOFT '10.

[19]  Andrew Warfield,et al.  Non-volatile storage , 2016, Commun. ACM.

[20]  Joo Young Hwang,et al.  F2FS: A New File System for Flash Storage , 2015, FAST.

[21]  Carlos Maltzahn,et al.  Flash on Rails: Consistent Flash Performance through Redundancy , 2014, USENIX Annual Technical Conference.

[22]  Sangyeun Cho,et al.  The Multi-streamed Solid-State Drive , 2014, HotStorage.

[23]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.

[24]  Hakim Weatherspoon,et al.  Gecko: contention-oblivious disk arrays for cloud storage , 2013, FAST.

[25]  Junghee Lee,et al.  Harmonia: A globally coordinated garbage collector for arrays of Solid-State Drives , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[26]  Ethan L. Miller,et al.  Purity: Building Fast, Highly-Available Enterprise Flash Storage from Commodity Components , 2015, SIGMOD Conference.

[27]  Javier González,et al.  LightNVM: The Linux Open-Channel SSD Subsystem , 2017, FAST.

[28]  Jongman Kim,et al.  Preemptible I/O Scheduling of Garbage Collection for Solid State Drives , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[29]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.

[30]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[31]  Nikolas Ioannou,et al.  Elevating Commodity Storage with the SALSA Host Translation Layer , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[32]  Yanping Zhao,et al.  HyLog: A High Performance Approach to Managing Disk Layout , 2004, FAST.

[33]  Ibrar Yaqoob,et al.  Big IoT Data Analytics: Architecture, Opportunities, and Open Research Challenges , 2017, IEEE Access.

[34]  Hong Jiang,et al.  HPDA: A hybrid parity-based disk array for enhanced performance and reliability , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[35]  Peter Desnoyers,et al.  Analytic Models of SSD Write Performance , 2014, TOS.

[36]  Jaishankar Moothedath Menon,et al.  A performance comparison of RAID-5 and log-structured arrays , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[37]  Sang-Won Lee,et al.  SFS: random write considered harmful in solid state drives , 2012, FAST.

[38]  Xubin He,et al.  Reducing SSD read latency via NAND flash program and erase suspension , 2012, FAST.