Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3098822.3098828acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Free access

NFVnice: Dynamic Backpressure and Scheduling for NFV Service Chains

Published: 07 August 2017 Publication History

Abstract

Managing Network Function (NF) service chains requires careful system resource management. We propose NFVnice, a user space NF scheduling and service chain management framework to provide fair, efficient and dynamic resource scheduling capabilities on Network Function Virtualization (NFV) platforms. The NFVnice framework monitors load on a service chain at high frequency (1000Hz) and employs backpressure to shed load early in the service chain, thereby preventing wasted work. Borrowing concepts such as rate proportional scheduling from hardware packet schedulers, CPU shares are computed by accounting for heterogeneous packet processing costs of NFs, I/O, and traffic arrival characteristics. By leveraging cgroups, a user space process scheduling abstraction exposed by the operating system, NFVnice is capable of controlling when network functions should be scheduled. NFVnice improves NF performance by complementing the capabilities of the OS scheduler but without requiring changes to the OS's scheduling mechanisms. Our controlled experiments show that NFVnice provides the appropriate rate-cost proportional fair share of CPU to NFs and significantly improves NF performance (throughput and loss) by reducing wasted work across an NF chain, compared to using the default OS scheduler. NFVnice achieves this even for heterogeneous NFs with vastly different computational costs and for heterogeneous workloads.

Supplementary Material

WEBM File (nfvnicedynamicbackpressureandschedulingfornfvservicechains.webm)

References

