STARFISH is a simulator for experimenting with concepts in parallel file systems. It is based on Eric Brewer's Proteus simulator from MIT, and runs only on (MIPS-based) DECstations. I have used this simulator in experiments for several research papers about disk-directed I/O, and am actively extending it and using it for further experiments.
I am providing the code as-is, with little cleanup or added documentation. Some of the code is out-of-date and may have bugs. Other parts are incomplete. Many of the analysis scripts are fragile. The code is constantly evolving, and new public releases may be rare. But many people have asked me for it, so here it is.See other warnings in the src/README file.
You're welcome to look at the code and even try to run it, but I really don't have time to help you out much. If you publish any results based on this simulator, please cite me and provide the URL for this page.
This package may be freely copied as long as it is kept intact with my name on it. Please send me a note if you have a copy of this code, so I can keep track of how many copies there are, send you email about new versions, and so forth. Please ask me before you distribute any modified version.
This package is based on Proteus version 3.01 by Eric Brewer I have fixed several bugs in the 'stats' program; I supply a MIPS executable of the fixed program, and the patches needed to make my version from the original stats sources.
The code included here has evolved since the experiments in some of those papers were run; in particular, the OSDI results are based on an earlier, buggier version of iopfs-cache. See the TR version of that paper for correct results.
The name STARFISH is an acronym, but it fits with the maritime theme of the Proteus simulator on which it is based (Proteus was a Greek god of the sea), and of the FLEET lab, where we hope to implement some of the ideas which were developed using the STARFISH simulator.