一句话:提出通用 on-NIC 内存方案,通过将数据与热项驻留网卡内存,显著加速 NFV 与键值存储。
随着网卡性能快速提升,新出现的片上/板载网卡内存(nicmem)未被通用软件有效利用。本文提出将 nicmem 作为通用内存,并针对两类负载设计机制:对 NFV,将包头与数据分离,尽量把数据留在 nicmem,减少 PCIe 流量、内存带宽和 CPU 处理;对键值存储,利用访问偏斜,让网络栈把频繁访问项保留在 nicmem。评估显示,NFV 延迟最多降低 23%、吞吐提升 19%;memcached 延迟最多降低 43%、吞吐提升 80%。
We propose to use the small, newly available on-NIC memory ("nicmem") to keep pace with the rapidly increasing performance of NICs. We motivate our proposal by accelerating two types of workload classes: NFV and key-value stores. As NFV workloads frequently operate on headers---rather than data---of incoming packets, we introduce a new packet-processing architecture that splits between the two, keeping the data on nicmem when possible and thus reducing PCIe traffic, memory bandwidth, and CPU processing time. Our approach consequently shortens NFV latency by up to 23% and increases its throughput by up to 19%. Similarly, because key-value stores commonly exhibit skewed distributions, we introduce a new network stack mechanism that lets applications keep frequently accessed items on nicmem. Our design shortens memcached latency by up to 43% and increases its throughput by up to 80%.