Scaling Network Emulation to Data Centers for Heterogeneous Containerized Network Devices

XJTU 2024 CSUC Submission4 Authors

30 Mar 2024 (modified: 03 Apr 2024)XJTU 2024 CSUC SubmissionEveryoneRevisionsBibTeXCC BY 4.0
Keywords: operating system, routing software, container, network emulation
Abstract: In data centers, to verify the feasibility of coupling, and efficiency of network device configuration, huge effort has been put into network *simulation* and *emulation*. While emulation with VM is greatly limiting the scalability, simulation also suffers from a lack of fidelity to the devices it models. We confirm this problem by conducting test of single-machine emulation/simulation, discovering large scalability gap in between. To further identify the bottleneck of emulation scalability, we delve into two major aspects: virtual network interfaces and process isolation. We find out that the disproportional size of unnecessary NICs, redundant encapsulation / decapsulation via kernel network stack, and process switching overhead are the major causes of this problem. Observing that *containers* has gradually become the *de facto* way of distributing open source / proprietary routing software suite, we proposed NetEmos, a *single process*, *scalable* network emulation operating system with *zero modification* to containerized routing software suites. NetEmos stripes the socket functionality from kernel to user space, leading to effortless manipulation of emulation network traffic, lowering the spacial complexity from factorial to linear. Also, NetEmos combines the functionality of multiple process into a group of threads, significantly lowers the TLB flush / cache invalidation rate. Benchmark experiments show that NetEmos successfully scaled container-based network emulation, making it approaches the limit of inaccurate simulators while maintaining its fidelity.
Submission Number: 4