Technical Report HW-MACS-TR-0051
|Title||Cost-Driven Autonomous Mobility|
|Authors||Xiao Yan Deng, Greg Michaelson, Phil Trinder|
|Abstract||Developments in distributed system technology facilitate the sharing of compu-
tational resources, even at a global level. To share resource in open distributed
systems we have developed autonomous mobile programs, which are aware of
their resource needs and sensitive to the environment in which they execute.
Autonomous mobile programs periodically use a cost model to decide where to
execute in a network. Unusually this form of autonomous mobility affects only
where the program executes and not what it does.
In an autonomous mobile program, the program must contain explicitly
control of self-aware mobile coordination. To encapsulate self-aware mobile co-
ordination for common patterns of computation over collections, autonomous
mobility skeletons are built. Autonomous mobility skeletons are akin to algo-
rithmic skeletons in being polymorphic higher-order functions, but where al-
gorithmic skeletons abstract over parallel coordination, autonomous mobility
skeletons abstract over autonomous mobile coordination.
An autonomous mobility skeleton considers only the cost of the current col-
lective computation. It is more useful to know the cost of the entire program.
A cost calculus to calculate the costs for the rest of a computation at arbi-
trary points has been built. We extend our autonomous mobility skeleton cost
models to be parameterised on the cost of the remainder of the program, and
build costed autonomous mobility skeletons based on the extended cost models.
A automatic cost analyser which implements the calculus has also been built
in Jocaml. The analyser generalises cost equations parameterised on program
variables in context, and outputs Jocaml programs with higher-order functions
replaced by costed autonomous mobility skeletons. Performance improvements
are assessed by comparing costed autonomous mobility skeleton to autonomous
mobility skeleton programs and show that the former often execute faster than
the later, because they have more accurate cost information.|