Sapphire: copying GC without stopping the world

12 years 7 months ago
Sapphire: copying GC without stopping the world
Many concurrent garbage collection (GC) algorithms have been devised, but few have been implemented and evaluated, particularly for the Java programming language. Sapphire is an algorithm we have devised for concurrent copying GC. Sapphire stresses minimizing the amount of time any given application thread may need to block to support the collector. In particular, Sapphire is intended to work well in the presence of a large number of application threads, on small- to medium-scale shared memory multiprocessors. A specific problem that Sapphire addresses is not stopping all threads while thread stacks are adjusted to account for copied objects (in GC parlance, the “flip” to the new copies). Sapphire extends previous algorithms, and is most closely related to replicating copying collection, a GC technique in which application threads observe and update primarily the old copies of objects [13]. The key innovations of Sapphire are: (1) the ability to “flip” one thread at a time ...
Richard L. Hudson, J. Eliot B. Moss
Added 30 Jul 2010
Updated 30 Jul 2010
Type Conference
Year 2001
Where JAVA
Authors Richard L. Hudson, J. Eliot B. Moss
Comments (0)