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.