Full-system simulation of computer systems is critical to capture the complex interplay between various hardware and software components in future systems. Modeling the network subsystem is indispensable to the fidelity of the full-system simulation due to the increasing importance of scale-out systems. The network software stack has undergone major changes over the last decade, and kernel-bypass networking stacks and data-plane networks are rapidly replacing the conventional kernel network stack. Nevertheless, the current state-of-the-art architectural simulators still use kernel networking which precludes realistic network application scenarios. In this work, we enable kernel bypass networking stack on gem5, the state-of-the-art full-system architectural simulator. We extend gem5's NIC hardware model and device driver to enable the support for userspace device drivers to run the DPDK framework. We also implement a network load generator hardware model in gem5 to generate various traffic patterns and perform per-packet timestamp and latency measurements without introducing packet loss. Our experimental results show that DPDK's simulated network bandwidth scales with the number of cores and NIC ports. As two use cases, we analyze the sensitivity of (1) network performance to several microarchitectural parameters, and (2) direct cache access (DCA) technology to DPDK burst size.
翻译:计算机系统的全系统模拟对于捕捉未来系统中各种硬件和软件组成部分之间的复杂相互作用至关重要。 网络子系统模型化对于全系统模拟的忠实性来说是不可或缺的。 网络软件堆在过去十年中经历了重大变化, 网络软件堆叠和数据平面网络正在迅速取代常规的内核网络堆叠。 然而, 目前最先进的建筑模拟器仍然使用内核网络, 从而排除了现实的网络应用方案。 在这项工作中, 我们让内核绕过宝石5的网络堆, 即最先进的全系统建筑模拟器。 我们扩展了宝石5的内核硬件模型和装置驱动器, 以便支持用户空间设备驱动器运行 DPDK 框架。 我们还在宝石5 中安装一个网络载荷发电机硬件模型, 以生成各种交通模式, 进行每包时间戳和耐光度测量, 而不引入包损失。 我们的实验结果表明, DPDK 模拟网络的网络带宽带宽的网络连接器库, 并分析核心网络和缓存参数的数量。