Octopus: A Fair Packet Delivery Service
Junzhi Gong, Yuliang Li, Devdeep Ray, KK Yap, Nandita Dukkipati
TL;DR
Octopus tackles the problem of fair multicast delivery in shared cloud environments by defining fairness as $\max_i RT_i - \min_i RT_i$ and releasing packets at a global time $T_{release} = T_{now} + \delta$. Its approach combines NIC hardware time-based release with agents deployed on local SmartNICs for each receiver, significantly reducing software jitter and post-release queuing. The key contributions are (i) repurposing NIC traffic shaping for nanosecond-scale release accuracy and (ii) placing agents on SmartNICs to minimize path variations, achieving less than ~$40$ ns unfairness for the vast majority of packets in evaluation. The results suggest practical impact for latency-sensitive cloud applications, enabling broad fair multicast support without heavy on-premise customization or application changes.
Abstract
The packet delivery fairness is critical in many applications in the cloud, such as exchange systems, consensus protocols, and online gaming applications. However, due to nonidentical and dynamic packet forwarding paths, as well as many in-network queuing delays, supporting packet delivery fairness is challenging in a shared compute environment. In this paper, we present Octopus, the first general fair packet delivery service to achieve packet arrival time variations smaller than tens of nanoseconds, with the existence of latency variations in the network. The key ideas of Octopus to support such good fairness come from repurposing hardware traffic shaping capabilities in modern NICs, and deploying agents at local SmartNICs to minimize latency variations from packet forwarding. Evaluation results show that Octopus has less than 40 ns unfairness for up to 99.97\% multicast packets.
