ABSTRACT
Emerging network applications (augmented reality, industrial Internet, etc.) introduce stringent new requirements on the performance, dependability, and adaptability of communication networks. Programmable data planes (e.g., based on P4) provide new opportunities to meet these requirements, by enabling adaptive network reconfigurations. However, ensuring consistency during such reconfigurations remains challenging. This paper makes a first step toward a more automated state management of adaptive data planes. In particular, we present an efficient P4 state management framework, P4State, which allows to quickly identify the network states from the source code that are critical for data plane reconfigurations (e.g., due to scaling, failure recovery). We report on first promising evaluation results of our prototype implementation in terms of correctness and efficiency, also considering two case studies using HULA (load balancing in data center) and HashPipe (line-rate measurement in data plane).
Supplemental Material
- 2019. HULA. https://github.com/p4lang/tutorials/tree/sigcomm_17/SIGCOMM_2017/exercises/hula. (2019).Google Scholar
- 2019. Netronome SmartNIC. https://www.netronome.com/blog/p4-programmability-for-the-netronome-agilio-smartnic/. (2019).Google Scholar
- 2019. P4 behavioral-model. https://github.com/p4lang/behavioral-model. (2019).Google Scholar
- 2019. P4C. https://github.com/p4lang/p4c. (2019).Google Scholar
- 2019. V1 Model. https://github.com/p4lang/p4c/blob/master/p4include/v1model.p4. (2019).Google Scholar
- Mina Tahmasbi Arashloo, Yaron Koral, Michael Greenberg, Jennifer Rexford, and David Walker. 2016. SNAP: Stateful network-wide abstractions for packet processing. In SIGCOMM. ACM, 29--43. Google ScholarDigital Library
- Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et al. 2014. P4: Programming protocol-independent packet processors. SIGCOMM CCR 44, 3 (2014), 87--95. Google ScholarDigital Library
- Huynh Tu Dang, Daniele Sciascia, Marco Canini, Fernando Pedone, and Robert Soulé. 2015. Netpaxos: Consensus at network speed. In SOSR. ACM, 5. Google ScholarDigital Library
- Huynh Tu Dang, Han Wang, Theo Jepsen, Gordon Brebner, Changhoon Kim, Jennifer Rexford, Robert Soulé, and Hakim Weatherspoon. 2017. Whippersnapper: A p4 language benchmark suite. In SOSR. ACM, 95--101. Google ScholarDigital Library
- Aaron Gember-Jacobson, Raajay Viswanathan, Chaithan Prakash, Robert Grandl, Junaid Khalid, Sourav Das, and Aditya Akella. 2014. OpenNF: Enabling innovation in network function control. In SIGCOMM CCR, Vol. 44. ACM, 163--174. Google ScholarDigital Library
- Mojgan Ghasemi, Theophilus Benson, and Jennifer Rexford. 2017. Dapper: Data plane performance diagnosis of tcp. In SOSR. ACM, 61--74. Google ScholarDigital Library
- Mark Handley, Costin Raiciu, Alexandru Agache, Andrei Voinescu, Andrew W Moore, Gianni Antichi, and Marcin Wójcik. 2017. Re-architecting datacenter networks and stacks for low latency and high performance. In SIGCOMM. ACM, 29--42. Google ScholarDigital Library
- Mu He, Alberto Martínez Alba, Arsany Basta, Andreas Blenk, and Wolfgang Kellerer. 2019. Flexibility in Softwarized Networks: Classifications and Research Challenges. IEEE Comm. Surveys & Tutorials (2019).Google Scholar
- Mu He, Arsany Basta, Andreas Blenk, Nemanja Deric, and Wolfgang Kellerer. 2018. P4NFV: An NFV Architecture with Flexible Data Plane Reconfiguration. In CNSM. IEEE, 90--98.Google Scholar
- Qun Huang, Patrick PC Lee, and Yungang Bao. 2018. Sketchlearn: relieving user burdens in approximate measurement with automated statistical inference. In SIGCOMM. ACM, 576--590. Google ScholarDigital Library
- Rishabh Iyer, Luis Pedrosa, Arseniy Zaostrovnykh, Solal Pirelli, Katerina Argyraki, and George Candea. 2019. Performance contracts for software network functions. In NSDI. 517--530. Google ScholarDigital Library
- Theo Jepsen, Masoud Moshref, Antonio Carzaniga, Nate Foster, and Robert Soulé. 2018. Life in the fast lane: A line-rate linear road. In SOSR. ACM, 10. Google ScholarDigital Library
- Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soulé, Jeongkeun Lee, Nate Foster, Changhoon Kim, and Ion Stoica. 2017. Netcache: Balancing key-value stores with fast in-network caching. In SOSP. ACM, 121--136. Google ScholarDigital Library
- Murad Kablan, Azzam Alsudais, Eric Keller, and Franck Le. 2017. Stateless network functions: Breaking the tight coupling of state and processing. In NSDI. USENIX, 97--112. Google ScholarDigital Library
- Naga Katta, Mukesh Hira, Changhoon Kim, Anirudh Sivaraman, and Jennifer Rexford. 2016. Hula: Scalable load balancing using programmable data planes. In SOSR. ACM, 10. Google ScholarDigital Library
- Junaid Khalid, Aaron Gember-Jacobson, Roney Michael, Anubhavnidhi Abhashkumar, and Aditya Akella. 2016. Paving the Way for NFV: Simplifying Middlebox Modifications Using StateAlyzr. In NSDI. USENIX, 239--253. Google ScholarDigital Library
- Shouxi Luo, Hongfang Yu, and Laurent Vanbever. 2017. Swing state: Consistent updates for stateful and programmable data planes. In SOSR. ACM, 115--121. Google ScholarDigital Library
- Miguel Neves, Lucas Freire, Alberto Schaeffer-Filho, and Marinho Barcellos. 2018. Verification of P4 programs in feasible time using assertions. In CoNEXT. ACM, 73--85. Google ScholarDigital Library
- Andres Nötzli, Jehandad Khan, Andy Fingerhut, Clark Barrett, and Peter Athanas. 2018. P4pktgen: Automated test case generation for p4 programs. In SOSR. ACM, 5. Google ScholarDigital Library
- Luis Pedrosa, Rishabh Iyer, Arseniy Zaostrovnykh, Jonas Fietz, and Katerina Argyraki. 2018. Automated synthesis of adversarial workloads for network functions. In SIGCOMM. ACM, 372--385. Google ScholarDigital Library
- Shriram Rajagopalan, Dan Williams, Hani Jamjoom, and Andrew Warfield. 2013. Split/merge: System support for elastic execution in virtual middleboxes. In NSDI. USENIX, 227--240. Google ScholarDigital Library
- Roshan Sedar, Michael Borokhovich, Marco Chiesa, Gianni Antichi, and Stefan Schmid. 2018. Supporting Emerging Applications With Low-Latency Failover in P4. (2018).Google Scholar
- Meryem Simsek, Adnan Aijaz, Mischa Dohler, Joachim Sachs, and Gerhard Fettweis. 2016. 5G-enabled tactile internet. JSAC 34, 3 (2016), 460--473.Google ScholarCross Ref
- Vibhaalakshmi Sivaraman, Srinivas Narayana, Ori Rottenstreich, S Muthukrishnan, and Jennifer Rexford. 2017. Heavy-hitter detection entirely in the data plane. In SOSR. ACM, 164--176. Google ScholarDigital Library
- Manu Sridharan, Stephen J Fink, and Rastislav Bodik. 2007. Thin slicing. In ACM SIGPLAN Notices, Vol. 42. ACM, 112--122. Google ScholarDigital Library
- Noa Zilberman, Yury Audzevich, G Adam Covington, and Andrew W Moore. 2014. NetFPGA SUME: Toward 100 Gbps as research commodity. IEEE micro 34, 5 (2014), 32--41.Google Scholar
Index Terms
- Toward Consistent State Management of Adaptive Programmable Networks Based on P4
Recommendations
A P4-based 5G User Plane Function
SOSR '21: Proceedings of the ACM SIGCOMM Symposium on SDN Research (SOSR)The demands on mobile networks are constantly evolving, but designing and integrating new high-speed packet processing remains a challenge due to the complexity of requirements and opacity of protocol specifications. 5G data planes should be implemented ...
P4: programming protocol-independent packet processors
P4 is a high-level language for programming protocol-independent packet processors. P4 works in conjunction with SDN control protocols like OpenFlow. In its current form, OpenFlow explicitly specifies protocol headers on which it operates. This set has ...
The P4->NetFPGA Workflow for Line-Rate Packet Processing
FPGA '19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysP4 has emerged as the de facto standard language for describing how network packets should be processed, and is becoming widely used by network owners, systems developers, researchers and in the classroom. The goal of the work presented here is to make ...
Comments