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在支持“发射后不管”异步通信模型方面的可行性,特别是其核心消息路由服务。我们设计了一种名为Buddy的通信卸载引擎,该引擎将通信任务从应用程序进程中解耦。Buddy可灵活运行于Nvidia BlueField-3 DPU等SmartNIC DPU以及通用x86 CPU之上。我们在五个应用上的评估结果表明,内存与通信比率是卸载性能的关键预测指标。以主机为主导的工作负载(如Quicksilver和稀疏矩阵转置)在将通信卸载至DPU后,加速比可达1.55倍。此外,我们发现由于DPU缺乏直接缓存访问支持,DRAM流量增加了625倍,这凸显了未来SmartNIC设计中的一个关键需求。