Maysam Yabandeh, Nedeljko Vasić, Dejan Kostić, and Viktor Kuncak.
Simplifying distributed system development.
In 12th Workshop on Hot Topics in Operating Systems, 2009.
Distributed systems are difficult to design and develop.
The difficulties arise both in basic safety correctness
properties, and 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 as to maximize the objectives. We claim that
this programming model results in simpler source code and
lower development effort, and can lead to increased
performance and robustness to various deployment settings.
Our initial results of applying this model to a sample
application are encouraging.
[ bib ]
Back