Hermit: Low-Latency, High-Throughput, and Transparent Remote Memory via Feedback-Directed Asynchrony

Hermit: Low-Latency, High-Throughput, and Transparent Remote Memory via Feedback-Directed Asynchrony
复制标题

DOI:
--
复制
发表时间:
2023
期刊:
--
影响因子:
--
通讯作者:
Yifan Qiao;Chenxi Wang;Zhenyuan Ruan;A. Belay;Q. Lu;Yiying Zhang;Miryung Kim;Guoqing Harry Xu
Yifan Qiao;Chenxi Wang;Zhenyuan Ruan;A. Belay;Q. Lu;Yiying Zhang;Miryung Kim;Guoqing Harry Xu
中科院分区:
其他
文献类型:
--
作者:
Yifan Qiao;Chenxi Wang;Zhenyuan Ruan;A. Belay;Q. Lu;Yiying Zhang;Miryung Kim;Guoqing Harry Xu

文献摘要

被引文献

相似文献

远程存储器技术在数据中心中获得了牵引力,因为它们可以显着改善内存利用率。不幸的是,当前的实现遭受了较高的软件间接费用,导致相对于本地记忆的尾部潜伏期和吞吐量的显着性较差但是,耗时的操作(例如,交换,cgroup充电,I/O重复程序等)远离了故障处理路径,并与先前的工作(例如FastSwap)不同,Hermit会收集运行时反馈并使用它来使用它直接应如何执行异步操作 - 即,是否应启用异步操作,异步的水平以及如何安排异步操作。例如,低延迟的远程内存。它从36毫秒降低到99毫秒,将第99.7%的人降低到91 µs。用户代码的一行。
Remote memory techniques are gaining traction in datacenters because they can significantly improve memory utilization. A popular approach is to use kernel-level, page-based memory swapping to deliver remote memory as it is transparent, enabling existing applications to benefit without modifi-cations. Unfortunately, current implementations suffer from high software overheads, resulting in significantly worse tail latency and throughput relative to local memory. Hermit is a redesigned swap system that overcomes this limitation through a novel technique called adaptive, feedback-directed asynchrony . It takes non-urgent but time-consuming operations ( e.g. , swap-out, cgroup charge, I/O deduplication, etc. ) off the fault-handling path and executes them asynchronously. Different from prior work such as Fastswap, Hermit collects runtime feedback and uses it to direct how asynchrony should be performed— i.e. , whether asynchronous operations should be enabled, the level of asynchrony, and how asynchronous operations should be scheduled. We implemented Hermit in Linux 5.14. An evaluation with a set of latency-critical applications shows that Hermit delivers low-latency remote memory. For example, it reduces the 99 th percentile latency of Memcached by 99.7% from 36 ms to 91 µ s . Running Hermit over batch applications improves their overall throughput by 1.24 × on average. These results are achieved without changing a single line of user code.