SmartNIC Data Processing Units (DPUs) offer a promising solution for saving high-end CPU resources by offloading tasks to programmable cores near the network interface. In this work, we explore the feasibility of SmartNIC DPUs in supporting an asynchronous communication model called "fire-and-forget", particularly its core message routing service. We design a communication offloading engine called Buddy that decouples communication tasks from the application process. Buddy runs flexibly on SmartNIC DPUs such as the Nvidia BlueField-3 DPU and generic x86 CPUs. Our evaluation results in five applications identify the memory-to-communication ratio as a key predictor of the offloading performance. Host-dominated workloads, such as Quicksilver and Sparse Matrix Transpose, achieved up to 1.55x speedup with communication offloaded to the DPU. We further identify a 625x increase in DRAM traffic due to the absence of Direct Cache Access support on the DPU, highlighting a critical need in future SmartNIC designs.
翻译:智能网卡数据处理单元(SmartNIC DPU)通过将任务卸载至网络接口附近的可编程核心,为节省高端CPU资源提供了一种前景广阔的解决方案。本研究探索SmartNIC DPU支持名为"fire-and-forget"的异步通信模型(尤其是其核心消息路由服务)的可行性。我们设计了一款名为Buddy的通信卸载引擎,该引擎可将通信任务与应用进程解耦。Buddy可灵活运行于Nvidia BlueField-3 DPU等SmartNIC DPU及通用x86 CPU上。针对五个应用程序的评估结果表明,内存与通信的比值是卸载性能的关键预测指标。在Quicksilver和稀疏矩阵转置等主机密集型负载中,将通信卸载至DPU实现了最高1.55倍的加速。我们进一步发现,因DPU缺乏直接缓存访问支持,DRAM流量增加了625倍,这凸显了未来SmartNIC设计中的关键需求。