TY - GEN
T1 - PISCES
T2 - 2016 ACM Conference on Special Interest Group on Data Communication, SIGCOMM 2016
AU - Shahbaz, Muhammad
AU - Choi, Sean
AU - Pfaff, Ben
AU - Kim, Changhoon
AU - Feamster, Nicholas G.
AU - McKeown, Nick
AU - Rexford, Jennifer L.
N1 - Publisher Copyright:
Copyright 2016 ACM.
PY - 2016/8/22
Y1 - 2016/8/22
N2 - Hypervisors 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.
AB - Hypervisors 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.
KW - Compiler optimizations
KW - Domain-specific languages (DSL)
KW - OVS
KW - P4
KW - PISCES
KW - Programmable data planes
KW - Software switch
KW - Software-defined networks (SDN)
UR - http://www.scopus.com/inward/record.url?scp=84986627816&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84986627816&partnerID=8YFLogxK
U2 - 10.1145/2934872.2934886
DO - 10.1145/2934872.2934886
M3 - Conference contribution
AN - SCOPUS:84986627816
T3 - SIGCOMM 2016 - Proceedings of the 2016 ACM Conference on Special Interest Group on Data Communication
SP - 525
EP - 538
BT - SIGCOMM 2016 - Proceedings of the 2016 ACM Conference on Special Interest Group on Data Communication
PB - Association for Computing Machinery, Inc
Y2 - 22 August 2016 through 26 August 2016
ER -