{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,15]],"date-time":"2026-04-15T23:27:52Z","timestamp":1776295672047,"version":"3.50.1"},"reference-count":93,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,12,9]],"date-time":"2017-12-09T00:00:00Z","timestamp":1512777600000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["CNS-1422088"],"award-info":[{"award-number":["CNS-1422088"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Google research grant"},{"name":"Stanford Experimental Datacenter Lab"},{"name":"Google Graduate Research Fellowship and Adam Belay by a VMware Graduate Fellowship"},{"name":"Microsoft-EPFL Joint Research Center"},{"name":"DARPA CRASH","award":["#N66001-10-2-4088"],"award-info":[{"award-number":["#N66001-10-2-4088"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2017,1,16]]},"abstract":"<jats:p>\n                    The conventional wisdom is that aggressive networking requirements, such as high packet rates for small messages and \u03bcs-scale tail latency, are best addressed outside the kernel, in a user-level networking stack. We present\n                    <jats:sc>ix<\/jats:sc>\n                    , a dataplane operating system that provides high I\/O performance and high resource efficiency while maintaining the protection and isolation benefits of existing kernels.\n                  <\/jats:p>\n                  <jats:p>\n                    <jats:sc>ix<\/jats:sc>\n                    uses hardware virtualization to separate management and scheduling functions of the kernel (control plane) from network processing (dataplane). The dataplane architecture builds upon a native, zero-copy API and optimizes for both bandwidth and latency by dedicating hardware threads and networking queues to dataplane instances, processing bounded batches of packets to completion, and eliminating coherence traffic and multicore synchronization. The control plane dynamically adjusts core allocations and voltage\/frequency settings to meet service-level objectives.\n                  <\/jats:p>\n                  <jats:p>\n                    We demonstrate that\n                    <jats:sc>ix<\/jats:sc>\n                    outperforms Linux and a user-space network stack significantly in both throughput and end-to-end latency. Moreover,\n                    <jats:sc>ix<\/jats:sc>\n                    improves the throughput of a widely deployed, key-value store by up to 6.4\u00d7 and reduces tail latency by more than 2\u00d7 . With three varying load patterns, the control plane saves 46%--54% of processor energy, and it allows background jobs to run at 35%--47% of their standalone throughput.\n                  <\/jats:p>","DOI":"10.1145\/2997641","type":"journal-article","created":{"date-parts":[[2016,12,9]],"date-time":"2016-12-09T12:26:14Z","timestamp":1481286374000},"page":"1-39","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":45,"title":["The IX Operating System"],"prefix":"10.1145","volume":"34","author":[{"given":"Adam","family":"Belay","sequence":"first","affiliation":[{"name":"Stanford, CA"}]},{"given":"George","family":"Prekas","sequence":"additional","affiliation":[{"name":"EPFL, Lausanne, Switzerland"}]},{"given":"Mia","family":"Primorac","sequence":"additional","affiliation":[{"name":"EPFL, Lausanne, Switzerland"}]},{"given":"Ana","family":"Klimovic","sequence":"additional","affiliation":[{"name":"Stanford, CA"}]},{"given":"Samuel","family":"Grossman","sequence":"additional","affiliation":[{"name":"Stanford, CA"}]},{"given":"Christos","family":"Kozyrakis","sequence":"additional","affiliation":[{"name":"Stanford, CA"}]},{"given":"Edouard","family":"Bugnion","sequence":"additional","affiliation":[{"name":"EPFL, Lausanne, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2016,12,9]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1851182.1851192"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146944"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254756.2254766"},{"key":"e_1_2_1_4_1","unstructured":"Luiz Andre Barroso. 2014. Three things that must be done to save the data center of the future (ISSCC 2014 Keynote). http:\/\/www.theregister.co.uk\/Print\/2014\/02\/11\/google_research_three_things_that_must_be_done_to_save_the_data_center_of_the_future\/."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/2534500"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2007.443"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485943"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/2387880.2387913"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685053"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSAC.2004.3"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265930"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2382553.2382554"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/1268299.1268320"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522712"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522714"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2408776.2408794"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2014.7"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629578"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616486"},{"key":"e_1_2_1_21_1","first-page":"77","article-title":"Design and implementation of the lwIP TCP\/IP stack","volume":"2","author":"Dunkels Adam","year":"2001","unstructured":"Adam Dunkels. 2001. Design and implementation of the lwIP TCP\/IP stack. Swedish Inst. Comput. Sci. 2 (2001), 77.","journal-title":"Swedish Inst. Comput. Sci."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224076"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/2482626.2482662"},{"key":"e_1_2_1_24_1","unstructured":"Mike Fisk and W. Feng. 2000. Dynamic Adjustment of TCP Window Sizes. Technical Report. Los Alamos Unclassified Report (LAUR) 00-3221 Los Alamos National Laboratory."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/90.251892"},{"key":"e_1_2_1_26_1","unstructured":"Robert Graham. 2013. The C10M Problem. Retrieved from http:\/\/c10m.robertgraham.com."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/2387880.2387894"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592807"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/1972457.1972488"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the 21st IEEE Symposium on High-Performance Computer Architecture (HPCA\u201915)","author":"Hsu Chang-Hong","unstructured":"Chang-Hong Hsu, Yunqi Zhang, Michael A. Laurenzano, David Meisner, Thomas F. Wenisch, Jason Mars, Lingjia Tang, and Ronald G. Dreslinski. 2015. Adrenaline: Pinpointing and reining in tail queries with quick voltage boosting. In Proceedings of the 21st IEEE Symposium on High-Performance Computer Architecture (HPCA\u201915). 271--282."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2005.23"},{"key":"e_1_2_1_32_1","unstructured":"Intel Corp. 2013. Open Source Kernel Enhancements for Low Latency Sockets Using Busy Poll. Retrieved from http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/white-papers\/open-source-kernel-enhancements-paper.pdf."},{"key":"e_1_2_1_33_1","unstructured":"Intel Corp. 2014a. Intel 82599 10 GbE Controller Datasheet. 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_34_1","unstructured":"Intel Corp. 2014b. Intel Ethernet Controller XL710 Datasheet. Retrieved from http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/datasheets\/xl710-10-40-controller-datasheet.pdf."},{"key":"e_1_2_1_35_1","unstructured":"IX on GitHub 2016. The IX Project. https:\/\/github.com\/ix-project\/."},{"key":"e_1_2_1_36_1","unstructured":"EunYoung Jeong Shinae Woo Muhammad Jamshed Haewon Jeong Sunghwan Ihm Dongsu Han and Ky\u00f5ungSoo Park. 2014a. mTCP source code release v. of 2014-02-26. Retrieved from https:\/\/github.com\/eunyoung14\/mtcp."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616493"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.2011.37"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2391229.2391238"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the 14th IEEE Symposium on High-Performance Computer Architecture (HPCA\u201908)","author":"Kim Wonyoung","unstructured":"Wonyoung Kim, Meeta Sharma Gupta, Gu-Yeon Wei, and David M. Brooks. 2008. System level analysis of fast, per-core DVFS using on-chip switching regulators. In Proceedings of the 14th IEEE Symposium on High-Performance Computer Architecture (HPCA\u201908). 123--134."},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the 2007 Ottawa Linux Symposium (OLS\u201907)","author":"Kivity Avi","year":"2007","unstructured":"Avi Kivity. 2007. KVM: The linux virtual machine monitor. In Proceedings of the 2007 Ottawa Linux Symposium (OLS\u201907). 225--230."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/354871.354874"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925861.1925878"},{"key":"e_1_2_1_44_1","volume-title":"Mutilate: High-Performance Memcached Load Generator.","author":"Leverich Jacob","year":"2014","unstructured":"Jacob Leverich. 2014. Mutilate: High-Performance Memcached Load Generator. Retrieved from https:\/\/github.com\/leverich\/mutilate."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592821"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/1251175.1251176"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2851141.2851151"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2670979.2670988"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616488"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665718"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2749475"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451167"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619239.2626311"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2012.22"},{"key":"e_1_2_1_55_1","volume-title":"Slingwine","author":"McKenney Paul E.","year":"1998","unstructured":"Paul E. McKenney and John D. Slingwine. 1998. Read-copy update: Using execution history to solve concurrency problems. In Parallel and Distributed Computing and Systems. 509--518."},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925109.1925112"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000064.2000103"},{"key":"e_1_2_1_58_1","unstructured":"memcached 2014. memcached -- A distributed memory object caching system. Retrieved from http:\/\/memcached.org."},{"key":"e_1_2_1_59_1","unstructured":"Microsoft Corp. 2014. Receive Side Scaling. http:\/\/msdn.microsoft.com\/library\/windows\/hardware\/ff556942.aspx."},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.5555\/2535461.2535475"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/263326.263335"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.5555\/2342821.2342829"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.5555\/2482626.2482663"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2806887"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/332799.332895"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168870"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/2812806"},{"key":"e_1_2_1_68_1","unstructured":"George Prekas Adam Belay Mia Primorac Ana Klimovic Samuel Grossman Marios Kogias Bernard G\u00fctermann Christos Kozyrakis and Edouard Bugnion. 2016. IX Open-source Version 1.0 -- Deployment and Evaluation Guide. Technical Report. EPFL Technical Report 218568."},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2806777.2806848"},{"key":"e_1_2_1_70_1","unstructured":"Niels Provos and Nick Mathewson. 2003. libevent: an event notification library. Retrieved from http:\/\/libevent.org."},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","unstructured":"K. Ramakrishnan S. Floyd and D. Black. 2001. The Addition of Explicit Congestion Notification (ECN) to IP. IETF Network Working Group RFC3168 September 2001. https:\/\/tools.ietf.org\/html\/rfc3168.","DOI":"10.17487\/RFC3168"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2093548.2093565"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2012.12"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.5555\/1991596.1991611"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.5555\/1051937.1051965"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/2465351.2465386"},{"key":"e_1_2_1_77_1","volume-title":"Proceedings of the IASTED International Conference on Intelligent Information Management and Systems","volume":"6","author":"Snell Quinn O.","unstructured":"Quinn O. Snell, Armin R. Mikler, and John L. Gustafson. 1996. Netpipe: A network protocol independent performance evaluator. In Proceedings of the IASTED International Conference on Intelligent Information Management and Systems, Vol. 6."},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.5555\/1924943.1924946"},{"key":"e_1_2_1_79_1","unstructured":"Solarflare Communications. 2011. Introduction to OpenOnload: Building Application Transparency and Protocol Conformance into Application Acceleration Middleware. Retrieved from http:\/\/www.solarflare.com\/content\/userfiles\/documents\/solarflare_openonload_intropaper.pdf."},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.5555\/2490483.2490492"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/166237.166244"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.163"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.comnet.2009.02.019"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/41457.37504"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/1592568.1592604"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1145\/2741948.2741964"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/1348583.1348590"},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945471"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502057"},{"key":"e_1_2_1_90_1","volume-title":"1 million is so","author":"WhatsApp Inc. 2012.","year":"2011","unstructured":"WhatsApp Inc. 2012. 1 million is so 2011. Retrieved from https:\/\/blog.whatsapp.com\/index.php\/2012\/01\/1-million-is-so-2011."},{"key":"e_1_2_1_91_1","unstructured":"David A. Wheeler. 2001. SLOCCount v2.26. Retrieved from http:\/\/www.dwheeler.com\/sloccount\/."},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485974"},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/2465351.2465388"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2997641","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2997641","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2997641","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T09:33:35Z","timestamp":1763458415000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2997641"}},"subtitle":["Combining Low Latency, High Throughput, and Efficiency in a Protected Dataplane"],"short-title":[],"issued":{"date-parts":[[2016,12,9]]},"references-count":93,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,1,16]]}},"alternative-id":["10.1145\/2997641"],"URL":"https:\/\/doi.org\/10.1145\/2997641","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,12,9]]},"assertion":[{"value":"2016-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-09-01","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-12-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}