Home > lambdatheultimate > Azul’s Pauseless Garbage Collector

Azul’s Pauseless Garbage Collector

December 20th, 2010 12:21 admin Leave a comment Go to comments

Here’s Gil Tene on Azul’s Pauseless Garbage Collector for the JVM.

One of the key techniques that we use is massive and rapid manipulation of virtual memory mappings. We will change mappings of virutal to physical memory at the rate of Java allocation.

And

The same read barrier I mentioned before will also intercept any attempt to read a reference to an object that has been relocated, and that allows us to lazily relocate references without needing a pause. We compact by moving an entire virtual page worth of objects, we kind of blow it up, moving all the live objects to other places and thereby compacting them. But we don’t try and locate and find all the pointers to that page immediately.

The challenge seems to be that standard OSes don’t currently have enough hooks for them to do this kind of thing so their runtime must live in either their custom hardware and OS or a virtual machine.

Source: Azul’s Pauseless Garbage Collector

Related Articles:

  1. One Pass Real-Time Generational Mark-Sweep Garbage Collection
  2. Leveled Garbage Collection
  3. ‘Obscene’ U.S. Manga Collector Jailed 6 Months
  4. How OCaml type checker works — or what polymorphism and garbage collection have in common
  5. How OCaml type checker works — or what polymorphism and garbage collection have in common
blog comments powered by Disqus
YOYOYOOYOYOYO