Monday, December 20, 2010

Azul’s Pauseless Garbage Collector

Azul CTO Gil Tene (via Lambda):

Pretty much every collector out there today will take the approach of trying to find all the efficient things to do without moving objects around, and delaying the moving of objects around—or at least the old objects around—as much as possible. If you eventually end up having to move the objects around because you've fragmented the heap and you have to compact memory, then you pause to do that.…Our collector is different. The only way it ever collects is to compact the heap. It's the only thing we ever do. As a result, we basically never have a rare event.

The key is that it can fix up pointers lazily by intercepting reads, which requires kernel support. Azul also developed the nifty lock-free hash table that I mentioned a few years ago.

Comments RSS · Twitter

Leave a Comment