Show simple item record

dc.contributor.authorCheung, Alvin
dc.contributor.authorBudiu, Mihai
dc.contributor.authorKim, Changhoon
dc.contributor.authorVarghese, George
dc.contributor.authorMcKeown, Nick
dc.contributor.authorLicking, Steve
dc.contributor.authorSivaraman Kaushalram, Anirudh
dc.contributor.authorBalakrishnan, Hari
dc.contributor.authorAlizadeh Attar, Mohammadreza
dc.date.accessioned2017-07-20T20:01:49Z
dc.date.available2017-07-20T20:01:49Z
dc.date.issued2016-08
dc.identifier.isbn978-1-4503-4193-6
dc.identifier.urihttp://hdl.handle.net/1721.1/110792
dc.description.abstractMany algorithms for congestion control, scheduling, network measurement, active queue management, and traffic engineering require custom processing of packets in the data plane of a network switch. To run at line rate, these data-plane algorithms must be implemented in hardware. With today's switch hardware, algorithms cannot be changed, nor new algorithms installed, after a switch has been built. This paper shows how to program data-plane algorithms in a high-level language and compile those programs into low-level microcode that can run on emerging programmable line-rate switching chips. The key challenge is that many data-plane algorithms create and modify algorithmic state. To achieve line-rate programmability for stateful algorithms, we introduce the notion of a packet transaction: a sequential packet-processing code block that is atomic and isolated from other such code blocks. We have developed this idea in Domino, a C-like imperative language to express data-plane algorithms. We show with many examples that Domino provides a convenient way to express sophisticated data-plane algorithms, and show that these algorithms can be run at line rate with modest estimated chip-area overhead.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (CNS- 1563826)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (CNS-1563788)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2934872.2934900en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceOther univ. web domainen_US
dc.titlePacket Transactions: High-Level Programming for Line-Rate Switchesen_US
dc.typeArticleen_US
dc.identifier.citationSivaraman, Anirudh et al. “Packet Transactions: High-Level Programming for Line-Rate Switches.” 2016 ACM SIGCOMM Conference, Florianopolis, Brazil, 22-26 August, 2016. ACM Press, 2016, pp. 15–28.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorSivaraman Kaushalram, Anirudh
dc.contributor.mitauthorBalakrishnan, Hari
dc.contributor.mitauthorAlizadeh Attar, Mohammadreza
dc.relation.journalProceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference - SIGCOMM '16en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsSivaraman, Anirudh; Cheung, Alvin; Budiu, Mihai; Kim, Changhoon; Alizadeh, Mohammad; Balakrishnan, Hari; Varghese, George; McKeown, Nick; Licking, Steveen_US
dspace.embargo.termsNen_US
dc.identifier.orcidhttps://orcid.org/0000-0003-4034-0918
dc.identifier.orcidhttps://orcid.org/0000-0002-1455-9652
dc.identifier.orcidhttps://orcid.org/0000-0002-0014-6742
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record