RadixVM is a scalable virtual memory system designed to parallelize VM operations on non-overlapping regions of the address space.
Publications
RadixVM: Scalable address spaces for multithreaded
applications
Austin T. Clements, M. Frans Kaashoek, and Nickolai Zeldovich.
In the Proceedings of the ACM EuroSys Conference (EuroSys
2013), Prague, Czech Republic, April 2013.
Software
RadixVM is built atop an experimental research kernel, itself derived from xv6. RadixVM is now part of the larger sv6 project, which can be obtained via
$ git clone https://github.com/aclements/sv6.gitThe version used for the EuroSys paper is tagged eurosys2013.
This is not a production kernel. Think of it as a playground,
full of half baked experiments, dead code, some really cool
hacks, and a few fantastic results. RadixVM lives mostly in
kernel/{vm.cc,hwvm.cc}
,
and include/{vm.hh,hwvm.hh,radix_array.hh}
.
Refcache is in include/refcache.hh
and kernel/refcache.cc
.
The benchmarks are in metis/
and bin/mapbench.cc
.
To get up and running quickly, try make qemu.
(RadixVM used to live at git://g.csail.mit.edu/xv6. That repository no longer exists and has been incorporated in the sv6 repository above.)