快速远程持久内存访问的挑战与解决方案
1. 不同写入方法的延迟测量
对向远程非易失性内存模块(NVMM)写入小数据项(64 - 1024 B)的不同方法的延迟进行了评估,使用了集群中的两台机器,一台运行单线程服务器,另一台运行单线程客户端。
- RDMA write :作为基线,在服务器启用DDIO的情况下,客户端发出的RDMA写入延迟进行测量。这种方法不提供持久性,因为服务器的网卡可能在其DMA写入到达服务器的内存层次结构之前就进行回复。64 B的RDMA写入的中位延迟仅为1.4 µs。
- RDMA pwrite :禁用DDIO并添加与RDMA写入流水线化的刷新RDMA读取,使64 B写入的中位延迟增加了两倍多,达到2.9 µs。在测试实现中,客户端的RDMA写入是“无信号”的,客户端使用RDMA读取的完成来测量写后读操作的延迟。在1.5 µs的延迟增加中,只有100 ns是由于禁用DDIO造成的,其余1.4 µs是由于刷新RDMA读取造成的。
- RPC :服务器的网卡将数据包写入服务器L3缓存中的易失性环形缓冲区。服务器的CPU通过忙轮询检测新请求,将其持久化到Optane内存,并回复客户端。RPC的中位延迟比RDMA pwrite低达20%,例如64 B写入的中位延迟为2.3 µs。RPC的第99百分位延迟比RDMA pwrite高18%,但这可能是由于集群中使用的旧ConnectX - 3网卡造成的。
| 写入方法 | 64B中位延迟(µs) |
|---|
超级会员免费看
订阅专栏 解锁全文
173万+

被折叠的 条评论
为什么被折叠?



