Effectively Prefetching Remote Memory with Leap

Effectively Prefetching Remote Memory with Leap
复制标题

DOI:
--
复制
发表时间:
2019-11
期刊:
--
影响因子:
--
通讯作者:
H. Maruf;Mosharaf Chowdhury
H. Maruf;Mosharaf Chowdhury
中科院分区:
其他
文献类型:
--
作者:
H. Maruf;Mosharaf Chowdhury

文献摘要

被引文献

相似文献

通过RDMA进行内存分解,可以用远程内存访问取代磁盘交换,从而提高内存受限应用程序的性能。然而,最先进的内存分解解决方案仍然使用为慢速磁盘设计的数据路径组件。因此,应用程序经历的远程内存访问延迟明显高于底层低延迟网络,这本身对许多应用程序来说太高了。在本文中,我们提出了一种针对由于内存解聚而导致的远程内存访问的预取解决方案Leap。在其核心部分,Leap采用了在线的、基于多数的预取算法,从而提高了页面缓存命中率。我们在内核中使用轻量级高效的数据路径对其进行补充,该路径隔离了每个应用程序到分散内存的数据路径,并缓解了传统吞吐量优化操作产生的延迟瓶颈。在Linux内核中集成Leap后,与默认数据路径相比,内存受限应用程序的远程页面访问延迟的中位数和尾部延迟分别提高了104.04倍和22.62倍。与最先进的解决方案相比,这使得使用分散内存的应用程序的性能提高了10.16倍。
Memory disaggregation over RDMA can improve the performance of memory-constrained applications by replacing disk swapping with remote memory accesses. However, state-of-the-art memory disaggregation solutions still use data path components designed for slow disks. As a result, applications experience remote memory access latency significantly higher than that of the underlying low-latency network, which itself is too high for many applications. In this paper, we propose Leap, a prefetching solution for remote memory accesses due to memory disaggregation. At its core, Leap employs an online, majority-based prefetching algorithm, which increases the page cache hit rate. We complement it with a lightweight and efficient data path in the kernel that isolates each application's data path to the disaggregated memory and mitigates latency bottlenecks arising from legacy throughput-optimizing operations. Integration of Leap in the Linux kernel improves the median and tail remote page access latencies of memory-bound applications by up to 104.04x and 22.62x, respectively, over the default data path. This leads to up to 10.16x performance improvements for applications using disaggregated memory in comparison to the state-of-the-art solutions.