{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,21]],"date-time":"2025-08-21T16:54:40Z","timestamp":1755795280077,"version":"3.44.0"},"reference-count":42,"publisher":"Oxford University Press (OUP)","issue":"8","license":[{"start":{"date-parts":[[2025,3,11]],"date-time":"2025-03-11T00:00:00Z","timestamp":1741651200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/academic.oup.com\/pages\/standard-publication-reuse-rights"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025,8,14]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>In data centers, the Storage Performance Development Kit (SPDK) para-virtualization architecture is an efficient solution for non-volatile memory express (NVMe) solid-state drive (SSD) virtualization but faces challenges in maintaining performance fairness and isolation due to storage resource competition among multi-tenants. However, the existing Quality of Service method in SPDK fails to ensure proportional I\/O sharing among multi-tenants. Providing fairness and isolation while maintaining high storage utilization in SPDK remains a challenge. In this paper, we propose BLFair to address this problem. Specifically, BLFair implements proportional I\/O sharing for multi-tenants in the SPDK. The design of BLFair can effectively reduce the high time complexity caused by the ordering and the overhead of maintaining the virtual clock. Moreover, BLFair allows for achieving a trade-off between proportional I\/O sharing and maximizing storage utilization. BLFair also uses the lockless ring mechanism to achieve scalability for cross-core operation. We have implemented a prototype system of BLFair in SPDK. Finally, we conduct evaluations with different workloads in both local storage and NVMe over RDMA fabric environments. The results show that our method can achieve fairness and scalability. BLFair can achieve up to 7.09x 99.99th latency reduction compared to the system with no fairness. Evaluation results in realistic workloads also show that BLFair outperforms other methods.<\/jats:p>","DOI":"10.1093\/comjnl\/bxaf016","type":"journal-article","created":{"date-parts":[[2025,2,12]],"date-time":"2025-02-12T23:18:53Z","timestamp":1739402333000},"page":"953-967","source":"Crossref","is-referenced-by-count":0,"title":["BLFair: enabling proportional I\/O sharing for NVMe SSD in SPDK para-virtualization architecture"],"prefix":"10.1093","volume":"68","author":[{"given":"Yanchang","family":"Feng","sequence":"first","affiliation":[{"name":"Institute of Information Engineering , Chinese Academy of Sciences, Beijing 100085,","place":["China"]},{"name":"School of Cyber Security , University of Chinese Academy of Sciences, Beijing 100049,","place":["China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Junchao","family":"Ma","sequence":"additional","affiliation":[{"name":"Institute of Information Engineering , Chinese Academy of Sciences, Beijing 100085,","place":["China"]},{"name":"School of Cyber Security , University of Chinese Academy of Sciences, Beijing 100049,","place":["China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Haojun","family":"Xia","sequence":"additional","affiliation":[{"name":"Institute of Information Engineering , Chinese Academy of Sciences, Beijing 100085,","place":["China"]},{"name":"School of Cyber Security , University of Chinese Academy of Sciences, Beijing 100049,","place":["China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Da","family":"Zhang","sequence":"additional","affiliation":[{"name":"Institute of Information Engineering , Chinese Academy of Sciences, Beijing 100085,","place":["China"]},{"name":"School of Cyber Security , University of Chinese Academy of Sciences, Beijing 100049,","place":["China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bibo","family":"Tu","sequence":"additional","affiliation":[{"name":"Institute of Information Engineering , Chinese Academy of Sciences, Beijing 100085,","place":["China"]},{"name":"School of Cyber Security , University of Chinese Academy of Sciences, Beijing 100049,","place":["China"]}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"286","published-online":{"date-parts":[[2025,3,11]]},"reference":[{"key":"2025081702470666500_ref1","doi-asserted-by":"crossref","first-page":"1797","DOI":"10.1109\/TPDS.2016.2625244","article-title":"Understanding big data analytics workloads on modern processors","volume":"28","author":"Jia","year":"2016","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"2025081702470666500_ref2","doi-asserted-by":"publisher","first-page":"777","DOI":"10.1093\/comjnl\/bxw092","article-title":"DROP: a new RAID architecture for enhancing shared RAID performance","volume":"60","author":"Wu","year":"2017","journal-title":"Comput J"},{"key":"2025081702470666500_ref3","first-page":"1","article-title":"Performance analysis of NVMe SSDs and their implication on real world databases","volume-title":"Proceedings of the 8th ACM International Systems and Storage Conference, Haifa, Israel, May 26-28, 2015","author":"Xu","year":"2015"},{"key":"2025081702470666500_ref4","first-page":"78","article-title":"On the optimality of the greedy garbage collection strategy for SSDs","volume-title":"2022 IEEE 42nd International Conference on Distributed Computing Systems, Bologna, Italy, July 10-13, 2022","author":"Althaus","year":"2022"},{"key":"2025081702470666500_ref5","doi-asserted-by":"publisher","first-page":"1433","DOI":"10.1093\/comjnl\/bxw006","article-title":"Improving I\/O performance through an in-kernel disk simulator","volume":"59","author":"Gonz\u00e1lez-F\u00e9rez","year":"2016","journal-title":"Comput J"},{"volume-title":"Nvm Express Specification","key":"2025081702470666500_ref6"},{"key":"2025081702470666500_ref7","first-page":"1","article-title":"A study of application performance with non-volatile main memory","volume-title":"2015 31st Symposium on Mass Storage Systems and Technologies, Santa Clara, CA, USA, June 1-5, 2015","author":"Zhang","year":"2015"},{"volume-title":"Virtio","key":"2025081702470666500_ref8"},{"key":"2025081702470666500_ref9","first-page":"1852","article-title":"Improving I\/O performance of NVMe SSD on virtual machines","volume-title":"Proceedings of the 31st Annual ACM Symposium on Applied Computing, Pisa, Italy, April 4-8, 2016","author":"Kim","year":"2016"},{"key":"2025081702470666500_ref10","first-page":"154","article-title":"SPDK: a development kit to build high performance storage applications","volume-title":"2017 IEEE International Conference on Cloud Computing Technology and Science, Hong Kong, China, December 11-14, 2017","author":"Yang","year":"2017"},{"key":"2025081702470666500_ref11","first-page":"665","article-title":"MDev-NVMe: a NVMe storage virtualization solution with mediated pass-through","volume-title":"2018 USENIX Annual Technical Conference, Boston, MA, USA, July 11\u201313, 2018","author":"Peng","year":"2018"},{"key":"2025081702470666500_ref12","first-page":"955","article-title":"FVM: FPGA-assisted virtual device emulation for fast, scalable, and flexible storage virtualization","volume-title":"2020 USENIX Symposium on Operating Systems Design and Implementation, Virtual Event, November 4\u20136, 2020","author":"Kwon","year":"2020"},{"key":"2025081702470666500_ref13","first-page":"483","article-title":"High-density multi-tenant bare-metal cloud","volume-title":"Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, Lausanne, Switzerland, March 16-20, 2020","author":"Zhang","year":"2020"},{"volume-title":"Baidu SPDK","key":"2025081702470666500_ref14"},{"key":"2025081702470666500_ref15","first-page":"97","article-title":"Spool: reliable virtualized $\\big \\{$NVMe$\\big \\}$ storage pool in public cloud infrastructure","volume-title":"2020 USENIX Annual Technical Conference, Virtual Event, July 15\u201317, 2020","author":"Xue","year":"2020"},{"volume-title":"The SPDK Performance Reports","key":"2025081702470666500_ref16"},{"key":"2025081702470666500_ref17","doi-asserted-by":"publisher","first-page":"690","DOI":"10.1109\/90.649569","article-title":"Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks","volume":"5","author":"Goyal","year":"1997","journal-title":"IEEE\/ACM Trans Netw"},{"key":"2025081702470666500_ref18","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1145\/1012888.1005694","article-title":"Interposed proportional sharing for a storage service utility","volume":"32","author":"Jin","year":"2004","journal-title":"ACM SIGMETRICS Perform Eval Rev"},{"key":"2025081702470666500_ref19","first-page":"301","article-title":"Multi-queue fair queuing","volume-title":"2019 USENIX Annual Technical Conference (USENIX ATC 19), Renton, WA, USA, July 10-12, 2019","author":"Hedayati","year":"2019"},{"key":"2025081702470666500_ref20","first-page":"125","article-title":"vFair: latency-aware fair storage scheduling via per-IO cost-based differentiation","volume-title":"Proceedings of the Sixth ACM Symposium on Cloud Computing, Kohala Coast, Hawaii, USA, August 27-29, 2015","author":"Lu","year":"2015"},{"key":"2025081702470666500_ref21","first-page":"67","article-title":"FlashFQ: a fair queueing I\/O scheduler for flash-based SSDs","volume-title":"2013 USENIX Annual Technical Conference, San Jose, CA, USA, June 26-28, 2013","author":"Shen","year":"2013"},{"author":"Control Group V2","key":"2025081702470666500_ref22"},{"key":"2025081702470666500_ref23","first-page":"403","article-title":"D2FQ: device-direct fair queueing for NVMe SSDs","volume-title":"2021 USENIX Conference on File and Storage Technologies, Virtual Event, February 23\u201325, 2021","author":"Woo","year":"2021"},{"key":"2025081702470666500_ref24","first-page":"22","article-title":"Enabling NVMe WRR support in Linux block layer","volume-title":"2017 USENIX Workshop on Hot Topics in Storage and File Systems, Santa Clara, CA, USA, July 10\u201311, 2017","author":"Joshi","year":"2017"},{"key":"2025081702470666500_ref25","first-page":"1184","article-title":"Parallelism and garbage collection aware I\/O scheduler with improved SSD performance","volume-title":"2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS), Orlando, FL, USA, May 29 - June 02, 2017","author":"Guo","year":"2017"},{"key":"2025081702470666500_ref26","doi-asserted-by":"publisher","first-page":"1220","DOI":"10.1145\/63039.63045","article-title":"Calendar queues: a fast O(1) priority queue implementation for the simulation event set problem","volume":"31","author":"Brown","year":"1988","journal-title":"Commun ACM"},{"volume-title":"What Is SPDK","key":"2025081702470666500_ref27"},{"volume-title":"QEMU","key":"2025081702470666500_ref28"},{"key":"2025081702470666500_ref29","first-page":"785","article-title":"LPNS: scalable and latency-predictable local storage virtualization for unpredictable NVMe SSDs in clouds","volume-title":"2023 USENIX Annual Technical Conference, Boston, MA, USA, July 10\u201312, 2023","author":"Peng","year":"2023"},{"key":"2025081702470666500_ref30","first-page":"685","article-title":"Programmable calendar queues for high-speed packet scheduling","volume-title":"2020 USENIX Symposium on Networked Systems Design and Implementation, Santa Clara, CA, USA, February 25\u201327","author":"Sharma","year":"2020"},{"key":"2025081702470666500_ref31","first-page":"551","article-title":"Gearbox: a hierarchical packet scheduler for approximate weighted fair queuing","volume-title":"2022 USENIX Symposium on Networked Systems Design and Implementation, Renton, WA, USA, April 4\u20136, 2022","author":"Gao","year":"2022"},{"author":"NVMe namespace","key":"2025081702470666500_ref32"},{"key":"2025081702470666500_ref33","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/75247.75248","article-title":"Analysis and simulation of a fair queueing algorithm","volume":"19","author":"Demers","year":"1989","journal-title":"ACM SIGCOMM Comput Commun Rev"},{"key":"2025081702470666500_ref34","first-page":"2083","article-title":"Enhancing proportional IO sharing on containerized big data file systems","volume":"70","author":"Huang","year":"2020","journal-title":"IEEE Trans Comput"},{"key":"2025081702470666500_ref35","first-page":"85","article-title":"PARDA: proportional allocation of resources for distributed storage access","volume-title":"2009 USENIX Conference on File and Storage Technologies, San Francisco, CA, USA, February 24-27, 2009","author":"Ajay","year":"2009"},{"author":"DPDK Ring Library","key":"2025081702470666500_ref36"},{"author":"InfluxDB","key":"2025081702470666500_ref37"},{"key":"2025081702470666500_ref38","doi-asserted-by":"publisher","first-page":"74","DOI":"10.1093\/comjnl\/bxx038","article-title":"On the interplay between throughput, fairness and energy efficiency on asymmetric multicore processors","volume":"61","author":"Saez","year":"2018","journal-title":"Comput J"},{"key":"2025081702470666500_ref39","first-page":"51","article-title":"Linux block IO\u2014present and future","volume-title":"Ottawa Linux Symposium, Ottawa, Ontario, Canada, July 21\u201324, 2004","author":"Axboe","year":"2004"},{"key":"2025081702470666500_ref40","first-page":"15","article-title":"Evolution of the BFQ storage-I\/O scheduler","volume-title":"2015 Mobile Systems Technologies Workshop, Milan, Italy, May 22, 2015","author":"Valente","year":"2015"},{"key":"2025081702470666500_ref41","first-page":"61","article-title":"Argon: performance insulation for shared storage servers","volume-title":"2007 USENIX Conference on File and Storage Technologies, San Jose, CA, USA, February 24-27, 2007","author":"Wachs","year":"2007"},{"key":"2025081702470666500_ref42","first-page":"397","article-title":"FLIN: enabling fairness and enhancing performance in modern NVMe solid state drives","volume-title":"2018 ACM\/IEEE 45th Annual International Symposium on Computer Architecture, Los Angeles, CA, USA, June 1-6, 2018","author":"Tavakkol","year":"2018"}],"container-title":["The Computer Journal"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/academic.oup.com\/comjnl\/article-pdf\/68\/8\/953\/62370398\/bxaf016.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/academic.oup.com\/comjnl\/article-pdf\/68\/8\/953\/62370398\/bxaf016.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,17]],"date-time":"2025-08-17T06:47:19Z","timestamp":1755413239000},"score":1,"resource":{"primary":{"URL":"https:\/\/academic.oup.com\/comjnl\/article\/68\/8\/953\/8069015"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,3,11]]},"references-count":42,"journal-issue":{"issue":"8","published-online":{"date-parts":[[2025,3,11]]},"published-print":{"date-parts":[[2025,8,14]]}},"URL":"https:\/\/doi.org\/10.1093\/comjnl\/bxaf016","relation":{},"ISSN":["0010-4620","1460-2067"],"issn-type":[{"type":"print","value":"0010-4620"},{"type":"electronic","value":"1460-2067"}],"subject":[],"published-other":{"date-parts":[[2025,8]]},"published":{"date-parts":[[2025,3,11]]}}}