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.
Supplemental Material
- T. Barbette, C. Soldani, and L. Mathy. Fast userspace packet processing. In ANCS 2015. Google ScholarDigital Library
- R. Cohen, L. Lewin-Eytan, J. S. Naor, and D. Raz. Near optimal placement of virtual network functions. In INFOCOM 2015.Google ScholarCross Ref
- Daniel E. Eisenbud et al. Maglev: A fast and reliable software network load balancer. In NSDI 2016. Google ScholarDigital Library
- S. de Cnodder, O. Elloumi, and K. Pauwels. Red behavior with different packet sizes. In ISCC 2000.Google ScholarCross Ref
- 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 ScholarDigital Library
- E. Kohler et al. The Click modular router. ACM Trans. Computer Systems, 18(1), 2000. Google ScholarDigital Library
- Intel Corporation. DPDK: Data Plane Development Kit. http://dpdk.org/.Google Scholar
- 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 ScholarDigital Library
- V. Olteanu and C. Raiciu. Datacenter scale load balancing for multipath transport. In HotMiddlebox 2016. Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- L. Rizzo. netmap: A novel framework for fast packet i/o. In Proc. USENIX Annual Technical Conference, 2012. Google ScholarDigital Library
- D. Wischik, M. Handley, and M. B. Braun. The resource pooling principle. SIGCOMM CCR October 2008. Google ScholarDigital Library
- D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley. Design, implementation and evaluation of congestion control for multipath tcp. In NSDI 2011. Google ScholarDigital Library
Index Terms
- Sharing CPUs via Endpoint Congestion Control
Recommendations
Unreliable transport protocol using congestion control for high-speed networks
Currently there is no control for the real-time traffic of multimedia applications using UDP (User Datagram Protocol) in high-speed networks. Therefore, although a number of high-speed TCP (Transmission Control Protocol) protocols have been developed ...
Robust and fair Multicast Congestion Control (M2C)
Since 1995 and the Receiver-driven Layered Multicast (RLM) protocol, numerous multicast congestion control protocols have been proposed, such as RLC, FLID-SL, FLID-DL and finally the WEBRC protocol. However these protocols suffer from some limitations ...
An efficient and fair explicit congestion control protocol for high bandwidth-delay product networks
XCP and VCP can achieve excellent performance under high bandwidth-delay product networks, but they all have some defects. In XCP, router needs to calculate a feedback for each departing packet, the cost will be un-negligible in high-speed networks. In ...
Comments