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

Sharing CPUs via Endpoint Congestion Control

Authors Info & Claims
Published:09 August 2017Publication History

ABSTRACT

Software network processing relies on dedicated cores and hardware isolation to ensure appropriate throughput guarantees. Such isolation comes at the expense of low utilization in the average case, and severely restricts the number of network processing functions one can execute on a host.

In this paper we propose that multiple processing functions should simply share a CPU core, turning the CPU into a special type of "link". We use multiple NIC receive queues and the FastClick suite to test the feasibility of this approach. We find that, as expected, per core throughput decreases when more processes are contending; however the decrease is not dramatic: around 10% drop with 10 processes, and 50% in the worst case where the processing is very cheap (bridging). We also find that the processor is not shared fairly when the different functions have different per packet costs. Finally, we implement and test in simulation a solution that enables efficient CPU sharing by sending congestion signals proportional to per-packet cost for each flow. This enables endpoint congestion control (e.g. TCP) to react appropriately and share the CPU fairly.

Skip Supplemental Material Section

Supplemental Material

sharingcpusviaendpointcongestioncontrol.webm

webm

115.2 MB

References

  1. T. Barbette, C. Soldani, and L. Mathy. Fast userspace packet processing. In ANCS 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Cohen, L. Lewin-Eytan, J. S. Naor, and D. Raz. Near optimal placement of virtual network functions. In INFOCOM 2015.Google ScholarGoogle ScholarCross RefCross Ref
  3. Daniel E. Eisenbud et al. Maglev: A fast and reliable software network load balancer. In NSDI 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. de Cnodder, O. Elloumi, and K. Pauwels. Red behavior with different packet sizes. In ISCC 2000.Google ScholarGoogle ScholarCross RefCross Ref
  5. M. Dobrescu, N. Egi, K. Argyraki, B. G. Chun, K. Fall, G. Iannaccone, A. Knies, M. Manesh, and S. Ratnasamy. RouteBricks: Exploiting parallelism to scale software routers. In SOSP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. Kohler et al. The Click modular router. ACM Trans. Computer Systems, 18(1), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Intel Corporation. DPDK: Data Plane Development Kit. http://dpdk.org/.Google ScholarGoogle Scholar
  8. S. Kuenzer, A. Ivanov, F. Manco, J. Mendes, Y. Volchkov, F. Schmidt, K. Yasukata, M. Honda, and F. Huici. Unikernels Everywhere: The Case for Elastic CDNs. In VEE 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. V. Olteanu and C. Raiciu. Datacenter scale load balancing for multipath transport. In HotMiddlebox 2016. Google ScholarGoogle ScholarCross RefCross Ref
  10. V. A. Olteanu, F. Huici, and C. Raiciu. Lost in network address translation: Lessons from scaling the world's simplest middlebox. In HotMiddlebox 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Raiciu, S. Barre, C. Pluntke, A. Greenhalgh, D. Wischik, and M. Handley. Improving datacenter performance and robustness with multipath tcp. In SIGCOMM 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. Rizzo. netmap: A novel framework for fast packet i/o. In Proc. USENIX Annual Technical Conference, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Wischik, M. Handley, and M. B. Braun. The resource pooling principle. SIGCOMM CCR October 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley. Design, implementation and evaluation of congestion control for multipath tcp. In NSDI 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Sharing CPUs via Endpoint Congestion Control

        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
          KBNets '17: Proceedings of the Workshop on Kernel-Bypass Networks
          August 2017
          59 pages
          ISBN:9781450350532
          DOI:10.1145/3098583

          Copyright © 2017 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 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].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 August 2017

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader