I talked on Thursday to Steve Blackburn and Andrew Gray who work on porting JMTk to Rotor. JMTk is a memory management toolkit that is used to implement high-performance garbage collectors. The source code of the port of JMTk to Rotor is available at http://jmtk-sscli.sscli.net/. This is work-in-progress but people interested in adding GC to Rotor should probably have a look. I hope that as part of his work Andrew will come up with an interface between a memory manager that matches both JMTk and Rotor’s own GC. Andrew visited us last week and we had an interesting chat about his work.
It occurred to me that many other people are working on replacing the GC in Rotor. I wonder if it would make sense that they all got together and created some kind of a clearinghouse for GC issues. Certainly everyone who wants to plug in a new GC into Rotor will have to solve similar issues of decoupling the old GC and plugging in a new one. Presumably most researchers will come up with a new, improved interface. It would be great if all this work wasn’t duplicated.
I don’t have a complete list of who’s playing with GC in Rotor but off the top of my head I can think of a few projects. First, there is the JMTk work. There were two projects funded as the result of Rotor RFP v1: one by Darko Stefanovic from the University of New Mexico and one by Paulo Ferreira from INESC in Portugal. Emails on Rotor mailing lists suggest that more people are looking into implementing GC on Rotor: concurrent GC by Archana Ravindar from the Indian Institute of Science, another GC by Todd Anderson from Intel, and there are probably many others I haven’t run across yet. And, surely, Rotor RFP v2 will receive new proposals for GC research.
If anyone knows of more GC projects done in Rotor, please post comments to my blog and I will summarize the responses.