Abstract
Performance isolation is critical in shared storage systems, a popular storage solution. In a shared storage system, interference between requests from different users can affect the accuracy of I/O cost accounting, resulting in poor performance isolation. Recently, NAND flash-memory-based solid-state drives (SSDs) have been increasingly used in shared storage systems. However, interference in SSD-based shared storage systems has not been addressed. In this article, two types of interference, namely, queuing delay (QD) interference and garbage collection (GC) interference, are identified in a shared SSD. Additionally, a framework called VSSD is proposed to address these types of interference. VSSD is composed of two components: the FACO credit-based I/O scheduler designed to address QD interference and the ViSA flash translation layer designed to address GC interference. The VSSD framework aims to be implemented in the firmware running on an SSD controller. With VSSD, interference in an SSD can be eliminated and performance isolation can be ensured. Both synthetic and application workloads are used to evaluate the effectiveness of the proposed VSSD framework. The performance results show the following. First, QD and GC interference exists and can result in poor performance isolation between users on SSD-based shared storage systems. Second, VSSD is effective in eliminating the interference and achieving performance isolation between users. Third, the overhead of VSSD is insignificant.
- J. An and D. Shin. 2013. Offline deduplication-aware block separation for solid state disk. In Proceedings of the 11th USENIX Conference on File and Storage Technologies.Google Scholar
- T. Austin, E. Larson, and D. Ernst. 2002. An infrastructure for computer system modeling. IEEE Computer 32, 2, 59--67. Google ScholarDigital Library
- J. Axboe. 2004. Linux block IO—present and future. In Proceedings of the Ottawa Linux Symposium. 51--61.Google Scholar
- M. Balakrishnan, A. Kadav, V. Prabhakaran, and D. Malkhi. 2010. Differential RAID: Rethinking RAID for SSD reliability. In Proceedings of the 5th European Conference on Computer Systems. 15--26. Google ScholarDigital Library
- S. Boboila and P. Desnoyers. 2010. Write endurance in flash drives: Measurements and analysis. In Proceedings of the 8th USENIX Conference on File and Storage Technologies. 115--128. Google ScholarDigital Library
- J. Bruno, J. Brustoloni, E. Gabber, B. Ozden, and A. Silberschatz. 1999. Disk scheduling with quality of service guarantees. In Proceedings of the IEEE International Conference on Multimedia Computing and Systems. 400--405. Google ScholarDigital Library
- J. S. Bucy, J. Schindler, S. W. Schlosser, and G. R. Ganger. 2008. The Disksim simulation environment version 4.0. Tech. Rep. CMU- PDL-08-101, Parallek Data Lab, Carnegie Mellon University.Google Scholar
- S. Byan, J. Lentini, A. Madan, L. Pabón, M. Condict, J. Kimmel, S. Kleiman, C. Small, and M. Storer. 2012. Mercury: Host-side flash caching for the data center. In Proceedings of the 28th IEEE Symposium on Mass Storage Systems and Technologies. 1--12.Google Scholar
- D. W. Chang, H. H. Chen, D. J. Yang, and H. P. Chang. 2014. BLAS: block-level adaptive striping for solid-state drives. ACM Trans. Des. Autom. Electron. Syst. 19, 2, 21--49. Google ScholarDigital Library
- L. P. Chang. 2010. A hybrid approach to NAND-flash-based solid-state disks. IEEE Trans. Comput. 59, 10, 1337--1349. Google ScholarDigital Library
- L. P. Chang and C. D. Du. 2009. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Trans. Des. Autom. Electron. Syst. 15, 1, 1--36. Google ScholarDigital Library
- L. P. Chang and T. W. Kuo. 2005. Efficient management for large-scale flash-memory storage systems with resource conservation. ACM Trans. Storage. 1, 4, 381--418. Google ScholarDigital Library
- L. P. Chang, T. W. Kuo, and S. W. Lo. 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Trans. Embed. Comput. Syst. 3, 4, 837--863. Google ScholarDigital Library
- L. P. Chang and C. Y. Wen. 2014. Reducing asynchrony in channel garbage-collection for improving internal parallelism of multichannel solid-state disks. ACM Trans. Embed. Comput. Syst. 13, 2s, 63. Google ScholarDigital Library
- Y. H. Chang, J. W. Hsieh, and T. W. Kuo. 2010. Improving flash wear-leveling by proactively moving static data. IEEE Trans. Comput. 59, 1, 53--65. Google ScholarDigital Library
- F. Chen, R. Lee, and X. Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture. 266--277. Google ScholarDigital Library
- M. L. Chiang, P. C. H. Lee, and R. C. Chang. 1999. Cleaning policies in mobile computers using flash memory. J. Syst. Softw. 48, 3, 213--231. Google ScholarDigital Library
- M. L. Chiao and D. W. Chang. 2011. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation. IEEE Trans. Comput. 60, 6, 753--766. Google ScholarDigital Library
- P. Gang and T. Chiueh. 2008. Availability and fairness support for storage QoS guarantee. In Proceedings of the 28th International Conference on Distributed Computing Systems. 589--596. Google ScholarDigital Library
- A. Gulati, I. Ahmad, and C. A. Waldspurger. 2009a. PARDA: Proportional allocation of resources for distributed storage access. In Proceedings of the 7th USENIX Conference on File and Storage Technologies. 85--98. Google ScholarDigital Library
- A. Gulati, C. Kumar, and I. Ahmad. 2009b. Storage workload characterization and consolidation in virtualized environments. In Proceedings of the Workshop on Virtualization Performance: Analysis, Characterization, and Tools.Google Scholar
- J. W. Hsieh, H. Y. Lin, and D. L. Yang. 2013a. Multi-channel architecture-based FTL for reliable and high-performance SSD. IEEE Trans. Comput. 63, 12, 3079--3091. Google ScholarDigital Library
- J. W. Hsieh, Y. C. Zheng, Y. S. Peng, and P. H. Yeh. 2013b. VAST: Virtually associative sector translation for MLC storage systems. IEEE Trans. Comput.-Aid. Des. Integ. Circuits Syst. 32, 8, 1137--1150. Google ScholarDigital Library
- P. C. Huang, Y. H. Chang, K. Y. Lam, J. T. Wang, and C. C Huang. 2014. Garbage collection for multiversion index in flash-based embedded databases. ACM Trans. Des. Autom. Electron. Syst. 19, 3, 25. Google ScholarDigital Library
- P. C. Huang, Y. H. Chang, and T. W. Kuo. 2013. An index-based management scheme with adaptive caching for huge-scale low-cost embedded flash storages. ACM Trans. Des. Autom. Electron. Syst. 18, 4, 56--81. Google ScholarDigital Library
- M. Huang, Y. Wang, Z. Liu, L. Qiao, and Z. Shao. 2015. A garbage collection aware stripping method for solid-state drives. In Proceedings of the 20th Asia and South Pacific Design Automation Conference. 334--339.Google Scholar
- S. Im and D. Shin. 2010a. Flash-aware RAID techniques for dependable and high-performance flash memory SSD. IEEE Trans. Comput. 60, 1, 80--92. Google ScholarDigital Library
- S. Im and D. Shin. 2010b. Delayed partial parity scheme for reliable and high-performance flash memory SSD. In Proceedings of the 26th IEEE Symposium on Mass Storage Systems and Technologies. 1--6. Google ScholarDigital Library
- S. Im and D. Shin. 2010c. ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer. J. Syst. Architect. 56, 12, 641--653. Google ScholarDigital Library
- W. Jin, J. S. Chase, and J. Kaur. 2004. Interposed proportional sharing for a storage service utility. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems. 37--48. Google ScholarDigital Library
- J. Kang, J. Kim, C. Park, H. Park, and J. Lee. 2007. A multi-channel architecture for high-performance NAND flash-based storage system. J. Syst. Architect. 53, 9, 644--658. Google ScholarDigital Library
- M. Karlsson, C. Karamanolis, and X. Zhu. 2005. Triage: Performance differentiation for storage systems using adaptive control. ACM Trans. Storage. 1, 4, 457--480. Google ScholarDigital Library
- J. Kim, C. Lee, S. Lee, I. Son, J. Choi, S. Yoon, H. Lee, S. Kang, Y. Won, and J. Cha. 2012. Deduplication in SSDs: Model and quantitative analysis. In Proceedings of the 28th IEEE Symposium on Mass Storage Systems and Technologies. 1--12.Google Scholar
- J. Kim, D. Lee, and S. H. Noh. 2015. Towards SLO complying SSDs through OPS isolation. In Proceedings of the 13th USENIX Conference on File and Storage Technologies. 183--190. Google ScholarDigital Library
- Y. Klonatos, T. Makatos, M. Marazakis, M. D. Flouris, and A. Bilas. 2011. Azor: Using two-level block selection to improve SSD-based I/O caches. In Proceedings of the IEEE Networking, Architecture and Storage. 309--318. Google ScholarDigital Library
- R. S. Liu, M. Y. Chuang, C. L. Yang, C. H. Li, K. C. Ho, and H. P. Li. 2014. EC-cache: Exploiting error locality to optimize LDPC in NAND flash-based SSDs. In Proceedings of the 51st Annual Design Automation Conference, 1--6. Google ScholarDigital Library
- R. S. Liu, C. L. Yang, C. H. Li, and G. Y. Chen. 2013. DuraCache: A durable SSD cache using MLC NAND flash. In Proceedings of the 50th Annual Design Automation Conference. 1--6. Google ScholarDigital Library
- J. Lee, Y. Kim, J. Kim, and G. M. Shipman. 2015. Synchronous I/O scheduling of independent write caches for an array of SSDs. IEEE Comput. Architect. Lett. 13, 1.Google Scholar
- J. Lee, Y. Kim, G. M. Shipman, S. Oral, F. Wang, and J. Kim. 2011. A semi-preemptive garbage collector for solid state drives. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. 12--21. Google ScholarDigital Library
- D. Li, X. Liao, H. Jin, B. Zhou, and Q. Zhang. 2012. A new disk I/O model of virtualized cloud environment. IEEE Trans. Parallel Distrib. Syst. 24, 6, 1129--1138. Google ScholarDigital Library
- X. Lin, Y. Mao, F. Li, and R. Ricci. 2012. Towards fair sharing of block storage in a multi-tenant cloud. In Proceedings of the 4th USENIX Conference on Hot Topics in Cloud Computing. 15--20. Google ScholarDigital Library
- X. Ling, H. Jin, S. Ibrahim, W. Cao, and S. Wu. 2012. Efficient disk I/O scheduling with QoS guarantee for Xen-based hosting platforms. In Proceedings of the 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. 81--89. Google ScholarDigital Library
- C. R. Lumb, A. Merchant, and G. A. Alvarez. 2003. Façade: Virtual storage devices with performance guarantees. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. 131--144. Google ScholarDigital Library
- T. Luo, S. Ma, R. Lee, X. Zhang, D. Liu, and L. Zhou. 2013. S-CAVE: Effective SSD caching to improve virtual machine storage performance. In Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques. 103--112. Google ScholarDigital Library
- D. Malkhi, M. Balakrishnan, J. D. Davis, V. Prabhakaran, and T. Wobber. 2012. From paxos to CORFU: A flash-speed shared log. ACM SIGOPS Oper. Syst. Rev. 46, 1, 47--51. Google ScholarDigital Library
- M. Murugan and H. C. Du. 2011. Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead. In Proceedings of the 27th Symposium on Mass Storage Systems and Technologies. 1--12. Google ScholarDigital Library
- Objective Analysis. 2010. Solid state disk market outlook 2010 - Single-User. http://www.objective-analysis.com.Google Scholar
- Y. Oh, J. Choi, D. Lee, and S. H. Noh. 2012. Caching less for better performance: Balancing cache size and update cost of flash memory cache in hybrid storage systems. In Proceedings of the 10th USENIX Conference on File and Storage Technologies. 25--25. Google ScholarDigital Library
- C. Park, P. Talawar, D. Won, M. Jung, J. Im, S. Kim, and Y. Choi. 2006. A high performance controller for NAND flash-based solid state disk (NSSD). In Proceedings of the IEEE 21st Non-Volatile Semiconductor Memory Workshop. 17--20.Google Scholar
- S. Park and K. Shen. 2012. FIOS: A fair, efficient flash I/O scheduler. In Proceedings of the 10th USENIX Conference on File and Storage Technologies. 13--37. Google ScholarDigital Library
- A. Povzner, T. Kaldewey, S. Brandt, R. Golding, T. M. Wong, and C. Maltzahn. 2008. Efficient guaranteed disk request scheduling with Fahrrad. In Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer. 13--25. Google ScholarDigital Library
- J. Schindler, S. Shete, and K. A. Smith. 2011. Improving throughput for small disk requests with proximal I/O. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies. 133--147. Google ScholarDigital Library
- K. Shen and S. Park. 2013. FlashFQ: A fair queueing I/O scheduler for flash-based SSDs. In Proceedings of the USENIX Annual Technical Conference. 67--78. Google ScholarDigital Library
- D. Skourtis, S. Kato, and S. Brandt. 2012. QBox: Guaranteeing I/O performance on black box storage systems. In Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing. 73--84. Google ScholarDigital Library
- P. L. Suei, M. Y. Yeh, and T. W. Kuo. 2014. Endurance-aware flash-cache management for storage servers. IEEE Trans. Comput. 63, 10, 2416--2430. Google ScholarDigital Library
- D. Tiwari, S. Boboila, S. S. Vazhkudai, Y. Kim, X. Ma, P. J. Desnoyers, and Y. Solihin. 2013. Active flash: Towards energy-efficient, in-situ data analytics on extreme-scale machines. In Proceedings of the 11st USENIX Conference on File and Storage Technologies. 119--132. Google ScholarDigital Library
- C. W. Tsao, Y. H. Chang, and M. C. Yang. 2013. Performance enhancement of garbage collection for flash storage devices: An efficient victim block selection design. In Proceedings of the 50th Annual Design Automation Conference. 1--6. Google ScholarDigital Library
- M. Wachs, M. Abd-El-Malek, E. Thereska, and G. R. Ganger. 2007. Argon: Performance insulation for shared storage servers. In Proceedings of the 5th USENIX Conference on File and Storage Technologies. 61--76. Google ScholarDigital Library
- M. Wachs, L. Xu, A. Kanevsky, and G. R. Ganger. 2011. Exertion-based billing for cloud storage access. In Proceedings of the 3rd USENIX Conference on Hot Topics in Cloud Computing. 1--5. Google ScholarDigital Library
- C. H. Wu. 2009. An energy-efficient I/O request mechanism for multi-bank flash-memory storage systems. ACM Trans. Des. Autom. Electron. Syst. 14, 1, 6. Google ScholarDigital Library
- P. L. Wu, Y. H. Chang, and T. W. Kuo. 2009. A file-system-aware FTL design for flash-memory storage systems. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition. 393--398. Google ScholarDigital Library
- G. Wu, X. He, N. Xie, and T. Zhang. 2013. Exploiting workload dynamics to improve SSD read latency via differentiated error correction codes. ACM Trans. Des. Autom. Electron. Syst. 18, 4, 55--76. Google ScholarDigital Library
- M. C. Yang, Y. H. Chang, C. W. Tsao, and P. C. Huang. 2013. New ERA: New efficient reliability-aware wear leveling for endurance enhancement of flash storage devices. In Proceedings of the 50th Annual Design Automation Conference. 1--6. Google ScholarDigital Library
- J. Zhang, A. Sivasubramaniam, Q. Wang, A. Riska, and E. Riedel. 2006. Storage performance virtualization via throughput and latency control. ACM Trans. Storage 2, 3, 283--308. Google ScholarDigital Library
- X. Zhang and S. Jiang. 2010. InterferenceRemoval: Removing interference of disk access for MPI programs through data replication. In Proceedings of the 24th ACM International Conference on Supercomputing. 223--232. Google ScholarDigital Library
- Q. Zhang, X. Li, L. Wang, T. Zhang, Y. Wang, and Z. Shao. 2015. Optimizing deterministic garbage collection in NAND flash storage systems. In Proceedings of the 21st IEEE Real-Time and Embedded Technology and Applications Symposium.Google Scholar
Index Terms
- VSSD: Performance Isolation in a Solid-State Drive
Recommendations
BLAS: Block-level adaptive striping for solid-state drives
Increasing the degree of parallelism and reducing the overhead of garbage collection (GC overhead) are the two keys to enhancing the performance of solid-state drives (SSDs). SSDs employ multichannel architectures, and a data placement scheme in an SSD ...
HPDA: A hybrid parity-based disk array for enhanced performance and reliability
Flash-based Solid State Drive (SSD) has been productively shipped and deployed in large scale storage systems. However, a single flash-based SSD cannot satisfy the capacity, performance and reliability requirements of the modern storage systems that ...
Performance improvement of I/O subsystems exploiting the characteristics of solid state drives
ICCSA'11: Proceedings of the 2011 international conference on Computational science and its applications - Volume Part IIINAND flash based Solid State Drives (SSDs) have several unique physical characteristics. Since the SSD consists of many NAND flash packages and each package is able to perform its own I/O operation, almost SSDs provide some parallel I/O operations to ...
Comments