Skip to main content
QUICK REVIEW

[论文解读] SuperNIC: A Hardware-Based, Programmable, and Multi-Tenant SmartNIC

Yizhou Shan, Will Y. Lin|arXiv (Cornell University)|Sep 16, 2021
Cloud Computing and Resource Management被引用 4
一句话总结

SuperNIC 提出了一种基于硬件的、FPGA 加速的、多租户智能网卡,将网络任务分组为链式结构以实现高效调度,并通过自适应的空间与时间共享机制实现 FPGA 资源的动态、公平分配。它实现了高达 100 Gbps 的带宽、低延迟,并通过支持 DAG 级并行处理和优化的资源分配,使聚合吞吐量相比 DRF 提高了最多 2.3 倍。

ABSTRACT

With CPU scaling slowing down in today's data centers, more functionalities are being offloaded from the CPU to auxiliary devices. One such device is the SmartNIC, which is being increasingly adopted in data centers. In today's cloud environment, VMs on the same server can each have their own network computation (or network tasks) or workflows of network tasks to offload to a SmartNIC. These network tasks can be dynamically added/removed as VMs come and go and can be shared across VMs. Such dynamism demands that a SmartNIC not only schedules and processes packets but also manages and executes offloaded network tasks for different users. Although software solutions like an OS exist for managing software-based network tasks, such software-based SmartNICs cannot keep up with the quickly increasing data-center network speed. This paper proposes a new SmartNIC platform called SuperNIC that allows multiple tenants to efficiently and safely offload FPGA-based network computation DAGs. For efficiency and scalability, our core idea is to group network tasks into chains that are connected and scheduled as one unit. We further propose techniques to automatically scale network task chains with different types of parallelism. Moreover, we propose a fair share mechanism that considers both fair space sharing and fair time sharing of different types of hardware resources. Our FPGA prototype of SuperNIC achieves high bandwidth, low latency performance whilst efficiently utilizing and fairly sharing resources.

研究动机与目标

  • 应对现代数据中心网络速度不断提升(100–400 Gbps)所带来的对硬件加速、多租户智能网卡日益增长的需求。
  • 克服基于软件的智能网卡以及现有硬件解决方案在 FPGA 基础网络功能卸载中缺乏原生支持动态、安全、公平多租户机制的局限性。
  • 在多个租户之间实现低延迟、高吞吐量的复杂、用户自定义网络任务 DAG(有向无环图)的高效执行。
  • 设计一种公平的资源共享机制,在动态工作负载下联合优化 FPGA 资源的空间共享(区域分配)与时间共享(上下文切换)。
  • 证明硬件型智能网卡可在真实工作负载中实现线速性能,同时支持灵活、安全且可扩展的多租户机制。

提出的方法

  • 将网络任务组织为通过交叉开关连接的链式结构,通过减少交叉开关的复杂性,降低 FPGA 资源占用和切换延迟。
  • 支持链内动态跳过机制,避免对无需完整 DAG 执行的报文进行不必要的处理。
  • 引入两种并行机制:(1) 链间并行性,以减少端到端 DAG 执行时间;(2) 实例级并行性,以提升整体吞吐量。
  • 根据工作负载需求、资源可用性以及用户指定的资源份额,自动确定最优并行级别。
  • 设计一种混合公平算法,联合管理租户之间的空间共享(FPGA 区域分配)与时间共享(上下文切换)。
  • 通过流水线执行和高效的上下文管理,隐藏时间共享的开销,以维持低延迟。

实验结果

研究问题

  • RQ1如何构建和调度网络任务链,以在多租户智能网卡中最小化 FPGA 资源使用量和切换延迟?
  • RQ2在基于 DAG 的网络功能卸载中,哪种并行机制(链间并行、实例级并行)最有效于提升吞吐量并降低延迟?
  • RQ3在结合空间与时间共享的情况下,如何在多个租户之间实现 FPGA 资源的公平共享,尤其是在动态负载下?
  • RQ4硬件型智能网卡是否能够实现线速性能(100 Gbps),同时支持动态、安全且高效的多样化网络任务卸载?
  • RQ5在动态混合工作负载环境中,所提出的公平机制与现有方案(如 DRF)相比表现如何?

主要发现

  • SuperNIC 的 FPGA 原型实现了 100 Gbps 的线速性能并具备低延迟,证明了其在现代数据中心网络中的硬件级可扩展性。
  • 通过使用任务链和交叉开关优化,SuperNIC 降低了 FPGA 资源占用量,并避免了传统基于交叉开关设计的可扩展性瓶颈。
  • 混合公平机制确保了即使在动态负载变化下,各租户也能获得其主导资源的公平份额,优于静态方案和基于 DRF 的方案。
  • 通过支持链间并行和实例级并行,SuperNIC 在多租户工作负载中实现了相比 DRF 基线最高 2.3 倍的聚合吞吐量提升。
  • 在 Clio 的端到端基准测试中,SuperNIC 达到了 Clio 的基线性能,并在启用缓存的情况下,其吞吐量优于 Clover 和 HERD,尤其在 100 Gbps 链路上表现显著。
  • 在 SuperNIC 中集成键值缓存网络任务(NT)显著降低了远程内存访问延迟,突破了原始 Clio 系统中 10 Gbps 的瓶颈,大幅提升了性能。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。