Abstract

In recent years, high interest in using Virtual Machines (VMs) in data centers and Cloud computing has significantly increased the demand for high-performance data storage systems. A straightforward approach to provide a high performance storage system is using Solid-State Drives (SSDs). Inclusion of SSDs in storage systems, however, imposes significantly higher cost compared to Hard Disk Drives (HDDs). Recent studies suggest using SSDs as a caching layer for HDD-based storage subsystems in virtualization platforms. Such studies neglect to address the endurance and cost of SSDs, which can significantly affect the efficiency of I/O caching. Moreover, previous studies only configure the cache size to provide the required performance level for each VM, while neglecting other important parameters such as cache write policy and request type, which can adversely affect both performance-per-cost and endurance.
In this paper, we present a new high-Endurance and Cost-efficient I/O Caching (ECI-Cache) scheme for virtualized platforms, which can significantly improve both the performance-per-cost and endurance of storage subsystems as opposed to previously proposed I/O caching schemes. Unlike traditional I/O caching schemes which allocate cache size only based on reuse distance of accesses, we propose a new metric, Useful Reuse Distance (URD), which considers the request type in reuse distance calculation, resulting in improved performance-per-cost and endurance for the SSD cache. Via online characterization of workloads and using URD, ECI-Cache partitions the SSD cache across VMs and is able to dynamically adjust the cache size and write policy for each VM. To evaluate the proposed scheme, we have implemented ECI-Cache in an open source hypervisor, QEMU (version 2.8.0), on a server running the CentOS 7 operating system (kernel version 3.10.0-327). Experimental results show that our proposed scheme improves the performance, performance-per-cost, and endurance of the SSD cache by 17%, 30% and 65%, respectively, compared to the state-of-the-art dynamic cache partitioning scheme.
- Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark S. Manasse, Moinuddin K. Panigrahy, RinaQureshi, and Yale N. Patt. 2008. Design Tradeoffs for SSD Performance. In USENIX Annual Technical Conference (USENIX ATC). Google Scholar
Digital Library
- Saba Ahmadian, Farhad Taheri, Mehrshad Lotfi, Maryam Karimi, and Hossein Asadi. 2018. Investigating Power Outage Effects on Reliability of Solid-State Drives. In to appear in Design, Automation Test in Europe Conference Exhibition (DATE).Google Scholar
- Christoph Albrecht, Arif Merchant, Murray Stokely, Muhammad Waliji, François Labelle, Nate Coehlo, Xudong Shi, and Eric Schrock. 2013. Janus: Optimal Flash Provisioning for Cloud Storage Workloads. In Proceedings of USENIX Annual Technical Conference (USENIX ATC). Google Scholar
Digital Library
- Raja Appuswamy, David C. van Moolenbroek, and Andrew S. Tanenbaum. 2012. Integrating Flash-Based SSDs into the Storage Stack. In IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).Google Scholar
- Dulcardo Arteaga, Jorge Cabrera, Jing Xu, Swaminathan Sundararaman, Dulcardo Zhao, MingArteaga, Jorge Cabrera, Jing Xu, Swaminathan Sundararaman, and Ming Zhao. 2016. CloudCache: On-Demand Flash Cache Management for Cloud Computing. In USENIX Conference on File and Storage Technologies (FAST). Google Scholar
Digital Library
- Rajkishore Barik, Jisheng Zhao, and Vivek Sarkar. 2013. S-CAVE: Effective SSD Cahing to Improve Virtual Machine Storage Performance. In Proceedings of Parallel Architectures and Compilation Techniques (PACT). Google Scholar
Digital Library
- Erik Berg and Erik Hagersten. 2004. StatCache: A Probabilistic Approach to Efficient and Accurate Data Locality Analysis. In Performance Analysis of Systems and Software, IEEE International Symposium (ISPASS). Google Scholar
Digital Library
- Blktrace. 2006. Blktrace: Block Layer IO Tracing Tool. https://linux.die.net/man/8/blktrace. (2006). Retrieved March 2017 from https://linux.die.net/man/8/blktraceGoogle Scholar
- Steve Byan, James Lentini, Anshul Madan, Luis Pabon, Michael Condict, Jeff Kimmel, Steve Kleiman, Christopher Small, and Mark Storer. 2012. Mercury: Host-Side Flash Caching for the Data Center. In IEEE Symposium on Mass Storage Systems and Technologies (MSST).Google Scholar
- Yu Cai, Saugata Ghose, Erich F. Haratsch, Yixin Luo, and Onur Mutlu. 2017. Error Characterization, Mitigation, and Recovery in Flash Memory Based Solid-State Drives. Proceedings of the IEEE 105 (2017), 1666--1704.Google Scholar
Cross Ref
- Yu Cai, Erich F. Haratsch, Onur Mutlu, and Ken Mai. 2012. Error Patterns in MLC NAND Flash Memory: Measurement, Characterization, and Analysis. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE).521--526. Google Scholar
Digital Library
- Yu Cai, Gulay Yalcin, Onur Mutlu, Erich F. Haratsch, Adrian Crista, Osman S. Unsal, and Ken Mai. 2013. Error Analysis and Retention-Aware Error Management for NAND Flash Memory. Intel Technology Journal 17, 1 (2013).Google Scholar
- Feng Chen, David A. Koufaty, and Xiaodong Zhang. 2011. Hystor: Making the Best Use of Solid State Drives in High Performance Storage Systems. In International Conference on Supercomputing. Google Scholar
Digital Library
- Chen Ding and Yutao Zhong. 2001. Reuse Distance Analysis. University of Rochester, Rochester, NY (2001).Google Scholar
- Chen Ding and Yutao Zhong. 2003. Predicting Whole-Program Locality Through Reuse Distance Analysis. In ACM SIGPLAN Notices. Google Scholar
Digital Library
- EMC Corporation. 2012. EMC VFCache. http://www.emc2.eu. (2012). Retrieved Feb 2016 from http://www.emc2.euGoogle Scholar
- EnhanceIO. 2012. EnhanceIO. https://github.com/stec-inc/EnhanceIO. (2012). Retrieved June 2016 from https://github.com/stec-inc/EnhanceIOGoogle Scholar
- Changpeng Fang, Steve Carr, Soner Önder, and Zhenlin Wang. 2004. Reuse-Distance-Based Miss-Rate Prediction on a Per Instruction Basis. In Proceedings of the workshop on Memory system performance. Google Scholar
Digital Library
- Fusion-IO. 2005. Fusionio ioTurbine. http://web.sandisk.com. (2005). Retrieved Feb 2016 from http://web.sandisk.comGoogle Scholar
- HP-G5. 2010. HP ProLiant DL380 Generation 5. http://h18000.www1.hp.com/products. (2010). Retrieved Dec 2016 from http://h18000.www1.hp.com/productsGoogle Scholar
- HP-HDD. 2016. SAS 10K HP HDD. http://h18000.www1.hp.com/products. (2016). Retrieved Dec 2016 from http://h18000.www1.hp.com/productsGoogle Scholar
- Sai Huang, Qingsong Wei, Dan Feng, Jianxi Chen, and Cheng Chen. 2016. Improving Flash-Based Disk Cache With Lazy Adaptive Replacement. ACM Transactions on Storage (TOS) (2016). Google Scholar
Digital Library
- NetApp Inc. 2009. NetApp FlexCache. http://www.netapp.com/us/media/tr-3669.pdf. (2009). Retrieved Jan 2017 from http://www.netapp.com/us/media/tr-3669.pdfGoogle Scholar
- Intel. 2016. Intel(R) Xeon CPU. www.intel.com. (2016). Retrieved Jan 2017 from www.intel.comGoogle Scholar
- Youngjae Kim, Aayush Gupta, Bhuvan Urgaonkar, Piotr Berman, and Anand Sivasubramaniam. 2011. HybridStore: A Cost-Efficient, High-Performance Storage System Combining SSDs and HDDs. In IEEE Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems. Google Scholar
Digital Library
- Yannis Klonatos, Thanos Makatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas. 2011. Azor: Using Two-Level Block Selection to Improve SSD-Based I/O Caches. In IEEE International Conference on Networking, Architecture and Storage (NAS). Google Scholar
Digital Library
- Ricardo Koller, Ali José Mashtizadeh, and Raju Rangaswami. 2015. Centaur: Host-Side SSD Caching for Storage Performance Control. In IEEE International Conference on Autonomic Computing (ICAC). Google Scholar
Digital Library
- Cheng Li, Philip Shilane, Fred Douglis, Hyong Shim, Stephen Smaldone, and Grant Wallace. 2014. Nitro: A Capacity-Optimized SSD Cache for Primary Storage. In Proceedings of USENIX Annual Technical Conference (USENIX ATC). Google Scholar
Digital Library
- Yushi Liang, Yunpeng Chai, Ning Bao, Hengyu Chen, and Yaohong Liu. 2016. Elastic Queue: A Universal SSD Lifetime Extension Plug-in for Cache Replacement Algorithms. In Proceedings of the 9th ACM International on Systems and Storage Conference. Google Scholar
Digital Library
- Deng Liu, Jianzhe Tai, Julia Lo, Ningfang Mi, and Xiaoyun Zhu. 2014. VFRM: Flash Resource Manager in VMware ESX Server. In Network Operations and Management Symposium (NOMS).Google Scholar
- Jian Liu, Yunpeng Chai, Xiao Qin, and Yuan Xiao. 2014. PLC-cache: Endurable SSD Cache For Deduplication-Based Primary Storage. In Mass Storage Systems and Technologies (MSST).Google Scholar
- MathWorks. 2017. fmincon. https://www.mathworks.com/help. (2017). Retrieved Sep. 2017 from https://www.mathworks.com/helpGoogle Scholar
- Jeanna Matthews, Sanjeev Trika, Debra Hensgen, Rick Coulson, and Knut Grimsrud. 2008. Intel® Turbo Memory: Nonvolatile Disk Caches in the Storage Hierarchy of Mainstream Computer Systems. ACM Transactions on Storage (TOS) (2008). Google Scholar
Digital Library
- Richard L. Mattson, Jan Gecsei, Donald R. Slutz, and Irving L. Traiger. 1970. Evaluation Techniques for Storage Hierarchies. IBM Systems journal) (1970). Google Scholar
Digital Library
- Fei Meng, Li Zhou, Xiaosong Ma, Sandeep Uttamchandani, and Deng Liu. 2014. vCacheShare: Au- tomated Server Flash Cache Space Management in a Virtualization Environment. In Proceedings of USENIX Annual Technical Conference (USENIX ATC). Google Scholar
Digital Library
- Justin Meza, Qiang Wu, Sanjev Kumar, and Onur Mutlu. 2015. A Large-Scale Study of Flash Memory Failures in the Field. In ACM SIGMETRICS Performance Evaluation Review,Vol.43.177--190. Google Scholar
Digital Library
- Dushyanth Narayanan, Eno Thereska, Austin Donnelly, Sameh Elnikety, and Antony Rowstron. 2009. Migrating Server Storage to SSDs: Analysis of Tradeoffs. In ACM European Conference on Computer Systems. 14. Google Scholar
Digital Library
- Qingpeng Niu, James Dinan, Qingda Lu, and P. Sadayappan. 2012. PARDA: A Fast Parallel Reuse Distance Analysis Algorithm. In Parallel & Distributed Processing Symposium (IPDPS). Google Scholar
Digital Library
- QEMU. 2016. QEMU: Quick Emulator. http://wiki.qemu.org. (2016). Retrieved March 2016 from http://wiki.qemu.orgGoogle Scholar
- Hongchan Roh, Mincheol Shin, Wonmook Jung, and Sanghyun Park. 2017. Advanced Block Nested Loop Join for Extending SSD Lifetime. IEEE Transactions on Knowledge and Data Engineering (2017). Google Scholar
Digital Library
- Reza Salkhordeh, Hossein Asadi, and Shahriar Ebrahimi. 2015. Operating System Level Data Tiering Using Online Workload Characterization. The Journal of Supercomputing (2015). Google Scholar
Digital Library
- Reza Salkhordeh, Shahriar Ebrahimi, and Hossein Asadi. 2018. ReCA: an Efficient Reconfigurable Cache Architecture for Storage Systems with Online Workload Characterization. IEEE Transactions on Parallel and Distributed Systems (TPDS) PP, PP (2018), 1--1.Google Scholar
- Samsung. 2014. Endurance of the SSD for data centers. http://www.samsung.com. (2014). Retrieved July 2017 from http://www.samsung.comGoogle Scholar
- Samsung. 2016. Samsung SSD 850 Pro. http://www.samsung.com. (2016). Retrieved March 2016 from http://www.samsung.comGoogle Scholar
- Xipeng Shen, Jonathan Shaw, Brian Meeker, and Chen Ding. 2007. Locality Approximation Using Time. In the Symposium on Principles of Programming Languages (POPL). Google Scholar
Digital Library
- SKHynix. 2016. Hynix Semiconductor Memory. https://www.skhynix.com/eng/index.jsp. (2016). Retrieved Jan 2017 from https://www.skhynix.com/eng/index.jspGoogle Scholar
- SNIA. 2016. Microsoft Enterprise Traces, Storage Networking Industry Association IOTTA Repository. http://h18000.www1.hp.com/products. (2016). Retrieved Dec 2016 from http://h18000.www1.hp.com/productsGoogle Scholar
- Vijayaraghavan Soundararajan and Jennifer M. Anderson. 2010. The Impact of Management Operations on the Virtualized Datacenter. In ACM International Symposium on Computer Architecture. Google Scholar
Digital Library
- Mohan Srinivasan, Paul Saab, and V. Tkachenko. 1991. FlashCache. https://github.com/facebookarchive/flashcache. (1991). Retrieved Jan 2017 from https://github.com/facebookarchive/flashcacheGoogle Scholar
- Mojtaba Tarihi, Hossein Asadi, Alireza Haghdoost, Mohammad Arjomand, and Hamid Sarbazi-Azad. 2016. A Hybrid Non-Volatile Cache Design for Solid-State Drives Using Comprehensive I/O Characterization. IEEE Transactions on Computers 65, 6 (2016), 1678--1691.Google Scholar
Cross Ref
- Omesh Tickoo, Ravi Iyer, Ramesh Illikkal, and Don Newell. 2010. Modeling Virtual Machine Performance: Challenges and Approaches. ACM SIGMETRICS Performance Evaluation Review (2010). Google Scholar
Digital Library
- Stephen Tweedie. 2000. Ext3, Journaling Filesystem. In Ottawa Linux Symposium.Google Scholar
- Rich Uhlig, Gil Neiger, Dion Rodgers, Amy L. Santoni, Fernando C.M. Martins, Andrew V. Anderson, Steven M. Bennett, Alain Kagi, Felix H. Leung, and Larry Smith. 2005. Intel Virtualization Technology. Computer (2005). Google Scholar
Digital Library
- Matthew Wachs, Michael Abd-El-Malek, Eno Thereska, and Gregory R. Ganger. 2007. Argon: Perfor- mance Insulation for Shared Storage Servers. In Proceedings of the USENIX Conference on File and Storage Technologies (USENIX FAST). Google Scholar
Digital Library
- Carl A. Waldspurger, Nohhyun Park, Alexander Garthwaite, and Irfan Ahmad. 2015. Efficient MRC Construction with SHARDS. In USENIX Conference on File and Storage Technologies (FAST 15). Google Scholar
Digital Library
- Yutao Zhong, Xipeng Shen, and Chen Ding. 2009. Program Locality Analysis Using Reuse Distance. ACM Transactions on Programming Languages and Systems (TOPLAS) (2009). Google Scholar
Digital Library
Index Terms
ECI-Cache: A High-Endurance and Cost-Efficient I/O Caching Scheme for Virtualized Platforms
Recommendations
Improving Flash-Based Disk Cache with Lazy Adaptive Replacement
For years, the increasing popularity of flash memory has been changing storage systems. Flash-based solid-state drives (SSDs) are widely used as a new cache tier on top of hard disk drives (HDDs) to speed up data-intensive applications. However, the ...
ECI-Cache: A High-Endurance and Cost-Efficient I/O Caching Scheme for Virtualized Platforms
SIGMETRICS '18: Abstracts of the 2018 ACM International Conference on Measurement and Modeling of Computer SystemsIn recent years, high interest in using Virtual Machines (VMs) in data centers and cloud computing has significantly increased the demand for high-performance data storage systems. A straightforward approach to providing a high-performance storage ...
ECI-Cache: A High-Endurance and Cost-Efficient I/O Caching Scheme for Virtualized Platforms
SIGMETRICS '18In recent years, high interest in using Virtual Machines (VMs) in data centers and cloud computing has significantly increased the demand for high-performance data storage systems. A straightforward approach to providing a high-performance storage ...






Comments