{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:32:28Z","timestamp":1750221148592,"version":"3.41.0"},"reference-count":101,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2018,11,30]],"date-time":"2018-11-30T00:00:00Z","timestamp":1543536000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2018,11,30]]},"abstract":"<jats:p>During the past decade, network and storage devices have undergone rapid performance improvements, delivering ultra-low latency and several Gbps of bandwidth. Nevertheless, current network and storage stacks fail to deliver this hardware performance to the applications, often due to the loss of I\/O efficiency from stalled CPU performance. While many efforts attempt to address this issue solely on either the network or the storage stack, achieving high-performance for networked-storage applications requires a holistic approach that considers both.<\/jats:p>\n          <jats:p>\n            In this article, we present FlashNet, a software I\/O stack that unifies high-performance network properties with flash storage access and management. FlashNet builds on RDMA principles and abstractions to provide a direct, asynchronous, end-to-end data path between a client and remote flash storage. The key insight behind FlashNet is to\n            <jats:italic>co-design<\/jats:italic>\n            the stack\u2019s components (an RDMA controller, a flash controller, and a file system) to enable cross-stack optimizations and maximize I\/O efficiency. In micro-benchmarks, FlashNet improves 4kB network I\/O operations per second (IOPS by 38.6% to 1.22M, decreases access latency by 43.5% to 50.4\u03bcs, and prolongs the flash lifetime by 1.6-5.9\u00d7 for writes. We illustrate the capabilities of FlashNet by building a Key-Value store and porting a distributed data store that uses RDMA on it. The use of FlashNet\u2019s RDMA API improves the performance of KV store by 2\u00d7 and requires minimum changes for the ported data store to access remote flash devices.\n          <\/jats:p>","DOI":"10.1145\/3239562","type":"journal-article","created":{"date-parts":[[2018,12,4]],"date-time":"2018-12-04T15:32:40Z","timestamp":1543937560000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["FlashNet"],"prefix":"10.1145","volume":"14","author":[{"given":"Animesh","family":"Trivedi","sequence":"first","affiliation":[{"name":"IBM Research, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nikolas","family":"Ioannou","sequence":"additional","affiliation":[{"name":"IBM Research, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bernard","family":"Metzler","sequence":"additional","affiliation":[{"name":"IBM Research, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Patrick","family":"Stuedi","sequence":"additional","affiliation":[{"name":"IBM Research, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jonas","family":"Pfefferle","sequence":"additional","affiliation":[{"name":"IBM Research, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kornilios","family":"Kourtis","sequence":"additional","affiliation":[{"name":"IBM Research, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ioannis","family":"Koltsidas","sequence":"additional","affiliation":[{"name":"Google, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas R.","family":"Gross","sequence":"additional","affiliation":[{"name":"ETH Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,12,4]]},"reference":[{"volume-title":"RDMA communication manager API. Retrieved","year":"2018","key":"e_1_2_1_1_1"},{"volume-title":"Proceedings of the 2011 USENIX Conference (USENIX ATC\u201911)","year":"2011","author":"Ahmad Irfan","key":"e_1_2_1_2_1"},{"volume-title":"Retrieved","year":"2018","author":"Axboe Jens","key":"e_1_2_1_3_1"},{"volume-title":"Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201912)","author":"Balakrishnan Mahesh","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3015146"},{"volume-title":"Donard: NVM Express for Peer-2-Peer between SSDs and other PCIe Devices. Retrieved","year":"2015","author":"Bates Stephen","key":"e_1_2_1_6_1"},{"volume-title":"Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201914)","year":"2014","author":"Belay Adam","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485732.2485740"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/191995.192024"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/238721.238784"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151017"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485962"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/944747.944754"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1374596.1374599"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1027794.1027801"},{"volume-title":"Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST\u201914)","year":"2014","author":"Cully Brendan","key":"e_1_2_1_16_1"},{"volume-title":"Proceedings of the 2nd USENIX Conference on File and Storage Technologies (FAST\u201903)","year":"2003","author":"DeBergalis Matt","key":"e_1_2_1_17_1"},{"volume-title":"RDMA with PMEM: Software mechanisms for enabling access to remote persistent memory. Retrieved","year":"2018","author":"Douglas Chet","key":"e_1_2_1_18_1"},{"volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","year":"2014","author":"Dragojevi\u0107 Aleksandar","key":"e_1_2_1_19_1"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815425"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224076"},{"key":"e_1_2_1_22_1","doi-asserted-by":"crossref","unstructured":"Roman Pletka et al. 2018. Management of next-generation NAND flash to achieve enterprise-level endurance and latency targets (unpublshed).  Roman Pletka et al. 2018. Management of next-generation NAND flash to achieve enterprise-level endurance and latency targets (unpublshed).","DOI":"10.1145\/3241060"},{"volume-title":"Fitch et al","year":"2013","author":"Blake","key":"e_1_2_1_23_1"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2009.32"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/291069.291029"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/258612.258696"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3078468.3078483"},{"volume-title":"Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201912)","year":"2012","author":"Han Sangjin","key":"e_1_2_1_29_1"},{"volume-title":"Retrieved","year":"2018","author":"Hat Red","key":"e_1_2_1_30_1"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-87779-0_24"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2005.14"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/2831090.2831098"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2011.50"},{"volume-title":"NVM Express over Fabrics Specification 1.0. Retrieved","year":"2018","author":"NVM Express Inc. 2016.","key":"e_1_2_1_35_1"},{"volume-title":"Retrieved","year":"2018","author":"Solarflare Communications Inc. 2018. OpenOnload.","key":"e_1_2_1_36_1"},{"volume-title":"A High-Performance Distributed Data Store for the Apache Ecosystem. Retrieved","year":"2018","author":"Apache Crail","key":"e_1_2_1_37_1"},{"volume-title":"DPDK: Data Plane Development Kit. Retrieved","year":"2018","key":"e_1_2_1_38_1"},{"volume-title":"Intel Optane SSD 900P Series. Retrieved","year":"2018","key":"e_1_2_1_39_1"},{"volume-title":"Intel\u2019s 3D XPoint Technology Products\u2014What\u2019s Available and What\u2019s Coming Soon. Retrieved","year":"2018","key":"e_1_2_1_40_1"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2018.00035"},{"volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","year":"2014","author":"Jeong Eun Young","key":"e_1_2_1_42_1"},{"volume":"4","volume-title":"Proceedings of the 4th Conference on USENIX Conference on File and Storage Technologies -","author":"Joglekar Abhijeet","key":"e_1_2_1_43_1"},{"volume-title":"All-Flash Enterprise Storage. Retrieved","year":"2018","author":"Johnson Scott M.","key":"e_1_2_1_44_1"},{"volume-title":"Netperf: A network performance benchmark. Retrieved","year":"2018","author":"Rick Jones","key":"e_1_2_1_45_1"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/1855511.1855518"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266644"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619239.2626299"},{"volume-title":"Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201916)","author":"Kalia Anuj","key":"e_1_2_1_49_1"},{"volume-title":"Proceedings of the 8th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage\u201916)","year":"2016","author":"Kim Hyeong-Jun","key":"e_1_2_1_50_1"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901318.2901337"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037732"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/365628.365655"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10586-009-0106-y"},{"volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","year":"2015","author":"Lee Changman","key":"e_1_2_1_55_1"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/237090.237157"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930609"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037710"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/NAS.2009.58"},{"volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","year":"2014","author":"Lim Hyeontaek","key":"e_1_2_1_60_1"},{"volume-title":"Proceedings of the IEEE International Conference on Big Data. 253--262","author":"Lu Xiaoyi","key":"e_1_2_1_61_1"},{"volume-title":"Proceedings of the 2nd USENIX Conference on File and Storage Technologies (FAST\u201903)","author":"Magoutis Kostas","key":"e_1_2_1_62_1"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.5555\/647057.713868"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619239.2626311"},{"volume-title":"SoftiWARP: Software iWARP kernel driver and user library for Linux. Retrieved","year":"2018","author":"Metzler Bernard","key":"e_1_2_1_65_1"},{"volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","year":"2014","author":"Mickens James","key":"e_1_2_1_66_1"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.5555\/2535461.2535475"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814342"},{"volume-title":"Implementing NVMe over Fabrics. Retrieved","year":"2018","author":"Noureddine Wael","key":"e_1_2_1_69_1"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/2806887"},{"volume-title":"Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI\u201999)","year":"1999","author":"Pai Vivek S.","key":"e_1_2_1_71_1"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168870"},{"volume-title":"Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201914)","year":"2014","author":"Peter Simon","key":"e_1_2_1_73_1"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/2731186.2731200"},{"volume-title":"Proceedings of the 2012 USENIX Conference on Annual Technical Conference (USENIX ATC\u201912)","year":"2012","author":"Rizzo Luigi","key":"e_1_2_1_75_1"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-07518-1_21"},{"volume-title":"Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201914)","year":"2014","author":"Seshadri Sudharsan","key":"e_1_2_1_78_1"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/3127479.3128610"},{"volume-title":"Proceedings of the 5th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage\u201913)","author":"Shin Dong In","key":"e_1_2_1_80_1"},{"volume-title":"Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference (USENIX ATC\u201914)","author":"Shin Woong","key":"e_1_2_1_81_1"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.14778\/3007263.3007276"},{"volume-title":"Proceedings of the 2012 USENIX Conference on Annual Technical Conference (USENIX ATC\u201912)","year":"2012","author":"Stuedi Patrick","key":"e_1_2_1_83_1"},{"key":"e_1_2_1_84_1","first-page":"1","article-title":"Crail: A high-performance I\/O architecture for distributed data processing","volume":"40","author":"Stuedi Patrick","year":"2017","journal-title":"IEEE Bull. Techn. Committee on Data Eng."},{"volume-title":"Native Flash Support for Applications. Retrieved","year":"2018","author":"Talagala Nisha","key":"e_1_2_1_85_1"},{"volume-title":"Remote Access to Ultra-low Latency Storage. Retrieved","year":"2018","author":"Talpey Tom","key":"e_1_2_1_86_1"},{"volume-title":"RDMA Aware Networks Programming User Manual. Retrieved","year":"2018","author":"Technologies Mellanox","key":"e_1_2_1_87_1"},{"volume-title":"Software RDMA over Converged Ethernet (RoCE). Retrieved","year":"2018","author":"Technologies Mellanox","key":"e_1_2_1_88_1"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103799.2103820"},{"volume-title":"Proceedings of the 35th IEEE International Conference on Distributed Computing Systems (ICDCS\u201915)","author":"Trivedi Animesh","key":"e_1_2_1_90_1"},{"volume-title":"Proceedings of the 14th USENIX Conference on Hot Topics in Operating Systems (HotOS\u201913)","author":"Trivedi Animesh","key":"e_1_2_1_91_1"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132762"},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224061"},{"key":"e_1_2_1_94_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815419"},{"volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","author":"Weiss Zev","key":"e_1_2_1_95_1"},{"key":"e_1_2_1_96_1","doi-asserted-by":"publisher","DOI":"10.5555\/1364813.1364815"},{"key":"e_1_2_1_97_1","volume-title":"Hadoop: The Definitive Guide","author":"White Tom","year":"2009","edition":"1"},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2005.23"},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1145\/2757667.2757684"},{"key":"e_1_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208464"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1145\/3098583.3098591"},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694370"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3239562","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3239562","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:08:20Z","timestamp":1750208900000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3239562"}},"subtitle":["Flash\/Network Stack Co-Design"],"short-title":[],"issued":{"date-parts":[[2018,11,30]]},"references-count":101,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,11,30]]}},"alternative-id":["10.1145\/3239562"],"URL":"https:\/\/doi.org\/10.1145\/3239562","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"type":"print","value":"1553-3077"},{"type":"electronic","value":"1553-3093"}],"subject":[],"published":{"date-parts":[[2018,11,30]]},"assertion":[{"value":"2018-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-12-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}