My PhD dissertation is titled Cluster Storage for Commodity Computation, and is published as a technical report by the Cambridge Computer Laboratory.
@PhdThesis{ross:thesis,
title = "Cluster Storage for Commodity Computation",
author = "Russell Glen Ross",
school = "University of Cambridge Computer Laboratory",
month = dec,
year = "2006",
}
@TechReport{ross:techreport,
title = "Cluster Storage for Commodity Computation",
author = "Russell Glen Ross",
institution = "University of Cambridge Computer Laboratory",
number = "UCAM-CL-TR-690",
month = jun,
year = "2007",
}
@InProceedings{parallax:hotos05,
title = "Parallax: Managing Storage for a Million Machines",
author = "Andrew Warfield and Russ Ross and Keir Fraser
and Christian Limpach and Steven Hand",
booktitle = "Proceedings of the 10th USENIX Workshop on
Hot Topics in Operating Systems (HotOS X)",
address = "Santa Fe, NM",
month = "June",
year = "2005",
}
@InProceedings{xeno-deploy:worlds04,
title = "Global-scale Service Deployment in the {XenoServer}
Platform",
author = "Evangelos Kotsovinos and Tim Moreton and Ian Pratt
and Russ Ross and Kier Fraser and Steven Hand
and Tim Harris",
booktitle = "Proceedings of the 1st USENIX Workshop on
Real, Large Distributed Systems (WORLDS'04)",
address = "San Francisco, CA",
month = "December",
year = "2004",
}
I wrote a package of macros using Metapost to make it easy to create nice looking DFA/NFA diagrams in LaTeX.
I wrote a file system backed by an Amazon S3 storage bucket. This is a fork of an existing project called s3fs, but I have rewritten most of it and it bears little resemblence to the original code. The main functional change was the addition of a writeback cache and a persistent attribute cache, both to enhance the otherwise dreadful performance of such a system. My main aim was to optimize the use of rsync to publish data to S3 for access with a web browser.
The source code and additional information is available on github.
I wrote a stacked file system that allows you to layer multiple directory structures over each other. You can label some layers as read-only, and it will use a copy-on-write strategy to redirect changes to a higher (writable) level. It's useful for modifying a base file system image while isolating all changes in another layer (stored in a different directory) as will as taking the union of multiple directory structures. I wrote it with Xen-controlled virtual machine environments in mind, where it is handy for giving new virtual machine domains their own view of a basic Linux (or FreeBSD, etc.) installation and preventing multiple domains from stepping on each other.
The source code and a bit more information is available on github.
I entered a programming contest that ran as part of the 2003 International Lisp Conference. The contest was to solve a puzzle using Common Lisp. My entry was awarded the prizes for efficiency and elegance. More details including my entry are available here.
I studied computer science as an undergraduate, and I wrote papers to accompany a few of the projects I did. They are a few years old, but some of the work is still useful.