{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,5]],"date-time":"2026-08-05T18:01:06Z","timestamp":1785952866743,"version":"3.56.0"},"reference-count":51,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2015,11,2]],"date-time":"2015-11-02T00:00:00Z","timestamp":1446422400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"NetApp, Google, and the National Science Foundation"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2016,1,4]]},"abstract":"<jats:p>Recent device hardware trends enable a new approach to the design of network server operating systems. In a traditional operating system, the kernel mediates access to device hardware by server applications to enforce process isolation as well as network and disk security. We have designed and implemented a new operating system, Arrakis, that splits the traditional role of the kernel in two. Applications have direct access to virtualized I\/O devices, allowing most I\/O operations to skip the kernel entirely, while the kernel is re-engineered to provide network and disk protection without kernel mediation of every operation. We describe the hardware and software changes needed to take advantage of this new abstraction, and we illustrate its power by showing improvements of 2 to 5 \u00d7 in latency and 9 \u00d7 throughput for a popular persistent NoSQL store relative to a well-tuned Linux implementation.<\/jats:p>","DOI":"10.1145\/2812806","type":"journal-article","created":{"date-parts":[[2015,11,2]],"date-time":"2015-11-02T17:09:35Z","timestamp":1446484175000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":90,"title":["Arrakis"],"prefix":"10.1145","volume":"33","author":[{"given":"Simon","family":"Peter","sequence":"first","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jialin","family":"Li","sequence":"additional","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Irene","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Dan R. K.","family":"Ports","sequence":"additional","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Doug","family":"Woos","sequence":"additional","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Arvind","family":"Krishnamurthy","sequence":"additional","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Thomas","family":"Anderson","sequence":"additional","affiliation":[{"name":"University of Washington, Seattle, WA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Timothy","family":"Roscoe","sequence":"additional","affiliation":[{"name":"ETH Zurich, Z\u00fcrich"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2015,11,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1535\/itj.1003.02"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254756.2254766"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation.","author":"Banga Gaurav","unstructured":"Gaurav Banga , Peter Druschel , and Jeffrey C. Mogul . 1999. Resource containers: A new facility for resource management in server systems . In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation. Gaurav Banga, Peter Druschel, and Jeffrey C. Mogul. 1999. Resource containers: A new facility for resource management in server systems. In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945462"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation.","author":"Belay Adam","year":"2012","unstructured":"Adam Belay , Andrea Bittau , Ali Mashtizadeh , David Terei , David Mazi\u00e8res , and Christos Kozyrakis . 2012 . Dune: Safe user-level access to privileged CPU features . In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation. Adam Belay, Andrea Bittau, Ali Mashtizadeh, David Terei, David Mazi\u00e8res, and Christos Kozyrakis. 2012. Dune: Safe user-level access to privileged CPU features. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation.","author":"Belay Adam","year":"2014","unstructured":"Adam Belay , George Prekas , Ana Klimovic , Samuel Grossman , Christos Kozyrakis , and Edouard Bugnion . 2014 . IX: A protected dataplane operating system for high throughput and low latency . In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation. Adam Belay, George Prekas, Ana Klimovic, Samuel Grossman, Christos Kozyrakis, and Edouard Bugnion. 2014. IX: A protected dataplane operating system for high throughput and low latency. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/355602.361306"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224077"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/648046.745222"},{"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\/2517349.2522726"},{"key":"e_1_2_1_13_1","unstructured":"Compaq Computer Corp. Intel Corporation and Microsoft Corporation. 1997. Virtual Interface Architecture Specification (version 1.0 ed.).  Compaq Computer Corp. Intel Corporation and Microsoft Corporation. 1997. Virtual Interface Architecture Specification (version 1.0 ed.)."},{"key":"e_1_2_1_14_1","unstructured":"RDMA Consortium. 2009. Architectural Specifications for RDMA over TCP\/IP. Retrieved from http:\/\/www.rdmaconsortium.org\/.  RDMA Consortium. 2009. Architectural Specifications for RDMA over TCP\/IP. Retrieved from http:\/\/www.rdmaconsortium.org\/."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2408776.2408794"},{"key":"e_1_2_1_16_1","unstructured":"Martin Devera. 2002. HTB Linux queuing discipline manual -- User Guide. Retrieved from http:\/\/luxik.cdi.cz\/ devik\/qos\/htb\/userg.pdf.  Martin Devera. 2002. HTB Linux queuing discipline manual -- User Guide. Retrieved from http:\/\/luxik.cdi.cz\/ devik\/qos\/htb\/userg.pdf."},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation.","author":"Dragojevi\u0107 Aleksandar","year":"2014","unstructured":"Aleksandar Dragojevi\u0107 , Dushyanth Narayanan , Miguel Castro , and Orion Hodson . 2014 . FaRM: Fast remote memory . In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation. Aleksandar Dragojevi\u0107, Dushyanth Narayanan, Miguel Castro, and Orion Hodson. 2014. FaRM: Fast remote memory. In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/190314.190315"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592814"},{"key":"e_1_2_1_20_1","unstructured":"Fusion-IO. 2014. ioDrive2 and ioDrive2 Duo Multi Level Cell. Fusion-IO. Product Datasheet. Retrieved from http:\/\/www.fusionio.com\/load\/-media-\/2rezss\/docsLibrary\/FIO_DS_ioDrive2.pdf.  Fusion-IO. 2014. ioDrive2 and ioDrive2 Duo Multi Level Cell. Fusion-IO. Product Datasheet. Retrieved from http:\/\/www.fusionio.com\/load\/-media-\/2rezss\/docsLibrary\/FIO_DS_ioDrive2.pdf."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/505452.505455"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151020"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2018436.2018442"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation.","author":"Han Sangjin","year":"2012","unstructured":"Sangjin Han , Scott Marshall , Byung-Gon Chun , and Sylvia Ratnasamy . 2012 . MegaPipe: A new programming interface for scalable network I\/O . In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation. Sangjin Han, Scott Marshall, Byung-Gon Chun, and Sylvia Ratnasamy. 2012. MegaPipe: A new programming interface for scalable network I\/O. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043564"},{"key":"e_1_2_1_26_1","unstructured":"Bert Hubert. 2009. Linux Advanced Routing & Traffic Control HOWTO. Retrieved from http:\/\/www.lartc.org\/howto\/.  Bert Hubert. 2009. Linux Advanced Routing & Traffic Control HOWTO. Retrieved from http:\/\/www.lartc.org\/howto\/."},{"key":"e_1_2_1_27_1","unstructured":"Infiniband Trade Organization. 2010. Introduction to Infiniband for End Users. Retrieved from https:\/\/cw.infinibandta.org\/document\/dl\/7268.  Infiniband Trade Organization. 2010. Introduction to Infiniband for End Users. Retrieved from https:\/\/cw.infinibandta.org\/document\/dl\/7268."},{"key":"e_1_2_1_28_1","unstructured":"Intel Corporation. 2010. Intel 82599 10 GbE Controller Datasheet. Revision 2.6. Retrieved from http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/datasheets\/82599-10-gbe-controller-datasheet.pdf.  Intel Corporation. 2010. Intel 82599 10 GbE Controller Datasheet. Revision 2.6. Retrieved from http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/datasheets\/82599-10-gbe-controller-datasheet.pdf."},{"key":"e_1_2_1_29_1","first-page":"326003","article-title":"Intel Data Plane Development Kit (Intel DPDK) Programmer's Guide. Intel Corporation","author":"Intel Corporation","year":"2013","unstructured":"Intel Corporation . 2013 a. Intel Data Plane Development Kit (Intel DPDK) Programmer's Guide. Intel Corporation . Reference Number : 326003 - 326003 . Intel Corporation. 2013a. Intel Data Plane Development Kit (Intel DPDK) Programmer's Guide. Intel Corporation. Reference Number: 326003-003.","journal-title":"Reference Number"},{"key":"e_1_2_1_30_1","volume-title":"Intel RAID Controllers RS3DC080 and RS3DC040","author":"Intel Corporation 2013b.","unstructured":"Intel Corporation 2013b. Intel RAID Controllers RS3DC080 and RS3DC040 . Intel Corporation . Product Brief. http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/product-briefs\/raid-controller-rs3dc-brief.pdf. Intel Corporation 2013b. Intel RAID Controllers RS3DC080 and RS3DC040. Intel Corporation. Product Brief. http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/product-briefs\/raid-controller-rs3dc-brief.pdf."},{"key":"e_1_2_1_32_1","unstructured":"Intel Corporation. 2013d. NVM Express (revision 1.1a ed.). Intel Corporation. http:\/\/www.nvmexpress.org\/wp-content\/uploads\/NVM-Express-1_1a.pdf.  Intel Corporation. 2013d. NVM Express (revision 1.1a ed.). Intel Corporation. http:\/\/www.nvmexpress.org\/wp-content\/uploads\/NVM-Express-1_1a.pdf."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation.","author":"Jeong EunYoung","year":"2014","unstructured":"EunYoung Jeong , Shinae Woo , Muhammad Jamshed , Haewon Jeongand Sunghwan Ihm , Dongsu Han , and KyoungSoo Park . 2014 . mTCP: A highly scalable user-level TCP stack for multicore systems . In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation. EunYoung Jeong, Shinae Woo, Muhammad Jamshed, Haewon Jeongand Sunghwan Ihm, Dongsu Han, and KyoungSoo Park. 2014. mTCP: A highly scalable user-level TCP stack for multicore systems. In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1837915.1837922"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 15th Workshop on Hot Topics in Operating Systems.","author":"Kaufmann Antoine","year":"2015","unstructured":"Antoine Kaufmann , Simon Peter , Thomas E. Anderson , and Arvind Krishnamurthy . 2015 . FlexNIC: Rethinking network DMA . In Proceedings of the 15th Workshop on Hot Topics in Operating Systems. Antoine Kaufmann, Simon Peter, Thomas E. Anderson, and Arvind Krishnamurthy. 2015. FlexNIC: Rethinking network DMA. In Proceedings of the 15th Workshop on Hot Topics in Operating Systems."},{"key":"e_1_2_1_36_1","volume-title":"PCI-SIG SR-IOV primer: An introduction to SR-IOV technology. Intel Application Note 321211--002 (Jan","author":"Kutch P.","year":"2011","unstructured":"P. Kutch . 2011. PCI-SIG SR-IOV primer: An introduction to SR-IOV technology. Intel Application Note 321211--002 (Jan . 2011 ). P. Kutch. 2011. PCI-SIG SR-IOV primer: An introduction to SR-IOV technology. Intel Application Note 321211--002 (Jan. 2011)."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/49.536480"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2670979.2670988"},{"key":"e_1_2_1_39_1","volume-title":"LSISAS2308 PCI Express to 8-Port 6Gb\/s SAS\/SATA Controller","author":"LSI Corporation 2010.","unstructured":"LSI Corporation 2010. LSISAS2308 PCI Express to 8-Port 6Gb\/s SAS\/SATA Controller . LSI Corporation . Product Brief. Retrieved from http:\/\/www.lsi.com\/downloads\/Public\/SAS&percnt;20ICs\/LSI_PB_SAS2308.pdf. LSI Corporation 2010. LSISAS2308 PCI Express to 8-Port 6Gb\/s SAS\/SATA Controller. LSI Corporation. Product Brief. Retrieved from http:\/\/www.lsi.com\/downloads\/Public\/SAS&percnt;20ICs\/LSI_PB_SAS2308.pdf."},{"key":"e_1_2_1_40_1","volume-title":"LSISAS3008 PCI Express to 8-Port 12Gb\/s SAS\/SATA Controller","author":"LSI Corporation 2014.","unstructured":"LSI Corporation 2014. LSISAS3008 PCI Express to 8-Port 12Gb\/s SAS\/SATA Controller . LSI Corporation . Product Brief. http:\/\/www.lsi.com\/downloads\/Public\/SAS&percnt;20ICs\/LSI_PB_SAS3008.pdf. LSI Corporation 2014. LSISAS3008 PCI Express to 8-Port 12Gb\/s SAS\/SATA Controller. LSI Corporation. Product Brief. http:\/\/www.lsi.com\/downloads\/Public\/SAS&percnt;20ICs\/LSI_PB_SAS3008.pdf."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619239.2626311"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/238721.238771"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation.","author":"Pai Vivek S.","year":"1999","unstructured":"Vivek S. Pai , Peter Druschel , and Willy Zwanepoel . 1999 . IO-Lite: A unified I\/O buffering and caching system . In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation. Vivek S. Pai, Peter Druschel, and Willy Zwanepoel. 1999. IO-Lite: A unified I\/O buffering and caching system. In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168870"},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation.","author":"Radhakrishnan Sivasankar","year":"2014","unstructured":"Sivasankar Radhakrishnan , Yilong Geng , Vimalkumar Jeyakumar , Abdul Kabbani , George Porter , and Amin Vahdat . 2014 . SENIC: Scalable NIC for end-host rate limiting . In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation. Sivasankar Radhakrishnan, Yilong Geng, Vimalkumar Jeyakumar, Abdul Kabbani, George Porter, and Amin Vahdat. 2014. SENIC: Scalable NIC for end-host rate limiting. In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1282380.1282419"},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the USENIX Annual Technical Conference.","author":"Rizzo Luigi","year":"2012","unstructured":"Luigi Rizzo . 2012 . Netmap: A novel framework for fast packet I\/O . In Proceedings of the USENIX Annual Technical Conference. Luigi Rizzo. 2012. Netmap: A novel framework for fast packet I\/O. In Proceedings of the USENIX Annual Technical Conference."},{"key":"e_1_2_1_48_1","unstructured":"Jim Roskind. 2013. Experimenting with QUIC. Retrieved from http:\/\/blog.chromium.org\/2013\/06\/experimenting-with-quic.html.  Jim Roskind. 2013. Experimenting with QUIC. Retrieved from http:\/\/blog.chromium.org\/2013\/06\/experimenting-with-quic.html."},{"key":"e_1_2_1_49_1","unstructured":"Solarflare Communications Inc. 2010. .Solarflare SFN5122F Dual-Port 10GbE Enterprise Server Adapter. Retrieved from http:\/\/www.solarflare.com\/Content\/UserFiles\/Documents\/Solarflare_SFN5122F_10GbE_Adapter_Brief.pdf.  Solarflare Communications Inc. 2010. .Solarflare SFN5122F Dual-Port 10GbE Enterprise Server Adapter. Retrieved from http:\/\/www.solarflare.com\/Content\/UserFiles\/Documents\/Solarflare_SFN5122F_10GbE_Adapter_Brief.pdf."},{"key":"e_1_2_1_50_1","volume-title":"Proceedings of the 14th Workshop on Hot Topics in Operating Systems.","author":"Trivedi Animesh","unstructured":"Animesh Trivedi , Patrick Stuedi , Bernard Metzler , Roman Pletka , Blake G. Fitch , and Thomas R. Gross . 2013. Unified high-performance I\/O: One stack to rule them all . In Proceedings of the 14th Workshop on Hot Topics in Operating Systems. Animesh Trivedi, Patrick Stuedi, Bernard Metzler, Roman Pletka, Blake G. Fitch, and Thomas R. Gross. 2013. Unified high-performance I\/O: One stack to rule them all. In Proceedings of the 14th Workshop on Hot Topics in Operating Systems."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592810"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224061"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2812806","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2812806","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:07:32Z","timestamp":1750223252000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2812806"}},"subtitle":["The Operating System Is the Control Plane"],"short-title":[],"issued":{"date-parts":[[2015,11,2]]},"references-count":51,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2016,1,4]]}},"alternative-id":["10.1145\/2812806"],"URL":"https:\/\/doi.org\/10.1145\/2812806","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,11,2]]},"assertion":[{"value":"2015-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-11-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}