分享自:

基于NVMe SSD的尾延迟友好缓存设计

期刊:2024 IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA)DOI:10.1109/ISPA63168.2024.00170

本文档属于类型a,即报告了一项原创性研究。以下是基于文档内容生成的学术报告:

主要作者及研究机构

本文的主要作者包括Jincheng Lu(河海大学计算机科学与软件工程学院)、Miao Cai(南京航空航天大学计算机科学与技术学院)和Baoliu Ye(南京大学软件新技术国家重点实验室)。该研究于2024年发表在IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA)会议上。

学术背景

随着互联网数据量的快速增长,传统硬盘驱动器(HDD)在性能上遇到了瓶颈,因此,固态硬盘(SSD)因其优异的随机读写速度逐渐取代HDD。然而,基于SSD的缓存设计在处理高扇出请求(high fan-out requests)时面临挑战,尤其是在尾延迟(tail latency)问题上。高扇出请求需要等待所有子请求完成后才能返回,但由于子请求在数据量和数据热度等方面的差异,其处理时间难以预测,导致部分子请求延迟,进而影响整体延迟和尾延迟。

本文旨在提出一种基于NVMe SSD的缓存设计——RSCache,通过结合NVMe的加权轮询(Weighted Round-Robin, WRR)仲裁机制和基于优先级的调度机制,实现对请求的差异化处理,从而减少子请求处理时间的差异,降低尾延迟。

研究流程

  1. 优先级分配策略
    RSCache提出了一种基于扇出大小的优先级分配策略。对于高扇出请求,根据子请求对尾延迟的影响,将其分配到不同优先级的队列中。具体来说,扇出大小较小的请求被分配到低优先级队列,而扇出较大的请求则被分配到高优先级队列。通过这种方式,确保对尾延迟影响较大的子请求能够优先处理,从而减少整体延迟。

  2. 延迟感知的子请求排序方法
    为了进一步优化优先级分配,RSCache引入了一种延迟感知的子请求排序方法。该方法根据子请求的数据量和数据热度等特征,评估其对尾延迟的影响,并据此进行排序。数据量较大的子请求被赋予更高的优先级,而涉及热门数据的子请求也被优先处理,以减少锁争用(lock contention)对尾延迟的影响。

  3. 负载优化与反馈机制
    RSCache设计了一个负载均衡器,通过监控各队列的负载情况,动态调整子请求的分配,避免队列过载。此外,RSCache还引入了一个反馈机制,实时监控队列负载和请求延迟,并根据反馈信息进行调整,确保尾延迟保持在较低水平。

  4. 实现与实验
    RSCache基于SPDK(Storage Performance Development Kit)实现,并在实验中与现有的SSD缓存设计(如Udepot和Extstore)进行了对比。实验结果表明,RSCache在高扇出请求场景下,尾延迟最多减少了74%,吞吐量提高了三倍。

主要结果

  1. 尾延迟的显著降低
    实验数据显示,RSCache在高扇出请求场景下,尾延迟最多减少了74%。这一结果得益于其优先级分配策略和延迟感知排序方法,确保了高优先级子请求的及时处理。

  2. 吞吐量的提升
    RSCache的吞吐量相比Udepot和Extstore提高了三倍。这一提升主要归功于NVMe SSD的多队列并行机制,以及SPDK对I/O操作的优化。

  3. 负载均衡的效果
    通过负载均衡器和反馈机制,RSCache能够有效避免队列过载,确保各队列的负载均衡,从而进一步降低了尾延迟。

结论

RSCache通过结合NVMe SSD的WRR仲裁机制和基于优先级的调度机制,成功解决了高扇出请求导致的尾延迟问题。其优先级分配策略、延迟感知排序方法以及负载均衡机制,确保了子请求的差异化处理,显著降低了尾延迟并提高了吞吐量。这一研究为基于SSD的缓存设计提供了新的思路,具有重要的科学和应用价值。

研究亮点

  1. 创新的优先级分配策略
    RSCache首次提出了基于扇出大小的优先级分配策略,确保了对尾延迟影响较大的子请求能够优先处理。

  2. 延迟感知的子请求排序方法
    通过引入延迟感知排序方法,RSCache能够根据子请求的特征动态调整其优先级,进一步优化尾延迟。

  3. 高效的负载均衡与反馈机制
    RSCache的负载均衡器和反馈机制确保了各队列的负载均衡,避免了队列过载,进一步降低了尾延迟。

其他有价值的内容

RSCache的实现基于SPDK,充分利用了NVMe SSD的多队列并行机制,并通过SPDK的优化进一步提升了I/O操作的效率。此外,RSCache的实验结果表明,其在高扇出请求场景下的表现显著优于现有的SSD缓存设计,为未来的缓存优化提供了重要的参考。

通过上述研究,RSCache不仅解决了高扇出请求导致的尾延迟问题,还为基于NVMe SSD的缓存设计提供了新的优化思路,具有广泛的应用前景。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com