My research is concerned with fault-tolerant distributed computing and operating systems. My focus is on using a distributed programming model based upon virtual synchronous process groups to solve such problems as managing replicated data, coordinating actions in a distributed setting, and performing dynamic reconfiguration. This is done in a way that provides fault-tolerance, although it is limited to certain classes of reasonably benign failures.
My effort has a theoretical and a practical side. The practical work started in 1985, when we developed a computing system called the Isis Toolkit. Isis, with software tools to support virtual synchrony and fault-tolerance, became widely popular. We are now developing a new system, Horus, which is intended to be more flexible than Isis and which addresses issues such as real-time communication and security.
The most important feature of Horus is its extensive use of layering, which permits it to be reconfigured for special purposes. The basic idea is that Horus users should pay only for features that they actually use but should have available a very broad collection of options. Horus also seeks leverage from the emergence of ATM network technology and from communication techniques such as Active Messages, which originated in work on parallel supercomputers. Horus embodies an advanced security technology, developed by graduate students Mike Reiter and David Cooper, which is unusual in combining security, privacy, and high availability in a single package.
On the more fundamental side of the effort, the Horus group is looking at techniques for specifying and proving properties of process-group structured systems. We are using the ML language to develop executable “reference implementations’’ of the major Horus layers, with the goal of using Constable’s Nuprl system to prove that the latter correctly implements the former. We are also studying extensions of the virtual synchrony model, notably in work by Roy Friedman on adding real-time guarantees to Horus and in work by Mark Hayden on support for probabilistic broadcast primitives and programming tools.
Horus is very much a collaboration. The architecture and development side of the effort is headed by Dr. Robbert van Renesse, Werner Vogels and Roy Friedman. Six graduate students are working on aspects of the system, including the development of object-oriented programming tools for multimedia communication applications, security and privacy, high-speed protocols that exploit ATM, and other problems. We are also collaborating within the department, notably with Thorsten von Eicken and Brian Smith.
If you have questions or comments please contact: firstname.lastname@example.org.