[1]
2014. Data plane development kit. http://dpdk.org/. (2014). [online].
[2]
2014. DPDK L-Thread subsystem. http://dpdk.org/doc/guides/sample_app_ug/performance_thread.html. (2014). [online].
[3]
2016. Performance measurements with RDTSC. https://www.strchr.com/performance_measurements_with_rdtsc. (June 2016). [online].
[4]
2016. VPP. https://fd.io/. (2016). [online].
[5]
2017. cgroups-Linux control groups. http://man7.org/linux/man-pages/man7/cgroups.7.html. (2017). [online].
[6]
2017. Fibers. https://msdn.microsoft.com/en-us/library/ms682661.aspx. (2017). [online].
[7]
Mohammad Alizadeh, Albert Greenberg, David A Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan. 2010. Data center tcp (dctcp). In ACM SIGCOMM computer communication review, Vol. 40. ACM, 63--74.
[8]
Wei Bai, Li Chen, Kai Chen, and Haitao Wu. 2016. Enabling ECN in Multi-Service Multi-Queue Data Centers. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16). USENIX Association, Santa Clara, CA, 537--549.
[9]
Rudolf Bayer. 1972. Symmetric binary B-trees: Data structure and maintenance algorithms. Acta informatica 1, 4 (1972), 290--306.
[10]
Alan Demers, Srinivasan Keshav, and Scott Shenker. 1989. Analysis and simulation of a fair queueing algorithm. In ACM SIGCOMM Computer Communication Review, Vol. 19. ACM, 1--12.
[11]
Jon Dugan, Seth Elliott, Bruce A. Mah, Jeff Poskanzer, and Kaustubh Prabhu. 2014. iPerf - The ultimate speed test tool for TCP, UDP and SCTP. (2014).
[12]
Paul Emmerich, Sebastian Gallenmüller, Daniel Raumer, Florian Wohlfart, and Georg Carle. 2015. MoonGen: a scriptable high-speed packet generator. In Proceedings of the 2015 ACM Conference on Internet Measurement Conference. ACM, 275--287.
[13]
ETSI-GS-NFV-002. 2013. Network Functions Virtualization (NFV): Architectural Framework. http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf. (2013). [online].
[14]
Wu-chang Feng, Dilip Kandlur, Debanjan Saha, and Kang Shin. 1999. BLUE: A new class of active queue management algorithms. Ann Arbor 1001 (1999), 48105.
[15]
Sally Floyd and Van Jacobson. 1993. Random Early Detection Gateways for Congestion Avoidance. IEEE/ACM Trans. Netw. 1, 4 (Aug. 1993), 397--413.
[16]
Aaron Gember, Anand Krishnamurthy, Saul St John, Robert Grandl, Xiaoyang Gao, Ashok Anand, Theophilus Benson, Aditya Akella, and Vyas Sekar. 2013. Stratos: A network-aware orchestration layer for middleboxes in the cloud. Technical Report.
[17]
Ali Ghodsi, Vyas Sekar, Matei Zaharia, and Ion Stoica. 2012. Multi-resource Fair Queueing for Packet Processing. SIGCOMM Comput. Commun. Rev. 42, 4 (Aug. 2012), 1--12. https://doi.org/10.1145/2377677.2377679
[18]
Pawan Goyal, Harrick M Vin, and Haichen Chen. 1996. Start-time fair queueing: A scheduling algorithm for integrated services packet switching networks. In ACM SIGCOMM Computer Communication Review, Vol. 26. ACM, 157--168.
[19]
Leo J Guibas and Robert Sedgewick. 1978. A dichromatic framework for balanced trees. In Foundations of Computer Science, 1978., 19th Annual Symposium on. IEEE, 8--21.
[20]
J Halpern and C Pignataro. 2015. RFC 7665: Service Function Chaining (SFC) Architecture. https://tools.ietf.org/html/rfc7665. (2015). [online].
[21]
Sangjin Han, Keon Jang, Aurojit Panda, Shoumik Palkar, Dongsu Han, and Sylvia Ratnasamy. 2015. SoftNIC: A Software NIC to Augment Hardware. Technical Report UCB/EECS-2015-155. EECS Department, University of California, Berkeley. http://www.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-155.html
[22]
Keqiang He, Eric Rozner, Kanak Agarwal, Yu Jason Gu, Wes Felter, John Carter, and Aditya Akella. 2016. AC/DC TCP: Virtual congestion control enforcement for datacenter networks. In Proceedings of the 2016 conference on ACM SIGCOMM 2016 Conference. ACM, 244--257.
[23]
J. Hwang, K. K. Ramakrishnan, and T. Wood. 2015. NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms. IEEE Transactions on Network and Service Management 12, 1 (March 2015), 34--47. https://doi.org/10.1109/TNSM.2015.2401568
[24]
Raj Jain, Dah-Ming Chiu, and William R Hawe. 1984. A Quantitative Measure of Fairness and Discrimination for Resource Allocation in Shared Computer System. Vol. 38. Eastern Research Laboratory, Digital Equipment Corporation Hudson, MA.
[25]
Dilip A Joseph, Arsalan Tavakoli, and Ion Stoica. 2008. A policy-aware switching layer for data centers. In ACM SIGCOMM Computer Communication Review, Vol. 38. ACM, 51--62.
[26]
Glenn Judd. 2015. Attaining the Promise and Avoiding the Pitfalls of TCP in the Datacenter. In NSDI. 145--157.
[27]
Tom Kelly, Sally Floyd, and Scott Shenker. 2003. Patterns of congestion collapse. International Computer Science Institute, and University of Cambridge (2003).
[28]
D. Lapsley and S. Low. 1999. Random early marking: an optimisation approach to Internet congestion control. In Networks, 1999. (ICON '99) Proceedings. IEEE International Conference on. 67--74. https://doi.org/10.1109/ICON.1999.796161
[29]
Changhyun Lee, Chunjong Park, Keon Jang, Sue B Moon, and Dongsu Han. 2015. Accurate Latency-based Congestion Feedback for Datacenters. In USENIX Annual Technical Conference. 403--415.
[30]
Yang Li, Linh Thi Xuan Phan, and Boon Thau Loo. 2016. Network functions virtualization with soft real-time guarantees. In Computer Communications, IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on. IEEE, 1--9.
[31]
Jonathan Mace, Peter Bodik, Madanlal Musuvathi, Rodrigo Fonseca, and Krishnan Varadarajan. 2016. 2DFQ: Two-Dimensional Fair Queuing for Multi-Tenant Cloud Services. In Proceedings of the 2016 ACM SIGCOMM Conference (SIGCOMM '16). ACM, New York, NY, USA, 144--159. https://doi.org/10.1145/2934872.2934878
[32]
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 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14). USENIX Association, Seattle, WA, 459--473. https://www.usenix.org/conference/nsdi14/technical-sessions/presentation/martins
[33]
Paul Menage. 2017. Linux Kernel Documentation: CGROUPS. https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt. (2017). [online].
[34]
Dirk Merkel. 2014. Docker: Lightweight Linux Containers for Consistent Development and Deployment. Linux J. 2014, 239, Article 2 (March 2014).
[35]
Radhika Mittal, Nandita Dukkipati, Emily Blem, Hassan Wassel, Monia Ghobadi, Amin Vahdat, Yaogong Wang, David Wetherall, David Zats, et al. 2015. TIMELY: RTT-based Congestion Control for the Datacenter. In ACM SIGCOMM Computer Communication Review, Vol. 45. ACM, 537--550.
[36]
Jeffrey C Mogul and KK Ramakrishnan. 1997. Eliminating receive livelock in an interrupt-driven kernel. ACM Transactions on Computer Systems 15, 3 (1997), 217--252.
[37]
Ingo Molnar. 2017. Linux Kernel Documentation: CFS Scheduler Design. https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt. (2017).
[38]
Robert Olsson. 2005. Pktgen the linux packet generator. In Proceedings of the Linux Symposium, Ottawa, Canada, Vol. 2. 11--24.
[39]
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.2815423
[40]
Abhay K Parekh and Robert G Gallagher. 1994. A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Multiple Node Case. IEEE/ACM Transactions on Networking (ToN) 2, 2 (1994), 137--150.
[41]
Shriram Rajagopalan, Dan Williams, Hani Jamjoom, and Andrew Warfield. 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). USENIX, 227--240.
[42]
K.K. Ramakrishnan, S. Floyd, and D. Black. 2001. RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP. https://tools.ietf.org/html/rfc3168. (2001). [online].
[43]
Luigi Rizzo. 2012. netmap: A Novel Framework for Fast Packet I/O. In USENIX Annual Technical Conference. USENIX, Berkeley, CA, 101--112. https://www.usenix.org/conference/usenixfederatedconferencesweek/netmap-novel-framework-fast-packet-io
[44]
Luigi Rizzo, Stefano Garzarella, Giuseppe Lettieri, and Vincenzo Maffione. 2016. A Study of Speed Mismatches Between Communicating Virtual Machines. In Proceedings of the 2016 Symposium on Architectures for Networking and Communications Systems (ANCS '16). ACM, New York, NY, USA, 61--67. https://doi.org/10.1145/2881025.2881037
[45]
Luigi Rizzo, Paolo Valente, Giuseppe Lettieri, and Vincenzo Maffione. 2016. PSPAT: software packet scheduling at hardware speed. http://info.iet.unipi.it/~luigi/papers/20160921-pspat.pdf. (2016). [online].
[46]
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 (NSDI'12). USENIX Association, Berkeley, CA, USA, 24--24.
[47]
Madhavapeddi Shreedhar and George Varghese. 1996. Efficient fair queuing using deficit round-robin. IEEE/ACM Transactions on networking 4, 3 (1996), 375--385.
[48]
Anirudh Sivaraman, Suvinay Subramanian, Mohammad Alizadeh, Sharad Chole, Shang-Tse Chuang, Anurag Agrawal, Hari Balakrishnan, Tom Edsall, Sachin Katti, and Nick McKeown. 2016. Programmable Packet Scheduling at Line Rate. In Proceedings of the 2016 conference on ACM SIGCOMM 2016 Conference. ACM, 44--57.
[49]
Dimitrios Stiliadis and Anujan Varma. 1998. Efficient fair queueing algorithms for packet-switched networks. IEEE/ACM Transactions on Networking (ToN) 6, 2 (1998), 175--185.
[50]
Dimitrios Stiliadis and Anujan Varma. 1998. Rate-proportional servers: a design methodology for fair queueing algorithms. IEEE/ACM Transactions on networking 6, 2 (1998), 164--174.
[51]
Ion Stoica, Scott Shenker, and Hui Zhang. 2003. Core-stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High-speed Networks. IEEE/ACM Trans. Netw. 11, 1 (Feb. 2003), 33--46. https://doi.org/10.1109/TNET.2002.808414
[52]
Rahul Upadhyaya, CB Anantha Padmanabhan, Meenakshi Sundaram Lakshmanan, and Satya Routray. 2016. Optimising NFV Service Chains on OpenStack Using Docker. https://www.openstack.org/videos/video/optimising-nfv-service-chains-on-openstack-using-docker. (April 2016).
[53]
Lixia Zhang. 1991. VirtualClock: a new traffic control algorithm for packet-switched networks. ACM Transactions on Computer Systems (TOCS) 9, 2 (1991), 101--124.
[54]
Wei Zhang, Guyue Liu, Wenhui Zhang, Neel Shah, Phillip Lopreiato, Gregoire Todeschi, K.K. Ramakrishnan, and Timothy Wood. 2016. OpenNetVM: A Platform for High Performance Network Service Chains. In Proceedings of the 2016 Workshop on Hot Topics in Middleboxes and Network Function Virtualization (Hot-MIddlebox '16). ACM, New York, NY, USA, 26--31. https://doi.org/2940147.2940155

Cited By

View all
  • (2024)Programmable Real-Time Scheduling of Disaggregated Network Functions2024 IFIP Networking Conference (IFIP Networking)10.23919/IFIPNetworking62109.2024.10619906(1-7)Online publication date: 3-Jun-2024
  • (2024)Programming Network Stack for Physical Middleboxes and Virtualized Network FunctionsIEEE/ACM Transactions on Networking10.1109/TNET.2023.330764132:2(971-986)Online publication date: Apr-2024
  • (2024)AggVNF: Aggregate VNF Allocation and Migration in Dynamic Cloud Data Centers2024 IEEE 10th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft60951.2024.10588942(73-81)Online publication date: 24-Jun-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCOMM '17: Proceedings of the Conference of the ACM Special Interest Group on Data Communication
August 2017
515 pages
ISBN:9781450346535
DOI:10.1145/3098822
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Backpressure
  2. Cgroups
  3. NF-Scheduling
  4. Network Functions (NF)

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SIGCOMM '17
Sponsor:
SIGCOMM '17: ACM SIGCOMM 2017 Conference
August 21 - 25, 2017
CA, Los Angeles, USA

Acceptance Rates

Overall Acceptance Rate 462 of 3,389 submissions, 14%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)162
  • Downloads (Last 6 weeks)19
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Programmable Real-Time Scheduling of Disaggregated Network Functions2024 IFIP Networking Conference (IFIP Networking)10.23919/IFIPNetworking62109.2024.10619906(1-7)Online publication date: 3-Jun-2024
  • (2024)Programming Network Stack for Physical Middleboxes and Virtualized Network FunctionsIEEE/ACM Transactions on Networking10.1109/TNET.2023.330764132:2(971-986)Online publication date: Apr-2024
  • (2024)AggVNF: Aggregate VNF Allocation and Migration in Dynamic Cloud Data Centers2024 IEEE 10th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft60951.2024.10588942(73-81)Online publication date: 24-Jun-2024
  • (2024)Train Once Apply Anywhere: Effective Scheduling for Network Function Chains Running on FUMESIEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621125(661-670)Online publication date: 20-May-2024
  • (2023)GreenNFV: Energy-Efficient Network Function Virtualization with Service Level Agreement ConstraintsProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607090(1-12)Online publication date: 12-Nov-2023
  • (2023) NFVPermit: Toward Ensuring Performance Isolation in NFV-Based Systems IEEE Transactions on Network and Service Management10.1109/TNSM.2023.327873120:2(1717-1732)Online publication date: Jun-2023
  • (2023)SAFE: Service Availability via Failure Elimination Through VNF ScalingIEEE/ACM Transactions on Networking10.1109/TNET.2022.323348831:5(2042-2057)Online publication date: Oct-2023
  • (2023)Autothrottle: Satisfying Network Performance Requirements for ContainersIEEE Transactions on Cloud Computing10.1109/TCC.2022.318639711:2(2096-2109)Online publication date: 1-Apr-2023
  • (2023)X-IO: A High-performance Unified I/O Interface using Lock-free Shared Memory Processing2023 IEEE 9th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft57336.2023.10175428(107-115)Online publication date: 19-Jun-2023
  • (2023)Performance and Application Scenario Evaluation of Network Hardware Queue2023 IEEE 3rd International Conference on Computer Communication and Artificial Intelligence (CCAI)10.1109/CCAI57533.2023.10201305(326-330)Online publication date: 26-May-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media