ABSTRACT
Network functions and service function chaining are prevalent in cloud and ISP networks. In traditional software-based solutions, scaling up the capacity of these functions requires a large number of server cores. However, edge clouds are severely resource-constrained in terms of space, power, and budget, so traditional methods incur a high cost. We present Dejavu, a system that can offload a service chain to a programmable switch to achieve high performance and resource efficiency. Our system can compose multiple network functions into a single program that preserves the original chaining requirements, and exploit features of the switch ASIC to efficiently deploy the composed program on a single switch.
Supplemental Material
- Barefoot. 2019. Barefoot Tofino. https://www.barefootnetworks.com/products/brief-tofino-2/. (2019).Google Scholar
- Barefoot. 2019. P4STUDIO Architecture. https://www.barefootnetworks.com/products/brief-p4-studio/. (2019).Google Scholar
- 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. ACM SIGCOMM Computer Communication Review 44, 3 (2014), 87--95.Google ScholarDigital Library
- Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding metamorphosis: Fast programmable match-action processing in hardware for SDN. In ACM SIGCOMM Computer Communication Review, Vol. 43. ACM, 99--110.Google ScholarDigital Library
- Doruk Bozdag, Fusun Ozguner, and Umit V Catalyurek. 2009. Compaction of schedules and a two-stage approach for duplication-based DAG scheduling. IEEE Transactions on Parallel and Distributed Systems 20, 6 (2009), 857--871.Google ScholarDigital Library
- X. Chen, D. Zhang, X. Wang, K. Zhu, and H. Zhou. 2019. P4SC: Towards High-Performance Service Function Chain Implementation on the P4-Capable Device. In 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). 1--9.Google Scholar
- P4 Language Consortium. 2019. P4 Language Specification. https://p4.org/p4-spec/p4-14/v1.0.5/tex/p4.pdf. (2019).Google Scholar
- P4 Language Consortium. 2019. P416 Language Specification. https://p4.org/p4-spec/docs/P4-16-v1.1.0-spec.html. (2019).Google Scholar
- P4 Language Consortium. 2019. P416 Portable Switch Architecture. https://p4.org/p4-spec/docs/PSA-v1.1.0.html. (2019).Google Scholar
- P4 Language Consortium. 2019. P4_16 Prototype Compiler. https://github.com/p4lang/p4c. (2019).Google Scholar
- P4 Language Consortium. 2019. Packet Test Framework. https://github.com/p4lang/ptf. (2019).Google Scholar
- Daniel E Eisenbud, Cheng Yi, Carlo Contavalli, Cody Smith, Roman Kononov, Eric Mann-Hielscher, Ardas Cilingiroglu, Bin Cheyney, Wentao Shang, and Jinnah Dylan Hosein. 2016. Maglev: A Fast and Reliable Software Network Load Balancer.. In NSDI. 523--535.Google Scholar
- Rohan Gandhi, Hongqiang Harry Liu, Y. Charlie Hu, Guohan Lu, Jitendra Padhye, Lihua Yuan, and Ming Zhang. 2014. Duet: Cloud Scale Load Balancing with Hardware and Software. In Proceedings of the 2014 ACM Conference on SIGCOMM (SIGCOMM '14). ACM, New York, NY, USA, 27--38. https://doi.org/10.1145/2619239.2626317Google 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 ACM SIGCOMM Computer Communication Review, Vol. 44. ACM, 163--174.Google ScholarDigital Library
- Ionel Gog, Malte Schwarzkopf, Adam Gleave, Robert N. M. Watson, and Steven Hand. 2016. Firmament: Fast, Centralized Cluster Scheduling at Scale. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16). USENIX Association, Savannah, GA, 99--115. https://www.usenix.org/conference/osdi16/technical-sessions/presentation/gogGoogle ScholarDigital Library
- A Greenberg. 2014. Windows azure: Scaling SDN in the public cloud. Open Networking Summit (ONS) (2014).Google Scholar
- Adam Greenhalgh, Felipe Huici, Mickael Hoerdt, Panagiotis Papadimitriou, Mark Handley, and Laurent Mathy. 2009. Flow processing and the rise of commodity network hardware. ACM SIGCOMM Computer Communication Review 39, 2 (2009), 20--26.Google ScholarDigital Library
- Joel Halpern and Carlos Pignataro. 2015. Service function chaining (sfc) architecture. IETF, RFC7665 (2015).Google Scholar
- Sangjin Han, Keon Jang, KyoungSoo Park, and Sue Moon. 2010. PacketShader: A GPU-accelerated Software Router. In Proceedings of the ACM SIGCOMM 2010 Conference (SIGCOMM '10). ACM, New York, NY, USA, 195--206. https://doi.org/10.1145/1851182.1851207Google ScholarDigital Library
- David Hancock and Jacobus Van der Merwe. 2016. Hyper4: Using p4 to virtualize the programmable data plane. In Proceedings of the 12th International on Conference on emerging Networking EXperiments and Technologies. ACM, 35--49.Google ScholarDigital Library
- Jinho Hwang, K. K. Ramakrishnan, and Timothy Wood. 2014. NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14). USENIX Association, Seattle, WA, 445--458. https://www.usenix.org/conference/nsdi14/technical-sessions/presentation/hwangGoogle 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 Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 121--136.Google ScholarDigital Library
- Lavanya Jose, Lisa Yan, George Varghese, and Nick McKeown. 2015. Compiling packet programs to reconfigurable switches. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI'15). 103--115.Google Scholar
- Murad Kablan, Azzam Alsudais, Eric Keller, and Franck Le. 2017. Stateless network functions: Breaking the tight coupling of state and processing. In 14th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 17). 97--112.Google Scholar
- Georgios P Katsikas, Tom Barbette, Dejan Kostic, Rebecca Steinert, and Gerald Q Maguire Jr. 2018. Metron:{NFV} Service Chains at the True Speed of the Underlying Hardware. In 15th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 18). 171--186.Google Scholar
- Teemu Koponen, Keith Amidon, Peter Balland, Martín Casado, Anupam Chanda, Bryan Fulton, Igor Ganichev, Jesse Gross, Paul Ingram, Ethan J Jackson, et al. 2014. Network Virtualization in Multi-tenant Datacenters.. In NSDI, Vol. 14. 203--216.Google ScholarDigital Library
- Sameer G Kulkarni, Wei Zhang, Jinho Hwang, Shriram Rajagopalan, KK Ramakrishnan, Timothy Wood, Mayutan Arumaithurai, and Xiaoming Fu. 2017. Nfvnice: Dynamic backpressure and scheduling for nfv service chains. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 71--84.Google ScholarDigital Library
- Bojie Li, Kun Tan, Layong Larry Luo, Yanqing Peng, Renqian Luo, Ningyi Xu, Yongqiang Xiong, Peng Cheng, and Enhong Chen. 2016. Clicknp: Highly flexible and high performance network processing with reconfigurable hardware. In Proceedings of the 2016 ACM SIGCOMM Conference. ACM, 1--14.Google ScholarDigital Library
- Y. Li, L. T. X. Phan, and B. T. Loo. 2016. Network functions virtualization with soft real-time guarantees. In IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications. 1--9. https://doi.org/10.1109/INFOCOM.2016.7524563Google ScholarCross Ref
- Joao Martins, Mohamed Ahmed, Costin Raiciu, Vladimir Olteanu, Michio Honda, Roberto Bifulco, and Felipe Huici. 2014. ClickOS and the art of network function virtualization. In Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation. USENIX Association, 459--473.Google ScholarDigital Library
- Rui Miao, Hongyi Zeng, Changhoon Kim, Jeongkeun Lee, and Minlan Yu. 2017. SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 15--28.Google ScholarDigital Library
- Adam Morrison, Lei Xue, Ang Chen, and Xiapu Luo. 2018. Enforcing Context-Aware BYOD Policies with In-Network Security. In 10th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud'18).Google Scholar
- Recep Ozdag. 2012. Intel® Ethernet Switch FM6000 Series-Software Defined Networking. See goo. gl/AnvOvX (2012), 5.Google Scholar
- Shoumik Palkar, Chang Lan, Sangjin Han, Keon Jang, Aurojit Panda, Sylvia Ratnasamy, Luigi Rizzo, and Scott Shenker. 2015. E2: A Framework for NFV Applications. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP '15). ACM, New York, NY, USA, 121--136. https://doi.org/10.1145/2815400.2815423Google ScholarDigital Library
- Aurojit Panda, Sangjin Han, Keon Jang, Melvin Walls, Sylvia Ratnasamy, and Scott Shenker. 2016. NetBricks: Taking the V out of {NFV}. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI'16). 203--216.Google Scholar
- Parveen Patel, Deepak Bansal, Lihua Yuan, Ashwin Murthy, Albert Greenberg, David A. Maltz, Randy Kern, Hemant Kumar, Marios Zikos, Hongyu Wu, Changhoon Kim, and Naveen Karri. 2013. Ananta: Cloud Scale Load Balancing. In Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM (SIGCOMM '13). ACM, New York, NY, USA, 207--218. https://doi.org/10.1145/2486001.2486026Google ScholarDigital Library
- Paul Quinn, Uri Elzur, and Carlos Pignataro. 2018. Network service header (nsh). IETF, RFC 8300 (2018).Google Scholar
- Shriram Rajagopalan, Dan Williams, Hani Jamjoom, and Andrew Warfield. 2013. Split/merge: System support for elastic execution in virtual middleboxes. In Presented as part of the 10th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 13). 227--240.Google Scholar
- Kaushik Kumar Ram, Alan L Cox, Mehul Chadha, and Scott Rixner. 2013. Hyper-switch: A scalable software virtual switching architecture. In 2013 USENIX Annual Technical Conference (ATC'13). 13--24.Google Scholar
- Mahadev Satyanarayanan, Paramvir Bahl, Ramón Caceres, and Nigel Davies. 2009. The case for vm-based cloudlets in mobile computing. IEEE pervasive Computing 4 (2009), 14--23.Google Scholar
- Vyas Sekar, Norbert Egi, Sylvia Ratnasamy, Michael K Reiter, and Guangyu Shi. 2012. Design and implementation of a consolidated middlebox architecture. In Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation. USENIX Association, 24--24.Google ScholarDigital Library
- Hardik Soni, Thierry Turletti, and Walid Dabbous. 2018. P4Bricks: Enabling multiprocessing using Linker-based network data plane architecture. (Feb. 2018). https://hal.inria.fr/hal-01632431 working paper or preprint.Google Scholar
- Tammo Spalink, Scott Karlin, Larry Peterson, and Yitzchak Gottlieb. 2001. Building a robust software-based router using network processors. In ACM SIGOPS Operating Systems Review, Vol. 35. ACM, 216--229.Google ScholarDigital Library
- Vinod Kumar Vavilapalli, Arun C Murthy, Chris Douglas, Sharad Agarwal, Mahadev Konar, Robert Evans, Thomas Graves, Jason Lowe, Hitesh Shah, Siddharth Seth, et al. 2013. Apache hadoop yarn: Yet another resource negotiator. In Proceedings of the 4th annual Symposium on Cloud Computing. ACM, 5.Google ScholarDigital Library
- Abhishek Verma, Luis Pedrosa, Madhukar R. Korupolu, David Oppenheimer, Eric Tune, and John Wilkes. 2015. Large-scale cluster management at Google with Borg. In Proceedings of the European Conference on Computer Systems (EuroSys). Bordeaux, France.Google ScholarDigital Library
- Cheng Zhang, Jun Bi, Yu Zhou, Abdul Basit Dogar, and Jianping Wu. 2017. HyperV: A high performance hypervisor for virtualization of the programmable data plane. In 2017 26th International Conference on Computer Communication and Networks (ICCCN). IEEE, 1--9.Google ScholarCross Ref
- Peng Zheng, Theophilus Benson, and Chengchen Hu. 2018. P4Visor: Lightweight Virtualization and Composition Primitives for Building and Testing Modular Programs. In Proceedings of the 14th International Conference on Emerging Networking EXperiments and Technologies (CoNEXT '18). ACM, 98--111. https://doi.org/10.1145/3281411.3281436Google ScholarDigital Library
- Yu Zhou and Jun Bi. 2017. Clickp4: Towards modular programming of p4. In Proceedings of the SIGCOMM Posters and Demos. ACM, 100--102.Google ScholarDigital Library
Recommendations
A scatter search algorithm to configure service function chaining
Network functions virtualisation (NFV) emerges to deal with the challenges of reducing both the capital expenses (CAPEX) and operational expenses (OPEX) of cloud providers. The NFV is done by implementing network functions and providing them as software ...
Comments