I will give a talk at this year’s IFL symposium on
Concurrent Non-Deferred Reference Counting on the Microgrid: First Experiences.
This work is one result from the hardware/software co-design with the Microgrid group at the University of Amsterdam as part of the Apple-CORE project. The fundamental problem with reference counting is that it requires some form of synchronisation if performed concurrently.
One approach we have used in SAC so far was to use multiple copies of the reference counter and only create a consistent global state at synchronisation points. However, this does not scale to massively parallel architectures like the Microgrid. Yet, having so many cores at disposal allows us to dedicate one or more just to reference counting. We use the on-chip ring network to implement asynchronous messaging between cores to delegate reference counting.
A first prototype implementation is ready and we are evaluating it at the moment. So, stay tuned for more details.