Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

ECI-Cache: A High-Endurance and Cost-Efficient I/O Caching Scheme for Virtualized Platforms

Published: 03 April 2018 Publication History

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.

References

[1]
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).
[2]
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).
[3]
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).
[4]
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).
[5]
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).
[6]
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).
[7]
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).
[8]
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/blktrace
[9]
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).
[10]
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.
[11]
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.
[12]
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).
[13]
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.
[14]
Chen Ding and Yutao Zhong. 2001. Reuse Distance Analysis. University of Rochester, Rochester, NY (2001).
[15]
Chen Ding and Yutao Zhong. 2003. Predicting Whole-Program Locality Through Reuse Distance Analysis. In ACM SIGPLAN Notices.
[16]
EMC Corporation. 2012. EMC VFCache. http://www.emc2.eu. (2012). Retrieved Feb 2016 from http://www.emc2.eu
[17]
EnhanceIO. 2012. EnhanceIO. https://github.com/stec-inc/EnhanceIO. (2012). Retrieved June 2016 from https://github.com/stec-inc/EnhanceIO
[18]
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.
[19]
Fusion-IO. 2005. Fusionio ioTurbine. http://web.sandisk.com. (2005). Retrieved Feb 2016 from http://web.sandisk.com
[20]
HP-G5. 2010. HP ProLiant DL380 Generation 5. http://h18000.www1.hp.com/products. (2010). Retrieved Dec 2016 from http://h18000.www1.hp.com/products
[21]
HP-HDD. 2016. SAS 10K HP HDD. http://h18000.www1.hp.com/products. (2016). Retrieved Dec 2016 from http://h18000.www1.hp.com/products
[22]
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).
[23]
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.pdf
[24]
Intel. 2016. Intel(R) Xeon CPU. www.intel.com. (2016). Retrieved Jan 2017 from www.intel.com
[25]
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.
[26]
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).
[27]
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).
[28]
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).
[29]
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.
[30]
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).
[31]
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).
[32]
MathWorks. 2017. fmincon. https://www.mathworks.com/help. (2017). Retrieved Sep. 2017 from https://www.mathworks.com/help
[33]
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).
[34]
Richard L. Mattson, Jan Gecsei, Donald R. Slutz, and Irving L. Traiger. 1970. Evaluation Techniques for Storage Hierarchies. IBM Systems journal) (1970).
[35]
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).
[36]
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.
[37]
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.
[38]
Qingpeng Niu, James Dinan, Qingda Lu, and P. Sadayappan. 2012. PARDA: A Fast Parallel Reuse Distance Analysis Algorithm. In Parallel & Distributed Processing Symposium (IPDPS).
[39]
QEMU. 2016. QEMU: Quick Emulator. http://wiki.qemu.org. (2016). Retrieved March 2016 from http://wiki.qemu.org
[40]
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).
[41]
Reza Salkhordeh, Hossein Asadi, and Shahriar Ebrahimi. 2015. Operating System Level Data Tiering Using Online Workload Characterization. The Journal of Supercomputing (2015).
[42]
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.
[43]
Samsung. 2014. Endurance of the SSD for data centers. http://www.samsung.com. (2014). Retrieved July 2017 from http://www.samsung.com
[44]
Samsung. 2016. Samsung SSD 850 Pro. http://www.samsung.com. (2016). Retrieved March 2016 from http://www.samsung.com
[45]
Xipeng Shen, Jonathan Shaw, Brian Meeker, and Chen Ding. 2007. Locality Approximation Using Time. In the Symposium on Principles of Programming Languages (POPL).
[46]
SKHynix. 2016. Hynix Semiconductor Memory. https://www.skhynix.com/eng/index.jsp. (2016). Retrieved Jan 2017 from https://www.skhynix.com/eng/index.jsp
[47]
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/products
[48]
Vijayaraghavan Soundararajan and Jennifer M. Anderson. 2010. The Impact of Management Operations on the Virtualized Datacenter. In ACM International Symposium on Computer Architecture.
[49]
Mohan Srinivasan, Paul Saab, and V. Tkachenko. 1991. FlashCache. https://github.com/facebookarchive/flashcache. (1991). Retrieved Jan 2017 from https://github.com/facebookarchive/flashcache
[50]
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.
[51]
Omesh Tickoo, Ravi Iyer, Ramesh Illikkal, and Don Newell. 2010. Modeling Virtual Machine Performance: Challenges and Approaches. ACM SIGMETRICS Performance Evaluation Review (2010).
[52]
Stephen Tweedie. 2000. Ext3, Journaling Filesystem. In Ottawa Linux Symposium.
[53]
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).
[54]
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).
[55]
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).
[56]
Yutao Zhong, Xipeng Shen, and Chen Ding. 2009. Program Locality Analysis Using Reuse Distance. ACM Transactions on Programming Languages and Systems (TOPLAS) (2009).

