[网络领域顶会追踪系列#29][ATC'22]为高性能网络仿真选择 Linux 进程

Co-opting Linux Processes for High-Performance Network Simulation

作者单位:Naval Research Laboratory,Tor Project,Georgetown University

背景

网络实验工具在开发、评估、测试分布式系统的过程中非常重要。

挑战

最先进的仿真(simulation)工具要么在大规模时非常低效率,要么被不可忽视的架构挑战所限制,阻止了其广泛使用。

工作

在本文中,作者提出了Phantom(与Shadow v2是一回事,但本文中使用Phantom作为方案)的设计和实现,Phantom是进行分布式系统实验的新型工具。

在Phantom,一个离散事件网络仿真器直接将未经修改的应用程序作为Linux进程执行,并创新地综合了高效进程控制、系统调用interposition和数据传输方法,以将进程融合进仿真环境中。

实验

实验表明,在大规模P2P基准测试中,在 Phantom最多比Shadow快2.2倍,最多比NS-3快3.4倍,最多比gRaIL快43倍,同时在大型ToR网络仿真中,提供了与Shadow相似的性能。

原文摘要

Network experimentation tools are vitally important to the process of developing, evaluating, and testing distributed systems. The state-of-the-art simulation tools are either prohibitively inefficient at large scales or are limited by nontrivial architectural challenges, inhibiting their widespread adoption. In this paper, we present the design and implementation of Phantom, a novel tool for conducting distributed system experiments. In Phantom, a discrete-event network simulator directly executes unmodified applications as Linux processes and innovatively synthesizes efficient process control, system call interposition, and data transfer methods to co-opt the processes into the simulation environment. Our evaluation demonstrates that Phantom is up to 2.2× faster than Shadow, up to 3.4× faster than NS-3, and up to 43× faster than gRaIL in large P2P benchmarks while offering performance comparable to Shadow in large Tor network simulations.