Computer Science Department
School of Computer Science, Carnegie Mellon University


Simplifying Distributed Application Upgrades
with Simultaneous Execution

Mukesh Agrawal, Suman Nath, Srinivasan Seshan

November 2005

Keywords: Distributed systems, upgrades

Developers and operators of distributed systems today face a difficult choice. To provide for the evolution of their systems, they can either require that the software running on all nodes be inter-operable, or they can shut down the entire system when an upgrade is required. Requiring interoperability complicates the life of system developers, while shutting down the system annoys users. We propose simultaneous execution, a middle ground between these approaches: an upgrade methodology that reduces the extent of support required for interoperability, while also providing system availability during upgrades. We demonstrate the benefits of our approach by applying it to two widely different distributed systems: the Cooperative File System, and IrisLog. Our proposal enables easy upgrade of these systems while maintaining system availability, and requiring only minimal support for interoperability.

26 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by