Abstract: Exploiting Application Alternatives
We present the design of an interface that allows applications to export
tuning alternatives to a higher-level system. By exposing different
parameters that can be changed at runtime, applications can be made to
adapt to changes in their execution environment due to other programs, or
the addition or deletion of nodes, communication links etc. An integral
part of this interface is that an application not only expose its options,
but also the resource utilization of each option and the effect that the
option will have on the application's performance. We discuss how these
options can be evaluated to tune the overall performance of a collection of
applications in the system. Finally, we show preliminary results from a
database application that is automatically reconfigured by the system from
query shipping to data shipping based on the number of active clients.