Semeru: A Memory-Disaggregated Managed Runtime
Semeru: A Memory-Disaggregated Managed Runtime
复制标题
DOI:
--
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Chenxi Wang;Haoran Ma;Siyi Liu;Yuanqi Li;Zhenyuan Ruan;Khanh Nguyen;Michael D. Bond;R. Netravali-R.
中科院分区:
文献类型:
--
作者:
Chenxi Wang;Haoran Ma;Siyi Liu;Yuanqi Li;Zhenyuan Ruan;Khanh Nguyen;Michael D. Bond;R. Netravali-R.
Resource-disaggregated architectures have risen in popularity for large datacenters. However, prior disaggregation systems are designed for native applications; in addition, all of them require applications to possess excellent locality to be efficiently executed. In contrast, programs written in managed languages are subject to periodic garbage collection (GC), which is a typical graph workload with poor locality. Although most datacenter applications are written in managed languages, current systems are far from delivering acceptable performance for these applications. This paper presents Semeru, a distributed JVM that can dramatically improve the performance of managed cloud applications in a memory-disaggregated environment. Its design possesses three major innovations: (1) a universal Java heap, which provides a unified abstraction of virtual memory across CPU and memory servers and allows any legacy program to run without modifications; (2) a distributed GC, which offloads object tracing to memory servers so that tracing is performed closer to data; and (3) a swap system in the OS kernel that works with the runtime to swap page data efficiently. An evaluation of Semeru on a set of widely-deployed systems shows very promising results.