Performance Analysis and Optimization of Full Garbage Collection in Memory-hungry Environments

Performance Analysis and Optimization of Full Garbage Collection in Memory-hungry Environments
复制标题

内存匮乏环境中完整垃圾收集的性能分析和优化

DOI:
10.1145/2892242.2892251
复制
发表时间:
2016
影响因子:
--
通讯作者:
Zang Binyu
Zang Binyu
中科院分区:
--
文献类型:
--
作者:
Yu Yang;Lei Tianyang;Zhang Weihua;Chen Haibo;Zang Binyu

文献摘要

相似文献

垃圾收集(GC),尤其是完全垃圾收集,会对整体应用程序性能产生很大影响,特别是对于那些需要大量内存来处理大型数据集的应用程序。本文对HotSpot JVM中最先进的默认垃圾收集器--并行清理(PS)进行了深入的性能分析,使用在CPU(如Intel Xeon)和多个集成内核(如Intel Xeon I)JVM上运行的传统和大数据应用程序。分析发现,在压缩ASE中,参考更新期间不必要的内存访问和计算是导致完整GC时间过长的主要原因。为此,本文提出了一种面向引用计算的增量式查询模型,并针对不同的查询模式提出了三种不同的查询模式(即乐观、排序和区域)。性能评估显示,与普通PS收集器相比,增量查询模型在全GC中平均提高了1.9倍(高达2.9倍),应用程序吞吐量提高了19.3%(高达57.2%),暂停时间减少了31.2%,相应地,Xeon i的停顿时间分别为2.1倍(高达3.4倍)、11.1%(高达41.2%)和34.9%。
Garbage collection (GC), especially full GC, would non- trivially impact overall application performance, especially for those memory-hungry ones handling large data sets. This paper presents an in-depth performance analysis on the full GC performance of Parallel Scavenge (PS), a state-of-the-art and the default garbage collector in the HotSpot JVM, using traditional and big-data applications running atop JVM on CPU (e.g., Intel Xeon) and many-integrated cores (e.g., Intel Xeon i). The analysis uncovers that unnecessary memory accesses and calculations during reference updating in the compaction ase are the main causes of lengthy full GC. To this end, this paper describes an incremental query model for reference calculation, which is further embodied with three schemes (namely optimistic, sort-based and region-based) for different query patterns. Performance evaluation shows that the incremental query model leads to averagely 1.9X (up to 2.9X) in full GC and 19.3% (up to 57.2%) improvement in application throughput, as well as 31.2% reduction in pause time over the vanilla PS collector on CPU, and the numbers are 2.1X (up to 3.4X), 11.1% (up to 41.2%) and 34.9% for Xeon i accordingly.