Limits of Parallel Marking Garbage Collection
...how parallel can a GC become?
- Dr. Fridtjof Siebert
CTO, aicas ISMM 2008, Tucson, 7. June 2008
Limits of Parallel Marking Garbage Collection ...how parallel can a - - PowerPoint PPT Presentation
Limits of Parallel Marking Garbage Collection ...how parallel can a GC become? Dr. Fridtjof Siebert CTO, aicas ISMM 2008, Tucson, 7. June 2008 Limits of Parallel Marking Garbage Collection Introduction Parallel Hardware is becoming the norm
CTO, aicas ISMM 2008, Tucson, 7. June 2008
Limits of Parallel Marking Garbage Collection
2
Limits of Parallel Marking Garbage Collection
3
cycle 1 cycle 2
Limits of Parallel Marking Garbage Collection
4
cycle 1 cycle 2
Limits of Parallel Marking Garbage Collection
5
cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: Application
Limits of Parallel Marking Garbage Collection
6
cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: Application CPU 1 CPU 2 CPU 3 cycle 1 cycle 2 cycle 1 cycle 2 cycle 1 cycle 2
Limits of Parallel Marking Garbage Collection
7
cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: Application CPU 1 CPU 2 CPU 3 cycle 1 cycle 2 cycle 1 cycle 2 cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: GC
Limits of Parallel Marking Garbage Collection
8
cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: Application CPU 1 CPU 2 CPU 3 cycle 1 cycle 2 cycle 1 cycle 2 cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: GC CPU 1 CPU 2 CPU 3
Limits of Parallel Marking Garbage Collection
9
cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: Application CPU 1 CPU 2 CPU 3 cycle 1 cycle 2 cycle 1 cycle 2 cycle 1 cycle 2 CPU 1: Application CPU 2: GC CPU 3: GC CPU 1 CPU 2 CPU 3
Limits of Parallel Marking Garbage Collection
10
Limits of Parallel Marking Garbage Collection
11
Limits of Parallel Marking Garbage Collection
12
Limits of Parallel Marking Garbage Collection
13
root
Limits of Parallel Marking Garbage Collection
14
root CPU1 CPU2 CPU3
Limits of Parallel Marking Garbage Collection
15
root
CPU1
starts mark step CPU1 CPU2 CPU3
Limits of Parallel Marking Garbage Collection
16
root
CPU1
no grey
CPU1 CPU2 CPU3
Limits of Parallel Marking Garbage Collection
17
root
CPU1
CPU1 CPU2 CPU3 no grey
Limits of Parallel Marking Garbage Collection
18
root
CPU1
CPU1 CPU2 mark step finished CPU3
Limits of Parallel Marking Garbage Collection
19
root
CPU1
all CPUs compete for
CPU1 CPU2 CPU3
Limits of Parallel Marking Garbage Collection
20
root
CPU1 CPU2
eg., CPU2 successful, CPU1 + CPU3 stall! CPU1 CPU2 CPU3
Limits of Parallel Marking Garbage Collection
21
Limits of Parallel Marking Garbage Collection
22
Limits of Parallel Marking Garbage Collection
23
root CPU1 CPU2 we might be lucky and see no stalls
Limits of Parallel Marking Garbage Collection
24
root CPU1 CPU2 but we might have bad luck: one list is scanned first, there is a single linked list left!
Limits of Parallel Marking Garbage Collection
25
root CPU1 CPU2 1 2 2 11 10 5 3 12 9 6 4 13 8 7 5 6 7 8 12 11 10 9 3 4 13
Limits of Parallel Marking Garbage Collection
26
Limits of Parallel Marking Garbage Collection
27
Limits of Parallel Marking Garbage Collection
28
Limits of Parallel Marking Garbage Collection
29
Limits of Parallel Marking Garbage Collection
30
check compress jess raytrace db javac mpegaudio mtrt jack
250 500 750 1000 1250 1500
Limits of Parallel Marking Garbage Collection
31
0,00% 0,50% 1,00% 1,50% 2,00% 2,50% 3,00% 3,50% 4,00%
Limits of Parallel Marking Garbage Collection
32
1 2 4 8 16 32 64 128 256 1 10 100 ideal check compress jess raytrace db javac mpegaudio mtrt jack 1 2 4 8 16 32 64 128 256 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 ideal check compress jess raytrace db javac mpegaudio mtrt jack non-parallel
Limits of Parallel Marking Garbage Collection
33