  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.
