The garbage collection statistics reported by the sequential RTS are useful in GUM. For each PE the residency can be plotted over time. GUM garbage collection statistics also report both elapsed and virtual time for initialisation, mutation and garbage collection for each PE. Initialisation records the time between the PE task starting and the start of Mutation. Mutation time is the time from initialisation to termination. It includes the time spent performing reduction, communicating or idle, but excludes time spent garbage collecting.
A heap profile generated when running a linear equation solver over four SUN 4 SPARC processors connected by NFS is given below. Processor numbers (c0001, 80001 etc) refer to PVM task-ids. The ratio between elapsed and user time shows how much of the elapsed time the PE task was descheduled.
Processor c0001 shutting down, 260 Threads run
133,383,480 bytes allocated in the heap
71 garbage collections (0 major, 71 minor)
INIT time 0.05s ( 2.10s elapsed)
MUT time 110.43s (162.46s elapsed)
GC time 1.78s ( 2.50s elapsed)
Total time 112.26s (167.06s elapsed)
%GC time 1.6% (1.5% elapsed)
Alloc rate 1,207,308 bytes per MUT second
Productivity 98.4% of total user,
66.1% of total elapsed
Processor 80001 shutting down, 2201 Threads run
58,968,324 bytes allocated in the heap
72,508 bytes max residency (1.7%, 1 sample(s))
31 garbage collections (1 major, 30 minor)
INIT time 0.04s ( 1.62s elapsed)
MUT time 66.77s (162.97s elapsed)
GC time 1.17s ( 2.12s elapsed)
Total time 67.98s (166.71s elapsed)
%GC time 1.7% (1.3% elapsed)
Alloc rate 882,627 bytes per MUT second
Productivity 98.2% of total user,
40.1% of total elapsed
Processor 100001 shutting down, 2989 Threads run
106,720,188 bytes allocated in the heap
57 garbage collections (0 major, 57 minor)
INIT time 0.11s ( 2.08s elapsed)
MUT time 72.71s (164.21s elapsed)
GC time 0.60s ( 0.99s elapsed)
Total time 73.42s (167.28s elapsed)
%GC time 0.8% (0.6% elapsed)
Alloc rate 1,465,534 bytes per MUT second
Productivity 99.0% of total user,
43.5% of total elapsed
Processor 40003 shutting down, 3194 Threads run
36,266,232 bytes allocated in the heap
18 garbage collections (0 major, 18 minor)
INIT time 0.12s ( 2.16s elapsed)
MUT time 45.72s (164.26s elapsed)
GC time 0.47s ( 1.00s elapsed)
Total time 46.31s (167.42s elapsed)
%GC time 1.0% (0.6% elapsed)
Alloc rate 791,148 bytes per MUT second
Productivity 98.7% of total user,
27.3% of total elapsed