{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,21]],"date-time":"2026-04-21T14:46:39Z","timestamp":1776782799446,"version":"3.51.2"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2018,4,3]],"date-time":"2018-04-03T00:00:00Z","timestamp":1522713600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Sharif ICT Innovation Center"},{"name":"HPDS Corp"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Meas. Anal. Comput. Syst."],"published-print":{"date-parts":[[2018,4,3]]},"abstract":"<jats:p>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.<\/jats:p>\n          <jats:p>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.<\/jats:p>","DOI":"10.1145\/3179412","type":"journal-article","created":{"date-parts":[[2018,4,4]],"date-time":"2018-04-04T12:11:45Z","timestamp":1522843905000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["ECI-Cache"],"prefix":"10.1145","volume":"2","author":[{"given":"Saba","family":"Ahmadian","sequence":"first","affiliation":[{"name":"Sharif University of Technology, Tehran, Iran"}]},{"given":"Onur","family":"Mutlu","sequence":"additional","affiliation":[{"name":"ETH Zurich, Zurich, Switzerland"}]},{"given":"Hossein","family":"Asadi","sequence":"additional","affiliation":[{"name":"Sharif University of Technology, Tehran, Iran"}]}],"member":"320","published-online":{"date-parts":[[2018,4,3]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Design Tradeoffs for SSD Performance. In USENIX Annual Technical Conference (USENIX ATC).","author":"Agrawal Nitin"},{"key":"e_1_2_1_2_1","volume-title":"Automation Test in Europe Conference Exhibition (DATE).","author":"Ahmadian Saba","year":"2018"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of USENIX Annual Technical Conference (USENIX ATC).","author":"Albrecht Christoph","year":"2013"},{"key":"e_1_2_1_4_1","volume-title":"IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).","author":"Appuswamy Raja"},{"key":"e_1_2_1_5_1","volume-title":"CloudCache: On-Demand Flash Cache Management for Cloud Computing. In USENIX Conference on File and Storage Technologies (FAST).","author":"Arteaga Dulcardo","year":"2016"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/2523721.2523739"},{"key":"e_1_2_1_7_1","volume-title":"IEEE International Symposium (ISPASS).","author":"Berg Erik","year":"2004"},{"key":"e_1_2_1_8_1","volume-title":"Blktrace: Block Layer IO Tracing Tool. https:\/\/linux.die.net\/man\/8\/blktrace.","year":"2006"},{"key":"e_1_2_1_9_1","volume-title":"Mercury: Host-Side Flash Caching for the Data Center. In IEEE Symposium on Mass Storage Systems and Technologies (MSST).","author":"Byan Steve","year":"2012"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2017.2713127"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe (DATE).521--526","author":"Cai Yu","year":"2012"},{"key":"e_1_2_1_12_1","article-title":"Error Analysis and Retention-Aware Error Management for NAND Flash Memory","volume":"17","author":"Cai Yu","year":"2013","journal-title":"Intel Technology Journal"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1995896.1995902"},{"key":"e_1_2_1_14_1","unstructured":"Chen Ding and Yutao Zhong. 2001. Reuse Distance Analysis. University of Rochester Rochester NY (2001).  Chen Ding and Yutao Zhong. 2001. Reuse Distance Analysis. University of Rochester Rochester NY (2001)."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/780822.781159"},{"key":"e_1_2_1_16_1","unstructured":"EMC Corporation. 2012. EMC VFCache. http:\/\/www.emc2.eu. (2012). Retrieved Feb 2016 from http:\/\/www.emc2.eu  EMC Corporation. 2012. EMC VFCache. http:\/\/www.emc2.eu. (2012). Retrieved Feb 2016 from http:\/\/www.emc2.eu"},{"key":"e_1_2_1_17_1","unstructured":"EnhanceIO. 2012. EnhanceIO. https:\/\/github.com\/stec-inc\/EnhanceIO. (2012). Retrieved June 2016 from https:\/\/github.com\/stec-inc\/EnhanceIO  EnhanceIO. 2012. EnhanceIO. https:\/\/github.com\/stec-inc\/EnhanceIO. (2012). Retrieved June 2016 from https:\/\/github.com\/stec-inc\/EnhanceIO"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065895.1065906"},{"key":"e_1_2_1_19_1","unstructured":"Fusion-IO. 2005. Fusionio ioTurbine. http:\/\/web.sandisk.com. (2005). Retrieved Feb 2016 from http:\/\/web.sandisk.com  Fusion-IO. 2005. Fusionio ioTurbine. http:\/\/web.sandisk.com. (2005). Retrieved Feb 2016 from http:\/\/web.sandisk.com"},{"key":"e_1_2_1_20_1","unstructured":"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  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"},{"key":"e_1_2_1_21_1","unstructured":"HP-HDD. 2016. SAS 10K HP HDD. http:\/\/h18000.www1.hp.com\/products. (2016). Retrieved Dec 2016 from http:\/\/h18000.www1.hp.com\/products  HP-HDD. 2016. SAS 10K HP HDD. http:\/\/h18000.www1.hp.com\/products. (2016). Retrieved Dec 2016 from http:\/\/h18000.www1.hp.com\/products"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737832"},{"key":"e_1_2_1_23_1","unstructured":"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  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"},{"key":"e_1_2_1_24_1","unstructured":"Intel. 2016. Intel(R) Xeon CPU. www.intel.com. (2016). Retrieved Jan 2017 from www.intel.com  Intel. 2016. Intel(R) Xeon CPU. www.intel.com. (2016). Retrieved Jan 2017 from www.intel.com"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2011.64"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/NAS.2011.50"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICAC.2015.44"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of USENIX Annual Technical Conference (USENIX ATC).","author":"Li Cheng","year":"2014"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2928275.2928286"},{"key":"e_1_2_1_30_1","volume-title":"VFRM: Flash Resource Manager in VMware ESX Server. In Network Operations and Management Symposium (NOMS).","author":"Liu Deng","year":"2014"},{"key":"e_1_2_1_31_1","doi-asserted-by":"crossref","unstructured":"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).  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).","DOI":"10.1109\/MSST.2014.6855536"},{"key":"e_1_2_1_32_1","unstructured":"MathWorks. 2017. fmincon. https:\/\/www.mathworks.com\/help. (2017). Retrieved Sep. 2017 from https:\/\/www.mathworks.com\/help  MathWorks. 2017. fmincon. https:\/\/www.mathworks.com\/help. (2017). Retrieved Sep. 2017 from https:\/\/www.mathworks.com\/help"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1367829.1367830"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.92.0078"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of USENIX Annual Technical Conference (USENIX ATC).","author":"Meng Fei","year":"2014"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2796314.2745848"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519081"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.117"},{"key":"e_1_2_1_39_1","volume-title":"QEMU: Quick Emulator","author":"QEMU.","year":"2016"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2017.2651803"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-015-1377-0"},{"key":"e_1_2_1_42_1","unstructured":"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.  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."},{"key":"e_1_2_1_43_1","unstructured":"Samsung. 2014. Endurance of the SSD for data centers. http:\/\/www.samsung.com. (2014). Retrieved July 2017 from http:\/\/www.samsung.com  Samsung. 2014. Endurance of the SSD for data centers. http:\/\/www.samsung.com. (2014). Retrieved July 2017 from http:\/\/www.samsung.com"},{"key":"e_1_2_1_44_1","unstructured":"Samsung. 2016. Samsung SSD 850 Pro. http:\/\/www.samsung.com. (2016). Retrieved March 2016 from http:\/\/www.samsung.com  Samsung. 2016. Samsung SSD 850 Pro. http:\/\/www.samsung.com. (2016). Retrieved March 2016 from http:\/\/www.samsung.com"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190216.1190227"},{"key":"e_1_2_1_46_1","unstructured":"SKHynix. 2016. Hynix Semiconductor Memory. https:\/\/www.skhynix.com\/eng\/index.jsp. (2016). Retrieved Jan 2017 from https:\/\/www.skhynix.com\/eng\/index.jsp  SKHynix. 2016. Hynix Semiconductor Memory. https:\/\/www.skhynix.com\/eng\/index.jsp. (2016). Retrieved Jan 2017 from https:\/\/www.skhynix.com\/eng\/index.jsp"},{"key":"e_1_2_1_47_1","unstructured":"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  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"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1816003"},{"key":"e_1_2_1_49_1","unstructured":"Mohan Srinivasan Paul Saab and V. Tkachenko. 1991. FlashCache. https:\/\/github.com\/facebookarchive\/flashcache. (1991). Retrieved Jan 2017 from https:\/\/github.com\/facebookarchive\/flashcache  Mohan Srinivasan Paul Saab and V. Tkachenko. 1991. FlashCache. https:\/\/github.com\/facebookarchive\/flashcache. (1991). Retrieved Jan 2017 from https:\/\/github.com\/facebookarchive\/flashcache"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2015.2455978"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1710115.1710126"},{"key":"e_1_2_1_52_1","volume-title":"Journaling Filesystem. In Ottawa Linux Symposium.","author":"Tweedie Stephen","year":"2000"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.163"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the USENIX Conference on File and Storage Technologies (USENIX FAST).","author":"Wachs Matthew"},{"key":"e_1_2_1_55_1","volume-title":"Efficient MRC Construction with SHARDS. In USENIX Conference on File and Storage Technologies (FAST 15)","author":"Waldspurger Carl A.","year":"2015"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1552309.1552310"}],"container-title":["Proceedings of the ACM on Measurement and Analysis of Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3179412","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3179412","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:08:18Z","timestamp":1750208898000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3179412"}},"subtitle":["A High-Endurance and Cost-Efficient I\/O Caching Scheme for Virtualized Platforms"],"short-title":[],"issued":{"date-parts":[[2018,4,3]]},"references-count":56,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,4,3]]}},"alternative-id":["10.1145\/3179412"],"URL":"https:\/\/doi.org\/10.1145\/3179412","relation":{},"ISSN":["2476-1249"],"issn-type":[{"value":"2476-1249","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,4,3]]},"assertion":[{"value":"2018-04-03","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}