Simplifying Distributed System Development
2009 (English)In: Proceedings of The 12th Workshop on Hot Topics in Operating Systems (HotOS XII),, 2009Conference paper (Refereed)
Distributed systems are difficult to design and develop. The difficulties arise both in basic safety correctness properties, as well as in achieving high performance. As a result of this complexity, the implementation of a distributed system often contains the basic algorithm coupled with an embedded strategy for making choices, such as the choice of a node to interact with. This paper proposes a programming model for distributed systems where 1) the application explicitly exposes the choices (decisions) that it needs to make as well as the objectives that it needs to maximize; 2) the application and the runtime system cooperate to maintain a predictive model of the distributed system and its environment; and 3) the runtime uses the predictive model to resolve the choices so as to maximize the objectives. We claim that this programming model results in simpler source code and lower development effort, and that it can lead to increased performance and robustness to various deployment settings. Our initial results of applying this model to a sample application are encouraging.
Place, publisher, year, edition, pages
IdentifiersURN: urn:nbn:se:kth:diva-147093OAI: oai:DiVA.org:kth-147093DiVA: diva2:727652
The 12th Workshop on Hot Topics in Operating Systems (HotOS XII),Monte Verità, Switzerland, May 18-20 2009
QC 201407072014-06-232014-06-232014-07-07Bibliographically approved