Patching up Network Data Leaks with Sweeper

Patching up Network Data Leaks with Sweeper
复制标题

DOI:
10.1109/micro56248.2022.00041
复制
发表时间:
2022-10
期刊:
2022 55th IEEE/ACM International Symposium on Microarchitecture (MICRO)
影响因子:
--
通讯作者:
Marina Vemmou;Albert Cho;Alexandros Daglis
Marina Vemmou;Albert Cho;Alexandros Daglis
中科院分区:
其他
文献类型:
--
作者:
Marina Vemmou;Albert Cho;Alexandros Daglis

文献摘要

相似文献

数据中心见证了网络技术的惊人发展,受对更大数据集和服务器间数据传输的永无止境的应用需求的推动。现代网卡已经可以处理100 Gbps的流量,带宽能力相当于几个内存通道。因此,直接缓存访问机制(如在CPU缓存中包含网络流量的DDIO)对于有效处理不断增长的网络流量是必不可少的。然而,越来越多的工作揭示了一种称为“泄漏DMA”的关键DDIO弱点的实例,当相当一部分网络流量从CPU缓存泄漏到内存时就会发生这种情况。我们发现,这样的网络数据泄露限制了服务器可以有效利用的网络带宽。我们发现,此类网络数据泄露的主要罪魁祸首是对已经消耗的脏网络缓冲区的清除。我们的主要见解是,应用程序已经消耗的缓冲区通常不需要写回内存,因为它们的下一次重用将由NIC完全覆盖新的网络数据。我们引入了Sweeper,这是一个硬件扩展和API,允许应用程序标记此类已使用的网络缓冲区。然后,硬件跳过将标记的缓冲区写回内存,大大减少了内存带宽消耗,并减轻了网络数据泄漏的性能损失。与基于DDIO的配置相比,Sweeper将24核服务器的峰值可持续网络带宽提高了高达2.6倍。
Datacenters have witnessed a staggering evolution in networking technologies, driven by insatiable application demands for larger datasets and inter-server data transfers. Modern NICs can already handle 100s of Gbps of traffic, a bandwidth capability equivalent to several memory channels. Direct Cache Access mechanisms like DDIO that contain network traffic inside the CPU’s caches are therefore essential to effectively handle growing network traffic rates. However, a growing body of work reveals instances of a critical DDIO weakness known as “leaky DMA”, occurring when a significant fraction of network traffic leaks from the CPU’s caches to memory. We find that such network data leaks cap the network bandwidth a server can effectively utilize. We identify that a major culprit for such network data leaks are evictions of already consumed dirty network buffers. Our key insight is that buffers already consumed by the application typically need not be written back to memory, as their next reuse will be a full overwrite with new network data by the NIC. We introduce Sweeper, a hardware extension and API that allows applications to mark such consumed network buffers. Hardware then skips writing marked buffers back to memory, drastically reducing memory bandwidth consumption and mitigating the performance penalty of network data leaks. Sweeper boosts a 24-core server’s peak sustainable network bandwidth by up to $2. 6 \times $ as compared to DDIO-based configurations.