Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README

TRANSACTIONAL SAPPHIRE

Tomoharu Ugawa, Kochi University of Technology, Japan
Carl Ritson, University of Kent, UK
Richard Jones, University of Kent, UK

This is ahigh-performance implementation of the Sapphire GC algorithm [1,4]. 
It is the first on-the-fly, parallel, replication copying, garbage collector 
for the Jikes RVM Java virtual machine. The implementation provides innovations
such as copying with hardware or software transactions, on-the-fly management of
Java's reference types and simple, yet correct, lock-free management of volatile 
fields in a replicating collector. 

* The jikesrvm directory provides the source code for the Jikes RVM including the
  Sapphire GC.

* The models directory above provides SPIN models [3] of critical components of
  this complicated and highly concurrent system.

For convenience, copies of our relevant published papers are here too:

[1] TOPLAS4004-15 final.pdf
    Tomoharu Ugawa, Carl Ritson and Richard Jones (2018). Transactional Sapphire: 
    Lessons in High Performance, On-the-fly Garbage Collection. ACM Transactions on 
    Programming Languages and Systems (TOPLAS), 40 (4). https://doi.org/10.1145/3226225
    
[2] ismm021-ritson.pdf
    Carl G. Ritson, Tomoharu Ugawa and Richard Jones (2014). Exploring Garbage 
    Collection with Haswell Hardware Transactional Memory. International Symposium
    on Memory management. https://doi.org/10.1145/2602988.2602992

[3] ismm012-ugawa.pdf
    Tomoharu Ugawa, Richard Jones and Carl G. Ritson (2014). Reference Object 
    Processing in On-The-Fly Garbage Collection. International Symposium on Memory
    Management. https://doi.org/10.1145/2602988.2602991

Other relevant publications:

[4] Richard L. Hudson and J. Eliot B. Moss (2003). Sapphire: Copying Garbage
    Collection Without Stopping the World.  Concurrency and Computation:
    Practice and Experience 15, 3–5 (2003), 223–261. https://doi.org/10.1002/cpe.712
    
[5] G. J. Holzmann (2004). The SPIN Model Checker: Primer and Reference Manual. 
    Addison-Wesley.

About

The Sapphire fully concurrent (on-the-fly) replicating garbage collector

Resources

License

Releases

No releases published

Packages

No packages published