[gclist] Hardware assisted thread safe GC

Charles Fiterman cef@geodesic.com
Wed, 16 Apr 1997 09:00:29 -0500


Perkin Elmer used to make a multi processor which had
a special instruction for moving an object from one
doubly linked list to another. This operation was
guaranteed atomic. This instruction could also remove
an object from a queue and not put it on another.

If you had such an instruction or simulate one cheaply
the ideal collection algorithm for a system with lots
of processors and tasks becomes the Baker four color
algorithm. Any non busy processors can do garbage 
collection work in small increments. 

Blocking would be a problem in allocation but there
are ways to avoid most of that. For example the first
time a task asks for a 12 byte object get a page of
them, future requests by that task come from that page
without task blocking. Large allocations still create
task blocking.

If continuations are used for threads the hardware
assists for GC are hardware assists for generational
collection.
			-  
Charles Fiterman		Geodesic Systems
414 North Orleans Suite 410	Phone 312 832 1221 x223
Chicago IL 60610-4418		FAX   312 832 1230
				http://www.geodesic.com

A computer language without garbage collection
  is like a city without garbage collection.