Justitia-Software Multi-Tenancy in Hardware Kernel-Bypass Networks

introduction

现在有两种kernel bypass network,一种是software-based,就是DPDK。另一种是hardware-based的,就是RDMA。

现有的硬件KBN对多租户的支持很差,共享相同的网卡会导致严重的性能异常,包括不可预测的延迟、throttled的吞吐量(即较低的消息速率)和不公平的带宽共享。由于三个独特的挑战,现有的软件KBN解决方案不能应用于基于硬件的KBN。

  1. 因为主机CPU不再参与,所以不能应用基于CPU的普通资源分配机制。相反,租户在没有CPU成本的情况下发出具有任意数据负载的RDMA操作,这使得没有明显的控制点来施加资源调解。
  2. 硬件卸载将用户空间的数据包化带入网卡,在数据包层面禁用细粒度的用户空间shaping[27, 51]。
  3. 在提供多租户支持的同时,保持基于硬件的KBN的效率(即单μs的延迟和低CPU成本1)也是至关重要的。

Background

第一部分介绍了host-RNIC interaction when posting RDMA WRITE和READ

第二部分介绍了RDMA缺乏对多租户的支持,主要有两个原因:(i)租户/应用竞争多个RNIC资源,(ii)RNIC以贪婪的方式处理准备消费的消息,以最大化利用率。

Performance Isolation Anomalies in RDMA

通过一些实验确定不同RDMA实现中的常见隔离异常。

定义的几种sensitive

  1. Latency-Sensitive: Sends small messages and cares about the individual message latencies.
  2. Throughput-Sensitive: Sends small messages in batches to maximize the number of messages sent per second.
  3. Bandwidth-Sensitive: Sends large messages with high bandwidth requirements.

主要发现的总结。

  • latency-sensitive和throughput-sensitve的应用都需要与bandwidth-sensitive的应用隔离(§3.1.1)。
  • 如果只有latency-sensitive或throughput-sensitive的应用(或两种类型的混合)在竞争,they are isolated from each other(§3.1.2)。
  • 多个bandwidth-sensitive的应用会导致不公平的带宽分配,这取决于它们的消息大小(§3.1.3)。
  • 高度优化的、最先进的基于RDMA的系统也会受到我们发现的异常现象的影响(§3.2)。

Design

Justitia通过五个关键设计理念解决了在硬件KBN中实现多租户的独特挑战。

  • 租户/应用级的连接管理。为了防止租户通过发布任意大的消息或免费创建大量的活动QP来占用RNIC的资源,Justitia通过在租户应用和RNIC之间添加一个shim layer来提供一个租户级连接管理方案。租户操作在到达RNIC之前由Justitia处理。
  • 基于发送者的主动资源调解。Justitia在发件人端主动控制RNIC的资源利用。这是基于这样的观察:RDMA操作的发送方--决定操作何时启动、消息有多大、消息流向--对传输的每个方面都有主动控制,而连接的另一方则保持被动。这种基于发件人的控制可以在RNIC接管之前做出反应,并通过直接控制RNIC资源来保持隔离。
  • 动态接收方更新。纯粹的基于发件人的方法有时会导致虚假的资源分配,当多个发件人共存但不知道对方的情况时。Justitia利用接收方更新来提供信息(例如,一个应用程序的到达或离开)回馈给发送方,以便在设置发生变化时做出正确反应。
  • 被动的延迟监测。Justitia没有主动测量每个应用程序的延迟,因为这可能会引入高开销,而是通过issuing reference flows来检测RNIC的资源争夺,从而使用被动延迟监测。
  • 消息级别的shaping with splitting。Justitia在消息层面进行shaping,以适应RDMA的面向消息的传输层。在消息层面,很容易应用特定的策略来控制消息如何根据它们的大小和它们所占用的资源进入RNIC。大的消息被分割成大小大致相等的子消息或块,以(i)避免单个消息重新追求过多的RNIC资源;(ii)促进网络共享政策,如公平/加权带宽共享;(iii)减轻延迟敏感应用的HOL阻塞。

System Overview

Justitia Daemon

Justitia Shaper

Dynamic Receiver-Side Updates