A Virtual Time System for Linux-container-based Emulation of Software-defined Networks

A Virtual Time System for Linux-container-based Emulation of Software-defined Networks
复制标题

用于基于 Linux 容器的软件定义网络仿真的虚拟时间系统

DOI:
--
复制
发表时间:
2015
期刊:
SIGSIM Principles of Advanced Discrete Simulation
影响因子:
--
通讯作者:
Dong Jin
Dong Jin
中科院分区:
--
文献类型:
--
作者:
Jiaqi Yan;Dong Jin

文献摘要

被引文献

相似文献

真实的和可扩展的测试系统对于评估网络应用和协议以确保成功的真实的系统部署至关重要。基于容器的网络仿真由于结合了网络仿真器和物理试验台的许多期望特性而具有吸引力。Mininet是一个流行的软件定义网络(SDN)仿真测试平台,它的成功证明了这种方法的价值,即我们可以使用轻量级操作系统级虚拟化技术在大规模仿真网络上执行未经修改的二进制代码。然而,普通的网络模拟器在所有容器上使用系统时钟,即使容器没有被调度运行。这导致了时间保真度的问题,特别是在高工作负载的情况下。虚拟时间揭示了大规模仿真中保持时间保真度的问题。关键的洞察力是通过精确地将容器和物理设备之间的交互时间缩放n倍来与系统资源进行时间交易,因此,从容器中应用程序的角度来看,仿真网络看起来要快n倍。在本文中,我们开发了一个轻量级的Linux容器为基础的虚拟时间系统,并集成到Mininet的保真度和可扩展性的增强系统。为了平衡速度和准确性,我们还设计了一个自适应时间膨胀调度模块。实验结果表明:(1)采用虚拟时间,Mininet能够准确模拟n倍规模的网络,其中n为比例因子,系统行为与物理测试床获得的数据非常匹配;(2)采用自适应时间膨胀调度,在精度损失很小的情况下,运行时间减少了46%。最后,我们提出了一个案例研究,使用虚拟时间启用Mininet的等价多路径(ECMP)路由在数据中心网络的局限性进行评估。
Realistic and scalable testing systems are critical to evaluate network applications and protocols to ensure successful real system deployments. Container-based network emulation is attractive because of the combination of many desired features of network simulators and physical testbeds. The success of Mininet, a popular software-defined networking (SDN) emulation testbed, demonstrates the value of such approach that we can execute unmodified binary code on a large-scale emulated network with lightweight OS-level virtualization techniques. However, an ordinary network emulator uses the system clock across all the containers even if a container is not being scheduled to run. This leads to the issue of temporal fidelity, especially with high workloads. Virtual time sheds the light on the issue of preserving temporal fidelity for large-scale emulation. The key insight is to trade time with system resources via precisely scaling the time of interactions between containers and physical devices by a factor of n, hence, making an emulated network appear to be n times faster from the viewpoints of applications in the container. In this paper, we develop a lightweight Linux-container-based virtual time system and integrate the system to Mininet for fidelity and scalability enhancement. We also design an adaptive time dilation scheduling module for balancing speed and accuracy. Experimental results demonstrate that (1) with virtual time, Mininet is able to accurately emulate a network n times larger in scale, where n is the scaling factor, with the system behaviors closely match data obtained from a physical testbed; and (2) with the adaptive time dilation scheduling, we reduce the running time by 46% with little accuracy loss. Finally, we present a case study using the virtual-time-enabled Mininet to evaluate the limitations of equal-cost multi-path (ECMP) routing in a data center network.