skip to main content
10.1145/2999572.2999602acmconferencesArticle/Chapter ViewAbstractPublication PagesconextConference Proceedingsconference-collections
research-article
Public Access

Flurries: Countless Fine-Grained NFs for Flexible Per-Flow Customization

Authors Info & Claims
Published:06 December 2016Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ciena Toolkit Applies DevOps To Control SDN/NFV Networks. https://virtualizationreview.com/articles/2016/05/27/ciena-devops.aspx, May 2016.textsc{online}.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. Intel Corporation. Intel data plane development kit: Getting started guide. 2013.Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. Sam Neuman. Building Microservices: Designing Fine-Grained Systems. O'Reilly Media, February 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Martin Fowler and James Lewis. Microservices. http://martinfowler.com/articles/microservices.html, 2014. {online}.Google ScholarGoogle Scholar
  12. Jez Humble and David Farley. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional, 1 edition, July 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Orbitz. Enabling Microservices at Orbitz. DockerCon (2015).Google ScholarGoogle Scholar
  14. HubSpot. How We Deploy 300 Times a Day. http://product.hubspot.com/blog/how-we-deploy-300-times-a-day, November 2013. {online}.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. Intel Corporation. Intel data plane development kit: Intel 64 and ia-32 architectures software developer's manual. 2013.Google ScholarGoogle Scholar
  18. Luigi Rizzo. Netmap: a novel framework for fast packet i/o. In 21st USENIX Security Symposium (USENIX Security 12), pages 101--112, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. VPP. https://fd.io/, 2016. {online}.Google ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. HTTP Archive - Interesting Stats. http://httparchive.org/interesting.php. {online}.Google ScholarGoogle Scholar
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. Ivano Cerrato, Mauro Annarumma, and Fulvio Risso. Supporting fine-grained network functions through intel dpdk. In EWSDN, pages 1--6. IEEE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle Scholar
  35. ETSI. Network functions virtualization (nfv); architectural framework. ETSI GS NFV V002, 2013.Google ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarCross RefCross Ref
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Flurries: Countless Fine-Grained NFs for Flexible Per-Flow Customization

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      CoNEXT '16: Proceedings of the 12th International on Conference on emerging Networking EXperiments and Technologies
      December 2016
      524 pages
      ISBN:9781450342926
      DOI:10.1145/2999572

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 6 December 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      CoNEXT '16 Paper Acceptance Rate30of160submissions,19%Overall Acceptance Rate198of789submissions,25%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader