Sunday 2 March 2008

Garbage Collection vs. Transactional Memory

Dan Grossman's paper "The Trasactional Memory / Garbage Collection Analogy" argues that
Transactional Memory is to shared-memory concurrency
as
Garbage Collection is to memory management

Here is a summarizing list of similiarities:


GC TermTM Term
memory managementconcurrency
dangling pointersraces
space exhaustiondeadlock
regionslocks
garbage collectiontransactional memory
reachabilitymemory conflicts
nursery datathread-local data
weak pointersopen nesting
I/O of pointersI/O in trasactions
tracingdeferred update
automatic reference countingdirect update
conservative collectionfalse memory conflicts
real-time collectionobstruction freedom
liveness analysisescape analysis


Be careful though: the analogy is a bad guide for studying TM. I believe we should first understand all the nuances and problems of implementing TM in its own right, and only then can we think of connections to Garbage Collection.

Mitya has the full text for the article (I believe ACM copyright allows to make copies for classroom use)

No comments: