Skip to main content

PISCES: A Programmable, Protocol-Independent Software Switch

Author(s): Shahbaz, Muhammad; Choi, Sean; Pfaff, Ben; Kim, Changhoon; Feamster, Nick; et al

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr1jr8w
Full metadata record
DC FieldValueLanguage
dc.contributor.authorShahbaz, Muhammad-
dc.contributor.authorChoi, Sean-
dc.contributor.authorPfaff, Ben-
dc.contributor.authorKim, Changhoon-
dc.contributor.authorFeamster, Nick-
dc.contributor.authorMcKeown, Nick-
dc.contributor.authorRexford, Jennifer-
dc.date.accessioned2021-10-08T19:49:46Z-
dc.date.available2021-10-08T19:49:46Z-
dc.date.issued2016-08en_US
dc.identifier.citationShahbaz, Muhammad, Sean Choi, Ben Pfaff, Changhoon Kim, Nick Feamster, Nick McKeown, and Jennifer Rexford. "PISCES: A Programmable, Protocol-Independent Software Switch." In Proceedings of the 2016 ACM SIGCOMM Conference (2016): pp. 525-538. doi:10.1145/2934872.2934886en_US
dc.identifier.issnhttps://www.cs.princeton.edu/~jrex/papers/pisces-draft.pdf-
dc.identifier.urihttp://arks.princeton.edu/ark:/88435/pr1jr8w-
dc.description.abstractHypervisors use software switches to steer packets to and from virtual machines (VMs). These switches frequently need upgrading and customization—to support new protocol headers or encapsulations for tunneling and overlays, to improve measurement and debugging features, and even to add middlebox-like functions. Software switches are typically based on a large body of code, including kernel code, and changing the switch is a formidable undertaking requiring domain mastery of network protocol design and developing, testing, and maintaining a large, complex codebase. Changing how a software switch forwards packets should not require intimate knowledge of its implementation. Instead, it should be possible to specify how packets are processed and forwarded in a high-level domain-specific language (DSL) such as P4, and compiled to run on a software switch. We present PISCES, a software switch derived from Open vSwitch (OVS), a hard-wired hypervisor switch, whose behavior is customized using P4. PISCES is not hard-wired to specific protocols; this independence makes it easy to add new features. We also show how the compiler can analyze the high-level specification to optimize forwarding performance. Our evaluation shows that PISCES performs comparably to OVS and that PISCES programs are about 40 times shorter than equivalent changes to OVS source code.en_US
dc.format.extent525 - 538en_US
dc.language.isoen_USen_US
dc.relation.ispartofProceedings of the 2016 ACM SIGCOMM Conferenceen_US
dc.rightsAuthor's manuscripten_US
dc.titlePISCES: A Programmable, Protocol-Independent Software Switchen_US
dc.typeConference Articleen_US
dc.identifier.doi10.1145/2934872.2934886-
pu.type.symplectichttp://www.symplectic.co.uk/publications/atom-terms/1.0/conference-proceedingen_US

Files in This Item:
File Description SizeFormat 
ProgrammableSoftware.pdf1.38 MBAdobe PDFView/Download


Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.