Analysis and Optimizations of Java']Java Full Garbage Collection

被引:7
作者
Li, Haoyu [1 ]
Wu, Mingyu [1 ]
Chen, Haibo [1 ]
机构
[1] Shanghai Jiao Tong Univ, Inst Parallel & Distributed Syst, Shanghai, Peoples R China
来源
9TH ASIA-PACIFIC SYSTEMS WORKSHOP 2018 (APSYS'18) | 2018年
关键词
Full garbage collection; !text type='Java']Java[!/text] virtual machine; Performance; Parallel Scavenge; Memory management; BIG DATA;
D O I
10.1145/3265723.3265735
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Java runtime frees applications from manual memory management by its automatic garbage collection (GC), at the cost of stop-the-world pauses. State-of-the-art collectors leverage multiple generations, which will inevitably suffer from a full GC phase scanning the whole heap and induce a pause tens of times longer than normal collections, which largely affects both throughput and latency of the entire system. In this paper, we analyze the full GC performance of HotSpot Parallel Scavenge garbage collector comprehensively and study its algorithm design in depth. We find out that heavy dependencies among heap regions cause poor thread utilization. Furthermore, many heap regions contain mostly live objects (referred to as dense regions), which are unnecessary to collect. To solve these problems, we introduce two kinds of optimizations: allocating shadow regions dynamically as compaction destination to eliminate region dependencies and skipping dense regions to reduce GC workload. Evaluation results show the optimizations lead to averagely 2.6X (up to 4.5X) improvement in full GC throughput and thereby boost the application performance by 18.2% on average (58.4% at best).
引用
收藏
页数:7
相关论文
共 20 条
  • [1] [Anonymous], P EUR C COMP SYST EU
  • [2] POLM2: Automatic Profiling for Object Lifetime-Aware Memory Management for HotSpot Big Data Applications
    Bruno, Rodrigo
    Ferreira, Paulo
    [J]. PROCEEDINGS OF THE 2017 INTERNATIONAL MIDDLEWARE CONFERENCE (MIDDLEWARE'17), 2017, : 147 - 160
  • [3] NG2C: Pretenuring Garbage Collection with Dynamic Generations for HotSpot Big Data Applications
    Bruno, Rodrigo
    Oliveira, Luis Picciochi
    Ferreira, Paulo
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (09) : 2 - 13
  • [4] Data flow analysis for software prefetching linked data structures in Java']Java
    Cahoon, B
    McKinley, KS
    [J]. 2001 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2001, : 280 - 291
  • [5] Detlefs David, 2004, P 4 INT S MEM MAN VA, P37, DOI DOI 10.1145/1029873.1029879
  • [6] Gidra L, 2015, ACM SIGPLAN NOTICES, V50, P661, DOI [10.1145/2775054.2694361, 10.1145/2694344.2694361]
  • [7] A Study of the Scalability of Stop-the-world Garbage Collectors on Multicores
    Gidra, Lokesh
    Thomas, Gael
    Sopena, Julien
    Shapiro, Marc
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (04) : 229 - 239
  • [8] Google, 2018, CHROM V8
  • [9] Lawrence Susan D., 2006, Plant Biology (Rockville), V2006, P169
  • [10] Nguyen KD, 2016, THIRD INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE, COMPUTER ENGINEERING, AND EDUCATION TECHNOLOGIES (CSCEET2016), P13