Cited By

View all
  • (2023)Online Monte Carlo Planning with QoS Subgoals for Data Caching in ITS MEC Networks2023 IEEE International Conference on Omni-layer Intelligent Systems (COINS)10.1109/COINS57856.2023.10189272(1-6)Online publication date: 23-Jul-2023
  • (2022)An Enterprise-Grade Open-Source Data Reduction Architecture for All-Flash Storage SystemsProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/35308966:2(1-27)Online publication date: 6-Jun-2022
  • (2022)Multi-resource fair allocation for consolidated flash-based caching systemsProceedings of the 23rd ACM/IFIP International Middleware Conference10.1145/3528535.3565245(202-215)Online publication date: 7-Nov-2022
  • Show More Cited By

Index Terms

  1. ECI-Cache: A High-Endurance and Cost-Efficient I/O Caching Scheme for Virtualized Platforms

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image Proceedings of the ACM on Measurement and Analysis of Computing Systems
      Proceedings of the ACM on Measurement and Analysis of Computing Systems  Volume 2, Issue 1
      March 2018
      603 pages
      EISSN:2476-1249
      DOI:10.1145/3203302
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 03 April 2018
      Published in POMACS Volume 2, Issue 1

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. endurance
      2. i/o caching
      3. performance
      4. solid-state drive
      5. virtualized platform

      Qualifiers

      • Research-article

      Funding Sources

      • Sharif ICT Innovation Center
      • HPDS Corp

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)11
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 21 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Online Monte Carlo Planning with QoS Subgoals for Data Caching in ITS MEC Networks2023 IEEE International Conference on Omni-layer Intelligent Systems (COINS)10.1109/COINS57856.2023.10189272(1-6)Online publication date: 23-Jul-2023
      • (2022)An Enterprise-Grade Open-Source Data Reduction Architecture for All-Flash Storage SystemsProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/35308966:2(1-27)Online publication date: 6-Jun-2022
      • (2022)Multi-resource fair allocation for consolidated flash-based caching systemsProceedings of the 23rd ACM/IFIP International Middleware Conference10.1145/3528535.3565245(202-215)Online publication date: 7-Nov-2022
      • (2022) RC-RNN: R econfigurable C ache Architecture for Storage Systems Using R ecurrent N eural N etworks IEEE Transactions on Emerging Topics in Computing10.1109/TETC.2021.310204110:3(1492-1506)Online publication date: 1-Jul-2022
      • (2020)MLCacheProceedings of the 39th International Conference on Computer-Aided Design10.1145/3400302.3415652(1-9)Online publication date: 2-Nov-2020
      • (2019)Treatment Effect Estimation via Differentiated Confounder Balancing and RegressionACM Transactions on Knowledge Discovery from Data10.1145/336567714:1(1-25)Online publication date: 13-Dec-2019
      • (2018)Asymptotically Optimal Load Balancing TopologiesACM SIGMETRICS Performance Evaluation Review10.1145/3292040.321967446:1(138-138)Online publication date: 12-Jun-2018
      • (2018)Designing Low-Complexity Heavy-Traffic Delay-Optimal Load Balancing SchemesACM SIGMETRICS Performance Evaluation Review10.1145/3292040.321967046:1(128-128)Online publication date: 12-Jun-2018
      • (2018)Degree of Queue ImbalanceACM SIGMETRICS Performance Evaluation Review10.1145/3292040.321966546:1(115-115)Online publication date: 12-Jun-2018
      • (2018)A Refined Mean Field ApproximationACM SIGMETRICS Performance Evaluation Review10.1145/3292040.321966346:1(113-113)Online publication date: 12-Jun-2018
      • Show More Cited By

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media