© Richard Jones, University of Kent 2008http://www.cs.kent.ac.uk/~rej
ISMM 2008 Wild & Crazy Ideas 1
Richard JonesComputing Laboratory
University of Kent, Canterburyhttp://www.cs.kent.ac.uk/~rej
8 June 2008, Tucson AZ
Seeing Is Doing
ISMM 2008
© Richard Jones, University of Kent 2008http://www.cs.kent.ac.uk/~rej
ISMM 2008 Wild & Crazy Ideas 2
GCspy: GC Visualisation
Space 2
Control
Stream 0
Stream 1
Space 1
Control
Stream 0
Stream 1
Space 0
Control
Stream 0
Stream 1
Event filters Client Interpreter
OG driver
Control
Objects
Space
Free-list
Control
Free-lists
YG driver
Control
Objects
Space
Event filters Server Interpreter
Data gathering
YGCopying
GC
OGMark-Sweep
GC
Control
Connect
Pause
Step
Continue
Disconnect
Event filters• Enable/disable
• Pause at event
• Period
Data
© Richard Jones, University of Kent 2008http://www.cs.kent.ac.uk/~rej
ISMM 2008 Wild & Crazy Ideas 3
GCspy: GC Control
Space 2Space 1Space 0
Toggles
Sliders
Event filters Client Interpreter
OG driver
Callback
Free-list
Callback
YG driver
Callback
Event filters Server Interpreter
Data gathering
YGCopying
GC
OGMark-Sweep
GC
Control
Toggles
Sliders
Toggles
Sliders
Data
© Richard Jones, University of Kent 2008http://www.cs.kent.ac.uk/~rej
ISMM 2008 Wild & Crazy Ideas 4
Callbacks
Buttons and sliders in the visualiser (client side)
to set state in a driver (server side).
Drivers poll state
and modify collector’s operation.• Trigger full GC rather than minor GC.• Enable/disable logging.• Hot-swap GCs.• Expand/contract heap size.• Scan space rather than use remsets.• Pretenuring control.• Intelligent client (offline analysis and control).
© Richard Jones, University of Kent 2008http://www.cs.kent.ac.uk/~rej
ISMM 2008 Wild & Crazy Ideas 5
Questions?