Dependable self-hosting distributed systems using constraints - Yin, Qin; Cappos, Justin; Baumann, Andrew; Roscoe, Timothy (Proceedings of the 4th Workshop on Hot Topics in System Dependability, 2008)
We describe a technique for writing distributed applications which manage themselves over one or more utility computing infrastructures: by dynamically acquiring new computational resources, deploying themselves on these resources, and releasing others when no longer required. Unlike prior work, such management functionality is closely integrated with the application, allowing greater freedom in application-speciﬁc policies and faster response to failures and other changes in the environment without requiring any external management system. We address the programming complexity of this approach by applying constraint logic programming, and describe Rhizoma, an experimental runtime to explore these ideas. We present early experience of deploying self-hosting applications on PlanetLab using Rhizoma.