ABSTRACT
The combination of Network Function Virtualization (NFV) and Software Defined Networking (SDN) allows flows to be flexibly steered through efficient processing pipelines. As deployment of NFV becomes more prevalent, the need to provide fine-grained customization of service chains and flow-level performance guarantees will increase, even as the diversity of Network Functions (NFs) rises. Existing NFV approaches typically route wide classes of traffic through pre-configured service chains. While this aggregation improves efficiency, it prevents flexibly steering and managing performance of flows at a fine granularity.
To provide both efficiency and flexibility, we present Flurries, an NFV platform designed to support large numbers of short-lived lightweight NFs, potentially running a unique NF for each flow. Flurries maintains a pool of Docker container NFs--several thousand on each host--and resets NF memory state between flows for fast reuse. Flurries uses a hybrid of polling and interrupts to improve throughput and latency while allowing multiple NFs to efficiently share CPU cores. By assigning each NF an individual flow or a small set of flows, it becomes possible to dynamically manage the QoS and service chain functionality for flows at a very fine granularity. Our Flurries prototype demonstrates the potential for this approach to run as many as 80,000 Flurry NFs during a one second interval, while forwarding over 30Gbps of traffic, dramatically increasing data plane customizability.
- Wei Zhang, Guyue Liu, Ali Mohammadkhan, Jinho Hwang, K. K. Ramakrishnan, and Timothy Wood. Sdnfv: Flexible and dynamic software defined control of an application- and flow-aware data plane. In Middleware, 2016. Google ScholarDigital Library
- T. Wood, K. K. Ramakrishnan, J. Hwang, G. Liu, and W. Zhang. Toward a software-based network: integrating software defined networking and network function virtualization. IEEE Network, 29(3):36--41, May 2015.Google ScholarDigital Library
- Ciena Toolkit Applies DevOps To Control SDN/NFV Networks. https://virtualizationreview.com/articles/2016/05/27/ciena-devops.aspx, May 2016.textsc{online}.Google Scholar
- Achieving DevOps for NFV Continuous Delivery on Openstack - Verizon Case Study. https://www.openstack.org/videos/video/achieving-devops-for-nfv-continuous-delivery-on-/openstack-verizon-case-study. {online}.Google Scholar
- Anirudh Sivaraman, Suvinay Subramanian, Mohammad Alizadeh, Sharad Chole, Shang-Tse Chuang, Anurag Agrawal, Hari Balakrishnan, Tom Edsall, Sachin Katti, and Nick McKeown. Programmable packet scheduling at line rate. In Proceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference, SIGCOMM '16, pages 44--57, New York, NY, USA, 2016. ACM. Google ScholarDigital Library
- Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, and Scott Shenker. Universal packet scheduling. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), pages 501--521, Santa Clara, CA, March 2016. USENIX Association. Google ScholarDigital Library
- Wei Zhang, Timothy Wood, Jinho Hwang, Shriram Rajagopalan, and K. K. Ramakrishnan. Performance management challenges for virtual network functions. In Proc. NetSoft. IEEE, 2016.Google ScholarCross Ref
- Intel Corporation. Intel data plane development kit: Getting started guide. 2013.Google Scholar
- Wei Zhang, Guyue Liu, Wenhui Zhang, Neel Shah, Phillip Lopreiato, Gregoire Todeschi, K.K. Ramakrishnan, and Timothy Wood. Opennetvm: A platform for high performance network service chains. In Proceedings of the 2016 ACM SIGCOMM Workshop on Hot Topics in Middleboxes and Network Function Virtualization. ACM, 2016. Google ScholarCross Ref
- Sam Neuman. Building Microservices: Designing Fine-Grained Systems. O'Reilly Media, February 2015. Google ScholarDigital Library
- Martin Fowler and James Lewis. Microservices. http://martinfowler.com/articles/microservices.html, 2014. {online}.Google Scholar
- Jez Humble and David Farley. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional, 1 edition, July 2010. Google ScholarDigital Library
- Orbitz. Enabling Microservices at Orbitz. DockerCon (2015).Google Scholar
- HubSpot. How We Deploy 300 Times a Day. http://product.hubspot.com/blog/how-we-deploy-300-times-a-day, November 2013. {online}.Google Scholar
- Wei Zhang, Timothy Wood, and Jinho Hwang. Netkv: Scalable, self-managing, load balancing as a network function. In IEEE International Conference on Autonomic Computing. IEEE, 2016.Google ScholarCross Ref
- Wei Zhang, Timothy Wood, K.K. Ramakrishnan, and Jinho Hwang. Smartswitch: Blurring the line between network infrastructure & cloud applications. In 6th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 14), Philadelphia, PA, June 2014. USENIX Association. Google ScholarDigital Library
- Intel Corporation. Intel data plane development kit: Intel 64 and ia-32 architectures software developer's manual. 2013.Google Scholar
- Luigi Rizzo. Netmap: a novel framework for fast packet i/o. In 21st USENIX Security Symposium (USENIX Security 12), pages 101--112, 2012. Google ScholarDigital Library
- Radu Stoenescu, Vladimir Olteanu, Matei Popovici, Mohamed Ahmed, Joao Martins, Roberto Bifulco, Filipe Manco, Felipe Huici, Georgios Smaragdakis, Mark Handley, et al. In-net: in-network processing for the masses. In Proceedings of the Tenth European Conference on Computer Systems, page 23. ACM, 2015. Google ScholarDigital Library
- Shriram Rajagopalan, Dan Williams, Hani Jamjoom, and Andrew Warfield. Split/merge: System support for elastic execution in virtual middleboxes. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation, nsdi'13, pages 227--240, Berkeley, CA, USA, 2013. USENIX Association. Google ScholarDigital Library
- Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M Frans Kaashoek. The click modular router. ACM Transactions on Computer Systems (TOCS), 18(3):263--297, 2000. Google ScholarDigital Library
- VPP. https://fd.io/, 2016. {online}.Google Scholar
- Sangjin Han, Keon Jang, Aurojit Panda, Shoumik Palkar, Dongsu Han, and Sylvia Ratnasamy. Softnic: A software nic to augment hardware. Technical Report UCB/EECS-2015-155, EECS Department, University of California, Berkeley, May 2015.Google Scholar
- I. Cerrato, M. Annarumma, and F. Risso. Supporting Fine-Grained Network Functions through Intel DPDK. In 2014 Third European Workshop on Software Defined Networks, pages 1--6, September 2014. Google ScholarDigital Library
- HTTP Archive - Interesting Stats. http://httparchive.org/interesting.php. {online}.Google Scholar
- Jinho Hwang, K. K. Ramakrishnan, and Timothy Wood. Netvm: High performance and flexible networking using virtualization on commodity platforms. In Proc. NSDI, NSDI'14, pages 445--458, Berkeley, CA, USA, 2014. USENIX Association. Google ScholarDigital Library
- Adam Greenhalgh, Felipe Huici, Mickael Hoerdt, Panagiotis Papadimitriou, Mark Handley, and Laurent Mathy. Flow processing and the rise of commodity network hardware. SIGCOMM Comput. Commun. Rev., 39(2):20--26, March 2009. Google ScholarDigital Library
- Filipe Manco, Joao Martins, Kenichi Yasukata, Jose Mendes, Simon Kuenzer, and Felipe Huici. The case for the superfluid cloud. In 7th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 15), 2015. Google ScholarDigital Library
- Ivano Cerrato, Mauro Annarumma, and Fulvio Risso. Supporting fine-grained network functions through intel dpdk. In EWSDN, pages 1--6. IEEE, 2014. Google ScholarDigital Library
- Joao Martins, Mohamed Ahmed, Costin Raiciu, Vladimir Olteanu, Michio Honda, Roberto Bifulco, and Felipe Huici. Clickos and the art of network function virtualization. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14), pages 459--473, Seattle, WA, April 2014. USENIX Association. Google ScholarDigital Library
- Anil Madhavapeddy, Thomas Leonard, Magnus Skjegstad, Thomas Gazagnaire, David Sheets, Dave Scott, Richard Mortier, Amir Chaudhry, Balraj Singh, Jon Ludlam, Jon Crowcroft, and Ian Leslie. Jitsu: Just-in-time summoning of unikernels. In Proc. NSDI, pages 559--573, Oakland, CA, May 2015. USENIX Association. Google ScholarDigital Library
- Giuseppe Siracusano, Roberto Bifulco, Simon Kuenzer, Stefano Salsano, Nicola Blefari Melazzi, and Felipe Huici. On-the-fly tcp acceleration with miniproxy. In Proceedings of the 2016 ACM SIGCOMM Workshop on Hot Topics in Middleboxes and Network Function Virtualization, 2016. Google ScholarCross Ref
- Shoumik Palkar, Chang Lan, Sangjin Han, Keon Jang, Aurojit Panda, Sylvia Ratnasamy, Luigi Rizzo, and Scott Shenker. E2: A framework for nfv applications. In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP '15, pages 121--136, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- Seungik Lee, Myung-Ki Shin, EunKyoung Paik, and Sangheon Pack. Resource Management in Service Chaining. Internet-Draft draft-lee-nfvrg-resource-management-service-chain-01, Internet Engineering Task Force, October 2015. Work in Progress.Google Scholar
- ETSI. Network functions virtualization (nfv); architectural framework. ETSI GS NFV V002, 2013.Google Scholar
- Mihai Dobrescu, Norbert Egi, Katerina Argyraki, Byung-Gon Chun, Kevin Fall, Gianluca Iannaccone, Allan Knies, Maziar Manesh, and Sylvia Ratnasamy. Routebricks: exploiting parallelism to scale software routers. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 15--28. ACM, 2009. Google ScholarDigital Library
- Y. Li, L. T. X. Phan, and B. T. Loo. Network functions virtualization with soft real-time guarantees. In IEEE International Conference on Computer Communications (INFOCOM), 2016.Google ScholarCross Ref
- L. Cao, P. Sharma, S. Fahmy, and V. Saxena. Nfv-vital: A framework for characterizing the performance of virtual network functions. In Network Function Virtualization and Software Defined Network (NFV-SDN), 2015 IEEE Conference on, pages 93--99, Nov 2015.Google Scholar
- Constantinos Dovrolis, Brad Thayer, and Parameswaran Ramanathan. Hip: Hybrid interrupt-polling for the network interface. SIGOPS Oper. Syst. Rev., 35(4):50--60, October 2001. Google ScholarDigital Library
- Luca Deri, Netikos S. P. A, Via Del Brennero Km, and Loc La Figuretta. Improving passive packet capture: Beyond device polling. In In Proceedings of SANE 2004, 2004.Google Scholar
- Jiuxing Liu and Bulent Abali. Virtualization polling engine (vpe): Using dedicated cpu cores to accelerate i/o virtualization. In Proceedings of the 23rd International Conference on Supercomputing, ICS '09, pages 225--234, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- Jisoo Yang, Dave B Minturn, and Frank Hady. When poll is better than interrupt. In Proceedings of the 10th USENIX conference on File and Storage Technologies, pages 3--3. USENIX Association, 2012. Google ScholarDigital Library
Index Terms
- Flurries: Countless Fine-Grained NFs for Flexible Per-Flow Customization
Recommendations
Transparently bridging semantic gap in CPU management for virtualized environments
Consolidated environments are progressively accommodating diverse and unpredictable workloads in conjunction with virtual desktop infrastructure and cloud computing. Unpredictable workloads, however, aggravate the semantic gap between the virtual ...
Who Is Your Neighbor: Net I/O Performance Interference in Virtualized Clouds
User-perceived performance continues to be the most important QoS indicator in cloud-based data centers today. Effective allocation of virtual machines (VMs) to handle both CPU intensive and I/O intensive workloads is a crucial performance management ...
Performance Analysis of Network I/O Workloads in Virtualized Data Centers
Server consolidation and application consolidation through virtualization are key performance optimizations in cloud-based service delivery industry. In this paper, we argue that it is important for both cloud consumers and cloud providers to understand ...
Comments