Network speeds grow quickly in the modern cloud, so SmartNICs are introduced to offload network processing tasks, even application logic. However, typical multicore SmartNICs such as BlueFiled-2 are only capable of processing control-plane tasks with their embedded CPU that has limited memory bandwidth and computing power. On the other hand, hot cloud applications evolve, such that a limited number of fixed hardware engines in a SmartNIC cannot satisfy the requirements of cloud applications. Therefore, SmartNIC programmers call for a programmable datapath accelerator (DPA) to process network traffic at line rate. However, no existing work has unveiled the performance characteristics of the existing DPA. To this end, we present the first architectural characterization of the latest DPA-enhanced BF3 SmartNIC. Our evaluation results indicate that BF3's DPA is much wimpier than the off-path Arm and the host CPU. However, we still identify that DPA has three unique architectural characteristics that unleash the performance potential of DPA. Specifically, we demonstrate how to take advantage of DPA's three architectural characteristics regarding computing, networking, and memory subsystems. Then we propose three important guidelines for programmers to fully unleash the potential of DPA. To demonstrate the effectiveness of our approach, we conduct detailed case studies regarding each guideline. Our case study on key-value aggregation service achieves up to 4.3$\times$ higher throughput by using our guidelines to optimize memory combinations.
翻译:现代云环境中网络速度快速增长,因此引入了智能网卡来卸载网络处理任务乃至应用逻辑。然而,典型的众核智能网卡(如BlueField-2)仅能利用其嵌入式CPU处理控制平面任务,而该CPU的内存带宽和计算能力有限。另一方面,热门云应用不断演进,智能网卡中有限数量的固定硬件引擎无法满足云应用的需求。因此,智能网卡程序员呼吁使用可编程数据通路加速器(DPA,Datapath Accelerator)以线速处理网络流量。但现有工作尚未揭示当前DPA的性能特征。为此,我们首次对最新DPA增强型BF3智能网卡的架构特征进行了刻画。评估结果表明,BF3的DPA性能远弱于旁路Arm处理器和主机CPU。然而,我们仍发现DPA在计算、网络和内存子系统方面具有三个独特的架构特征,可释放其性能潜力。具体地,我们展示了如何利用DPA的这三项架构特征,并提出了三条重要指南以帮助程序员充分释放DPA潜力。为验证方法的有效性,我们针对每条指南开展了详细案例研究。以键值聚合服务的案例为例,通过优化内存组合,吞吐量提升了最高4.3倍。