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.
翻译:随着当今数据中心的CPU递减速度放缓,更多的功能正在从CPU上卸下,从CPU到辅助设备。 其中一个装置是SmartNIC, 它正在越来越多地被数据中心采用。 在今天的云层环境中,同一服务器上的VMs可以拥有自己的网络计算(或网络任务)或网络任务工作流程,可以卸载到智能NIC。 这些网络任务可以随着VMs的到来和去而动态地添加/移动,并且可以在VMs之间共享。 这种动态要求智能NIC不仅安排和处理软件包,而且还管理和执行不同用户的卸载网络任务。 虽然在管理基于软件的网络任务方面存在着软件解决方案, 但是在今天的云层环境中,这种基于软件的SmartNIC系统无法跟上迅速增加的数据中心网络任务计算(或网络任务任务)或工作流程。 本文提出一个新的智能NIC平台可以让多个租户高效和安全地卸载基于FPGA的网络计算DAGS。 为了效率和可缩放性, 我们的核心思想是将网络任务分组成链, 连接和排成一个单位。 我们进一步提议自动分享成本共享的系统, 分享, 分享我们公平的系统格式。