Replicating the Vesta Repository


Neil Stratford, Cambridge University

I am a PhD student at the Cambridge University Computer Laboratory working with Simon Crosby. I am interested in the general area of system support for multimedia. My specific interests are in the area of operating system resource management and for my thesis work I am looking at the problems that arise when considering the interdependencies between multiple resources in the usage patterns of multimedia applications.

I chose SRC for an internship because of the high reputation of its intern programme, and because Bob Taylor once said that it rains too much in Seattle.

SRC Project

Over the summer I worked on the replication aspects of a versioned file system that is part of a source code configuration management suite called Vesta.

The underlying goal of Vesta is that all builds should be repeatable. This has led to a design where the source code repository stores packages as combinations of immutable files and immutable/append only directories. To enable varying degrees of cooperation between different repository sites such as collaborative working or disconnected operation, a global name space is required.

The global namespace is achieved through a concept of "mastership" of a source file or directory. The "master" is considered the coordination site for insertion of new names or content into the system.

Over the summer I have worked on various aspects of the design and implementation. This has included:

Looking back over the summer, I partly regret not spending more time selecting a suitable project when I first arrived. The project proved to be interesting but did not really contain enough design work and focused too heavily on implementation. Much of the design was already in place when I arrived.

Other

SRC is an exciting place to work, with many great people. I have been particularly impressed by how well the theory and systems people work togther when solving problems. This is what makes SRC unique.