{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,2]],"date-time":"2023-01-02T05:55:38Z","timestamp":1672638938202},"reference-count":65,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2021,11,30]]},"abstract":"\n With the recent performance improvements in commodity hardware, low-cost commodity server-based storage has become a practical alternative to dedicated-storage appliances. Because of the high failure rate of commodity servers, data redundancy across multiple servers is required in a server-based storage system. However, the extra storage capacity for this redundancy significantly increases the system cost. Although\n erasure coding (EC)<\/jats:bold>\n is a promising method to reduce the amount of redundant data, it requires distributing and encoding data among servers. There remains a need to reduce the performance impact of these processes involving much network traffic and processing overhead. Especially, the performance impact becomes significant for random-intensive applications. In this article, we propose a new lightweight redundancy control for server-based storage. Our proposed method uses a new local filesystem-based approach that avoids distributing data by adding data redundancy to locally stored user data. Our method switches the redundancy method of user data between replication and EC according to workloads to improve capacity efficiency while achieving higher performance. Our experiments show up to 230% better online-transaction-processing performance for our method compared with CephFS, a widely used alternative system. We also confirmed that our proposed method prevents unexpected performance degradation while achieving better capacity efficiency.\n <\/jats:p>","DOI":"10.1145\/3456292","type":"journal-article","created":{"date-parts":[[2021,10,17]],"date-time":"2021-10-17T01:27:42Z","timestamp":1634434062000},"page":"1-38","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Lightweight Dynamic Redundancy Control with Adaptive Encoding for Server-based Storage"],"prefix":"10.1145","volume":"17","author":[{"given":"Takayuki","family":"Fukatani","sequence":"first","affiliation":[{"name":"Tokyo Institute of Technology, Japan and Hitachi Ltd., Yokohama, Kanagawa, Japan"}]},{"given":"Hieu Hanh","family":"Le","sequence":"additional","affiliation":[{"name":"Tokyo Institute of Technology, Tokyo, Japan"}]},{"given":"Haruo","family":"Yokota","sequence":"additional","affiliation":[{"name":"Tokyo Institute of Technology, Tokyo, Japan"}]}],"member":"320","published-online":{"date-parts":[[2021,10,15]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359656"},{"key":"e_1_3_2_3_2","unstructured":"Apache.org. 2019. Welcome to Apache ZooKeeper. Retrieved from https:\/\/zookeeper.apache.org\/."},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.5555\/3306658"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/MESOCA.2012.6392602"},{"key":"e_1_3_2_6_2","unstructured":"Dhruba Borthakur. 2007. The Hadoop distributed file system: Architecture and design. Retrieved from http:\/\/svn.apache.org\/repos\/asf\/hadoop\/common\/tags\/release-0.16.3\/docs\/hdfs_design.pdf"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.5555\/1077084"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.5555\/3154630.3154635"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.5555\/2591305.2591321"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043562"},{"key":"e_1_3_2_12_2","unstructured":"Johnathan Corbet. 2010. Open by handle. Retrieved from https:\/\/lwn.net\/Articles\/375888\/."},{"key":"e_1_3_2_13_2","unstructured":"Johnathan Corbet. 2010. Punching holes in files. Retrieved from https:\/\/lwn.net\/Articles\/415889\/."},{"key":"e_1_3_2_14_2","unstructured":"Intel Corporation. 2020. intel.com. Retrieved from https:\/\/www.intel.co.jp\/."},{"key":"e_1_3_2_15_2","article-title":"DiskReduce: Replication as a Prelude to Erasure Coding in Data-intensive Scalable Computing","author":"Fan Bin","year":"2011","unstructured":"Bin Fan, Wittawat Tantisiriroj, Lin Xiao, and Garth Gibson. 2011. DiskReduce: Replication as a Prelude to Erasure Coding in Data-intensive Scalable Computing. Technical Report CMU-PDL-11-112, Carnegie Mellon Univsersity, Parallel Data Laboratory.","journal-title":"Technical Report CMU-PDL-11-112, Carnegie Mellon Univsersity, Parallel Data Laboratory."},{"key":"e_1_3_2_16_2","article-title":"Storage architecture and challenges","author":"Fikes Andrew","year":"2010","unstructured":"Andrew Fikes. 2010. Storage architecture and challenges. Talk at the Google Faculty Summit.","journal-title":"Talk at the Google Faculty Summit"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS47363.2019.00042"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.52731\/ijscai.v2.i1.228"},{"key":"e_1_3_2_19_2","unstructured":"Garth Gibson. 2010. DiskReduce v2.0 for HDFS. Retrieved from https:\/\/www.pdl.cmu.edu\/DiskReduce\/talks\/2010-Jan-28-OpenCirrus-Gibson.pdf."},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.5555\/2342821.2342823"},{"key":"e_1_3_2_21_2","unstructured":"IEEE and The Open Group. 2018. The open group base specifications issue 7 2018 edition (IEEE Std 1003.1\u2122-2017)."},{"key":"e_1_3_2_22_2","article-title":"Basic performance measurements of the Intel Optane DC persistent memory module","author":"Izraelevitz Joseph","year":"2019","unstructured":"Joseph Izraelevitz, Jian Yang, Lu Zhang, Juno Kim, Xiao Liu, Amirsaman Memaripour, Yun Joon Soh, Zixuan Wang, Yi Xu, Subramanya R. Dulloor et\u00a0al. 2019. Basic performance measurements of the Intel Optane DC persistent memory module. arXiv preprint arXiv:1903.05714 (2019).","journal-title":"arXiv preprint arXiv:1903.05714"},{"key":"e_1_3_2_23_2","volume-title":"Proceedings of the Storage Developer Conference","author":"C Mohammed Rafi K.","year":"2016","unstructured":"Mohammed Rafi K. C. 2016. Efficient data tiering in GlusterFS. In Proceedings of the Storage Developer Conference (SDC'16)."},{"key":"e_1_3_2_24_2","unstructured":"kernel.org. 2020. The Linux Kernel archives. Retrieved from https:\/\/www.kernel.org."},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208481"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2009.8.1.c4"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2017.8167758"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3078468.3078479"},{"key":"e_1_3_2_29_2","volume-title":"Proceedings of the IEEE International Conference on Massive Storage Systems and Technology","volume":"10","author":"Lee Dong-Yun","year":"2017","unstructured":"Dong-Yun Lee, Kisik Jeong, Sang-Hoon Han, Jin-Soo Kim, Joo-Young Hwang, and Sangyeun Cho. 2017. Understanding write behaviors of storage backends in Ceph object store. In Proceedings of the IEEE International Conference on Massive Storage Systems and Technology (MSST'17), Vol. 10."},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.5555\/1404014.1404030"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2017.2678505"},{"key":"e_1_3_2_32_2","unstructured":"libfuse. 2020. libfuse. Retrieved from https:\/\/github.com\/libfuse."},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208484"},{"key":"e_1_3_2_34_2","first-page":"21","volume-title":"Proceedings of the Linux Symposium","volume":"2","author":"Mathur Avantika","year":"2007","unstructured":"Avantika Mathur, Mingming Cao, Suparna Bhattacharya, Andreas Dilger, Alex Tomas, and Laurent Vivier. 2007. The new ext4 filesystem: Current status and future plans. In Proceedings of the Linux Symposium, Vol. 2. 21\u201333."},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377322"},{"key":"e_1_3_2_36_2","volume-title":"Proceedings of the Flash Memory Summit","author":"Mattos Steve","year":"2012","unstructured":"Steve Mattos. 2012. Server-based storage. In Proceedings of the Flash Memory Summit."},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/2078861.2078864"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616473"},{"key":"e_1_3_2_39_2","unstructured":"Microsoft. 2020. Microsoft Azure Lsv2-series. Retrieved from https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/lsv2-series."},{"key":"e_1_3_2_40_2","volume-title":"Proceedings of the Storage Developer Conference","author":"Narayanamurthy Srinivasan","year":"2016","unstructured":"Srinivasan Narayanamurthy. 2016. Modern erasure codes for distributed storage systems. In Proceedings of the Storage Developer Conference (SDC'16)."},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/1416944.1416949"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.52731\/ijscai.v1.i1.90"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2018.2803302"},{"issue":"6","key":"e_1_3_2_44_2","first-page":"44","article-title":"Erasure codes for storage systems: A brief primer","volume":"38","author":"Plank James S.","year":"2013","unstructured":"James S. Plank. 2013. Erasure codes for storage systems: A brief primer. Login: The USENIX Mag. 38, 6 (2013), 44\u201350.","journal-title":"Login: The USENIX Mag."},{"key":"e_1_3_2_45_2","article-title":"Jerasure: A Library in C\/C++ Facilitating Erasure Coding for Storage Applications","author":"Plank James S.","year":"2007","unstructured":"James S. Plank, Scott Simmerman, and Catherine D. Schuman. 2007. Jerasure: A Library in C\/C++ Facilitating Erasure Coding for Storage Applications. Technical Report CS-07\u2013603, University of Tennessee.","journal-title":"Technical Report CS-07\u2013603, University of Tennessee"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3078468.3078480"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.5555\/2750482.2750489"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945450"},{"key":"e_1_3_2_49_2","unstructured":"Amazon Web Services. 2020. Amazon EC2 I3 Instances. Retrieved from https:\/\/aws.amazon.com\/ec2\/instance-types\/i3\/."},{"key":"e_1_3_2_50_2","volume-title":"Proceedings of the Storage Developer Conference","author":"Sharon Shachar","year":"2020","unstructured":"Shachar Sharon. 2020. PMEM file-system in user-space. In Proceedings of the Storage Developer Conference (SDC'20)."},{"key":"e_1_3_2_51_2","unstructured":"spec.org. 2017. SPEC SFS\u00ae2014. Retrieved from http:\/\/spec.org\/sfs2014\/."},{"issue":"1","key":"e_1_3_2_52_2","first-page":"6","article-title":"Filebench: A flexible framework for file system benchmarking","volume":"41","author":"Tarasov Vasily","year":"2016","unstructured":"Vasily Tarasov, Erez Zadok, and Spencer Shepler. 2016. Filebench: A flexible framework for file system benchmarking. login: The USENIX Magazine 41, 1 (2016), 6\u201312.","journal-title":"login: The USENIX Magazine"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.5555\/3202492"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.5555\/3189759.3189773"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.5555\/3129633.3129640"},{"key":"e_1_3_2_56_2","unstructured":"vmware. 2018. VMware vSAN 6.7 Technical Overview. https:\/\/storagehub.vmware.com\/static\/media\/65dde536-5a57-4226-87fd-1c08fd63516a.pdf."},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208465"},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/INFOCOM.2017.8056998"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.5555\/1298455.1298485"},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.5555\/3129633.3129653"},{"key":"e_1_3_2_61_2","unstructured":"XFS.org. 2013. XFS.org. https:\/\/xfs.org\/."},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.5555\/2750482.2750499"},{"key":"e_1_3_2_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/2757667.2757684"},{"key":"e_1_3_2_64_2","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489153"},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/2908557"},{"key":"e_1_3_2_66_2","doi-asserted-by":"publisher","DOI":"10.1145\/3365839"},{"key":"e_1_3_2_67_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323329"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3456292","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,2]],"date-time":"2023-01-02T00:18:56Z","timestamp":1672618736000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3456292"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,15]]},"references-count":65,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2021,11,30]]}},"alternative-id":["10.1145\/3456292"],"URL":"https:\/\/doi.org\/10.1145\/3456292","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,10,15]]},"assertion":[{"value":"2019-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-10-15","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}