{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,15]],"date-time":"2026-05-15T15:49:14Z","timestamp":1778860154485,"version":"3.51.4"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2016,4,9]],"date-time":"2016-04-09T00:00:00Z","timestamp":1460160000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000780","name":"European Union","doi-asserted-by":"crossref","award":["644960"],"award-info":[{"award-number":["644960"]}],"id":[{"id":"10.13039\/501100000780","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGCOMM Comput. Commun. Rev."],"published-print":{"date-parts":[[2016,4,9]]},"abstract":"<jats:p>The Paxos protocol is the foundation for building many fault-tolerant distributed systems and services. This paper posits that there are significant performance benefits to be gained by implementing Paxos logic in network devices. Until recently, the notion of a switch-based implementation of Paxos would be a daydream. However, new flexible hardware is on the horizon that will provide customizable packet processing pipelines needed to implement Paxos. While this new hardware is still not readily available, several vendors and consortia have made the programming languages that target these devices public. This paper describes an implementation of Paxos in one of those languages, P4. Implementing Paxos provides a critical use case for P4, and will help drive the requirements for data plane languages in general. In the long term, we imagine that consensus could someday be offered as a network service, just as point-to-point communication is provided today.<\/jats:p>","DOI":"10.1145\/2935634.2935638","type":"journal-article","created":{"date-parts":[[2016,5,9]],"date-time":"2016-05-09T18:42:23Z","timestamp":1462819343000},"page":"18-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":79,"title":["Paxos Made Switch-y"],"prefix":"10.1145","volume":"46","author":[{"given":"Huynh Tu","family":"Dang","sequence":"first","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marco","family":"Canini","sequence":"additional","affiliation":[{"name":"Universit\u00e9 catholique de Louvain, Louvain-la-Neuve, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fernando","family":"Pedone","sequence":"additional","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Robert","family":"Soul\u00e9","sequence":"additional","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,5,9]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656877.2656890"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2486001.2486011"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2014.19"},{"key":"e_1_2_2_4_1","first-page":"335","volume-title":"USENIX OSDI","author":"Burrows M.","year":"2006","unstructured":"M. Burrows . The Chubby Lock Service for Loosely-Coupled Distributed Systems . In USENIX OSDI , pages 335 -- 350 , Nov. 2006 . M. Burrows. The Chubby Lock Service for Loosely-Coupled Distributed Systems. In USENIX OSDI, pages 335--350, Nov. 2006."},{"key":"e_1_2_2_5_1","unstructured":"Ceph. http:\/\/ceph.com.  Ceph. http:\/\/ceph.com."},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281100.1281103"},{"key":"e_1_2_2_7_1","series-title":"LNCS","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-11294-2","volume-title":"Replication: Theory and Practice","author":"Charron-Bost B.","year":"2010","unstructured":"B. Charron-Bost , F. Pedone , and A. Schiper , editors . Replication: Theory and Practice , volume 5959 of LNCS , Feb. 2010 . B. Charron-Bost, F. Pedone, and A. Schiper, editors. Replication: Theory and Practice, volume 5959 of LNCS, Feb. 2010."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2774993.2774999"},{"key":"e_1_2_2_9_1","first-page":"330","volume-title":"LNCS","author":"Gafni E.","year":"2000","unstructured":"E. Gafni and L. Lamport . Disk Paxos. In Distributed Computing , LNCS , pages 330 -- 344 , Feb. 2000 . E. Gafni and L. Lamport. Disk Paxos. In Distributed Computing, LNCS, pages 330--344, Feb. 2000."},{"key":"e_1_2_2_10_1","volume-title":"USENIX NSDI","author":"Istv\u00e1n Z.","year":"2016","unstructured":"Z. Istv\u00e1n , D. Sidler , G. Alonso , and M. Vukoli\u0107 . Consensus in a Box: Inexpensive Coordination in Hardware . In USENIX NSDI , Mar. 2016 . Z. Istv\u00e1n, D. Sidler, G. Alonso, and M. Vukoli\u0107. Consensus in a Box: Inexpensive Coordination in Hardware. In USENIX NSDI, Mar. 2016."},{"key":"e_1_2_2_11_1","first-page":"103","volume-title":"USENIX NSDI","author":"Jose L.","year":"2015","unstructured":"L. Jose , L. Yan , G. Varghese , and N. McKeown . Compiling Packet Programs to Reconfigurable Switches . In USENIX NSDI , pages 103 -- 115 , May 2015 . L. Jose, L. Yan, G. Varghese, and N. McKeown. Compiling Packet Programs to Reconfigurable Switches. In USENIX NSDI, pages 103--115, May 2015."},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/279227.279229"},{"issue":"4","key":"e_1_2_2_14_1","first-page":"18","volume":"32","author":"Lamport L.","year":"2001","unstructured":"L. Lamport . Paxos Made Simple. ACM SIGACT , 32 ( 4 ): 18 -- 25 , Dec. 2001 . L. Lamport. Paxos Made Simple. ACM SIGACT, 32(4):18--25, Dec. 2001.","journal-title":"Paxos Made Simple. ACM SIGACT"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00446-006-0005-x"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/1009382.1009745"},{"key":"e_1_2_2_17_1","volume-title":"Jan.","author":"Mazieres D.","year":"2007","unstructured":"D. Mazieres . Paxos Made Practical. Unpublished manuscript , Jan. 2007 . D. Mazieres. Paxos Made Practical. Unpublished manuscript, Jan. 2007."},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1355734.1355746"},{"key":"e_1_2_2_19_1","unstructured":"Mininet. http:\/\/mininet.org.  Mininet. http:\/\/mininet.org."},{"key":"e_1_2_2_20_1","volume-title":"NFP-6xxx - A 22nm High-Performance Network Flow Processor for 200Gb\/s Software Defined Networking","year":"2013","unstructured":"Netronome. NFP-6xxx - A 22nm High-Performance Network Flow Processor for 200Gb\/s Software Defined Networking , 2013 . Talk at HotChips by Gavin Stark . http:\/\/www.hotchips.org\/wp-content\/uploads\/hc_archives\/hc25\/HC25.60-Networking-epub\/HC25.27.620--22nm-Flow-Proc-Stark-Netronome.pdf. Netronome. NFP-6xxx - A 22nm High-Performance Network Flow Processor for 200Gb\/s Software Defined Networking, 2013. Talk at HotChips by Gavin Stark. http:\/\/www.hotchips.org\/wp-content\/uploads\/hc_archives\/hc25\/HC25.60-Networking-epub\/HC25.27.620--22nm-Flow-Proc-Stark-Netronome.pdf."},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/62546.62549"},{"key":"e_1_2_2_22_1","unstructured":"OpenReplica. http:\/\/openreplica.org.  OpenReplica. http:\/\/openreplica.org."},{"key":"e_1_2_2_23_1","unstructured":"The P4 Language Specification Version 1.0.2. http:\/\/p4.org\/wp-content\/uploads\/2015\/04\/p4-latest.pdf.  The P4 Language Specification Version 1.0.2. http:\/\/p4.org\/wp-content\/uploads\/2015\/04\/p4-latest.pdf."},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(01)00397-8"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/645333.649852"},{"key":"e_1_2_2_26_1","volume-title":"USENIX NSDI","author":"Ports D. R. K.","year":"2015","unstructured":"D. R. K. Ports , J. Li , V. Liu , N. K. Sharma , and A. Krishnamurthy . Designing Distributed Systems Using Approximate Synchrony in Data Center Networks . In USENIX NSDI , Mar. 2015 . D. R. K. Ports, J. Li, V. Liu, N. K. Sharma, and A. Krishnamurthy. Designing Distributed Systems Using Approximate Synchrony in Data Center Networks. In USENIX NSDI, Mar. 2015."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/98163.98167"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491185.2491190"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2673577"},{"key":"e_1_2_2_30_1","unstructured":"XPliantTM Ethernet Switch Product Family. http:\/\/www.cavium.com\/XPliant-Ethernet-Switch-Product-Family.html.  XPliantTM Ethernet Switch Product Family. http:\/\/www.cavium.com\/XPliant-Ethernet-Switch-Product-Family.html."}],"container-title":["ACM SIGCOMM Computer Communication Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2935634.2935638","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2935634.2935638","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:39:56Z","timestamp":1750217996000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2935634.2935638"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,4,9]]},"references-count":30,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2016,4,9]]}},"alternative-id":["10.1145\/2935634.2935638"],"URL":"https:\/\/doi.org\/10.1145\/2935634.2935638","relation":{},"ISSN":["0146-4833"],"issn-type":[{"value":"0146-4833","type":"print"}],"subject":[],"published":{"date-parts":[[2016,4,9]]},"assertion":[{"value":"2016-05-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}