FlexTOE: Flexible TCP Offload with Fine-Grained Parallelism

FlexTOE: Flexible TCP Offload with Fine-Grained Parallelism
复制标题

DOI:
--
复制
发表时间:
2021-10
期刊:
--
影响因子:
--
通讯作者:
R. Shashidhara;Tim Stamler;Antoine Kaufmann;Simon Peter
R. Shashidhara;Tim Stamler;Antoine Kaufmann;Simon Peter
中科院分区:
其他
文献类型:
--
作者:
R. Shashidhara;Tim Stamler;Antoine Kaufmann;Simon Peter

文献摘要

被引文献

相似文献

Flextoe是一种灵活但高性能的TCP卸载发动机(脚趾),可智能。 Flextoe消除了几乎所有主机数据路径TCP处理,并且是完全可定制的。 Flextoe与其他TCP堆栈很好地互动,在不良网络条件下非常健壮,并支持POSIX插座。 Flextoe专注于已建立连接的数据路径卸载,避免了NIC中的复杂控制逻辑和数据包缓冲。 Flextoe利用TCP数据路径和细分市场重新排序的精细颗粒并行,以便在WIMPY智能体系结构上进行高性能,同时通过模块化设计保持灵活性。我们将agilio-CX40上的flexoe与TCP堆叠Linux和Tas以及Chelsio终结者的脚趾进行了比较。我们发现,在Flextoe与TAS相比,Memcached缩放比例高达38%,同时节省了多达81%的主机CPU周期与Chelsio。 Flextoe即使具有Wimpy Smartnics,也可以为RPC提供竞争性能。 Flextoe分别将99.99级RPC RTT削减了3.2 $ \ times $和50%,而Chelsio和TAS则将50%削减。 FLEXTOE的数据路径并行性在硬件架构上概括了,将X86上的单连接RPC吞吐量提高到2.4 $ \ times $,在Bluefield上提高了4 $ \ times $。 FLEXTOE支持用EBPF编写的C和XDP程序。它使我们能够实现流行的数据中心传输功能,例如TCP跟踪,数据包过滤和捕获,VLAN剥离,流量分类,防火墙和连接拼接。
FlexTOE is a flexible, yet high-performance TCP offload engine (TOE) to SmartNICs. FlexTOE eliminates almost all host data-path TCP processing and is fully customizable. FlexTOE interoperates well with other TCP stacks, is robust under adverse network conditions, and supports POSIX sockets. FlexTOE focuses on data-path offload of established connections, avoiding complex control logic and packet buffering in the NIC. FlexTOE leverages fine-grained parallelization of the TCP data-path and segment reordering for high performance on wimpy SmartNIC architectures, while remaining flexible via a modular design. We compare FlexTOE on an Agilio-CX40 to host TCP stacks Linux and TAS, and to the Chelsio Terminator TOE. We find that Memcached scales up to 38% better on FlexTOE versus TAS, while saving up to 81% host CPU cycles versus Chelsio. FlexTOE provides competitive performance for RPCs, even with wimpy SmartNICs. FlexTOE cuts 99.99th-percentile RPC RTT by 3.2$\times$ and 50% versus Chelsio and TAS, respectively. FlexTOE's data-path parallelism generalizes across hardware architectures, improving single connection RPC throughput up to 2.4$\times$ on x86 and 4$\times$ on BlueField. FlexTOE supports C and XDP programs written in eBPF. It allows us to implement popular data center transport features, such as TCP tracing, packet filtering and capture, VLAN stripping, flow classification, firewalling, and connection splicing.