1
Issues of Java Garbage Collection Markus C. Goffart Gerhard W. Dueck [email protected] [email protected] University of New Brunswick - Faculty of Computer Science Motivation Get an understanding of different Garbage Collector (GC) types and their parameters to improve the throughput of the application with the help of an own Garbage Collection Simulator. Methology Create an Application: Allocates objects - allocate(x) Set delete flag on objects free(m) Clean with own Garbage Collection Simulator - gcs() Test and compare with different GCs of Java VM Conlusion Choose GC regarding field of operation Increasing maximum heap size will not solve problem but defer it No well chosen parameters for own imple- mentation (too high GC frequency + overhead) Testing new implementations with different GC parameters can increase throughput free(m) allocate(x) gcs() Application YG: Serial OG: Mark&Sweep-algorithm Stop-The-World-Phase (STW) o Several YG-Collections before Full Collection appears o High Frequency many pauses high overhead o ~0.8s pauses Like Serial M&S Collector BUT: YG on Parallel Hardware faster in YG o Less pauses less overhead o ~0.6 s pauses One total heap Only theoretical Freed objects with DeleteFlag o Too high frequency o No realistic values in amplitude o Strong overhead if more than 80% of heap Changes of M&S-Alg. in OG Short STW phases 2 phases are concurrent o Concurrent marking (only STW to detect roots and remark) o Low pauses (~0.1 s) Complete heap divided in sub regions of same size Card Table Remembered set ( trash density) Regions with most garbage will be cleaned first Regions can be cleaned in parallel ( fast) o In general overhead of 30% o Complete heap in use (cause of regions) o Complete cleaning causes 60% overhead Generational Heap

Issues of Java Garbage Collection - UNB · Issues of Java Garbage Collection Markus C. Goffart Gerhard W. Dueck [email protected] [email protected] University of New Brunswick - Faculty

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Issues of Java Garbage Collection - UNB · Issues of Java Garbage Collection Markus C. Goffart Gerhard W. Dueck markus.goffart@unb.ca dueck@unb.ca University of New Brunswick - Faculty

Issues of Java Garbage Collection

Markus C. Goffart Gerhard W. [email protected] [email protected]

University of New Brunswick - Faculty of Computer Science

Motivation

Get an understanding of different Garbage Collector (GC)types and their parameters to improve the throughput ofthe application with the help of an own Garbage CollectionSimulator.

Methology

• Create an Application:• Allocates objects - allocate(x)• Set delete flag on objects – free(m)• Clean with own Garbage Collection

Simulator - gcs()• Test and compare with different GCs of Java VM

Conlusion

• Choose GC regarding field of operation• Increasing maximum heap size will not solve

problem but defer it• No well chosen parameters for own imple-

mentation (too high GC frequency + overhead)• Testing new implementations with different GC

parameters can increase throughput

free(m)

allocate(x)

gcs()

Application

• YG: Serial • OG: Mark&Sweep-algorithm• Stop-The-World-Phase (STW)

o Several YG-Collections before Full Collection appearso High Frequency many pauses high overheado ~0.8s pauses

• Like Serial M&S Collector• BUT: YG on Parallel Hardware• faster in YG

o Less pauses less overheado ~0.6 s pauses

• One total heap• Only theoretical• Freed objects with

DeleteFlag

o Too high frequencyo No realistic values in amplitudeo Strong overhead if more than 80% of heap

• Changes of M&S-Alg. in OG

• Short STW phases• 2 phases are concurrent

o Concurrent marking (only STW to detect roots and remark)o Low pauses (~0.1 s)

• Complete heap divided in sub regions of same size

• Card Table Remembered set ( trash density)

• Regions with most garbage will be cleaned first• Regions can be cleaned in parallel ( fast)

o In general overhead of 30%o Complete heap in use (cause of regions)o Complete cleaning causes 60% overhead

Generational Heap