Full system "end-to-end" measurements in physical testbeds are the gold standard for network systems evaluation but are often not feasible. When physical testbeds are not available we frequently turn to simulation for evaluation. Unfortunately, existing simulators are insufficient for end-to-end evaluation, as they either cannot simulate all components, or simulate them with inadequate detail. We address this through modular simulation, flexibly combining and connecting multiple existing simulators for different components, including processor and memory, devices, and network, into virtual end-to-end testbeds tuned for each use-case. Our architecture, SimBricks, combines well-defined component interfaces for extensibility and modularity, efficient communication channels for local and distributed simulation, and a co-designed efficient synchronization mechanism for accurate timing across simulators. We demonstrate SimBricks scales to 1000 simulated hosts, each running a full software stack including Linux, and that it can simulate testbeds with existing NIC and switch RTL implementations. We also reproduce key findings from prior work in congestion control, NIC architecture, and in-network computing in SimBricks.
翻译:物理测试床的完整系统“ 端到端” 测量是网络系统评估的金标准,但往往不可行。当物理测试床没有可用时,我们经常转而进行模拟评估。 不幸的是,现有的模拟器不足以进行端到端评价,因为它们不能模拟所有组件,或不能以不够详细的方式模拟它们。 我们通过模块模拟、灵活结合和连接不同部件(包括处理器和内存、装置和网络)的多种现有模拟器,将其连接到针对每个使用案例的虚拟端到端测试床。 我们的建筑、 SimBricks 将定义明确的可扩展性和模块化的组件界面、 高效的本地和分布模拟通信渠道以及共同设计的高效同步机制, 用于准确的模拟器。 我们向1000个模拟主机展示了SimBricks 比例, 每个主机都运行包括Linux在内的全套软件堆, 它可以模拟测试床, 并转换现有的NIC 和RTL 执行程序。 我们还复制了先前在SimBricks 中进行的挤压控制、 和网络内计算工作的关键发现。