RIO:有序且CPU高效的远程存储访问

摘要:现代NVMe SSD和RDMA网络提供了极其高的带宽和并发性。现有的网络存储系统(例如,NVMe over Fabrics)由于低效的存储排序保证未能充分利用这些新设备。这些系统中严重的同步执行存储顺序会使CPU和I/O设备停滞,并降低存储系统的CPU和I/O性能效率。 我们提出了一种新的名为Rio的远程存储访问排序方法。Rio的关键见解在于,软件堆栈的分层设计以及并发和异步网络和存储设备使得存储堆栈在概念上类似于CPU流水线。受到CPU流水线的启示,实现了无序执行和有序提交的I/O流水线,允许有序写请求的内部无序和异步执行,并为应用程序提供完好的外部存储顺序。结合合并连续的有序请求,这些设计决策使得写入吞吐量和CPU效率接近于无序请求。 我们在Linux NVMe over RDMA堆栈中实现了Rio,并在其之上构建了一个名为RioFS的文件系统。评估结果显示,相对于Linux NVMe over RDMA和一种名为Horae的最先进的存储堆栈,Rio的有序写入请求吞吐量分别提高了两个数量级和4.9倍, RioFS相对于Ext4和HoraeFS分别将RocksDB的吞吐量提高了1.9倍和1.5倍。

作者:Xiaojian Liao, Zhe Yang, Jiwu Shu

论文ID:2210.08934

分类:Operating Systems

分类简称:cs.OS

提交时间:2022-10-18

PDF 下载: 英文版 中文版pdf翻译中