Architecture optimisation
Authors
School of Computer Science and Engineering
UNSW
Sydney
Australia
NICTA
Sydney
Australia
Abstract
This dissertation describes architecture optimisation, a novel optimisation tech- nique.Architecture optimisation improves the performance of software components or applications by modifying the way in which they communicate with other components, or with the operating system. This is a significantly different focus to traditional com- piler optimisations, which typically operate on a single application and do not attempt to change the way it interacts with the rest of the system. To perform an architecture optimisation, the author of a programming interface writes a small, domain-specific opti- misation specification which describes both the conditions necessary for the architecture optimisation to be valid, and the way in which such an optimisation should be perfor- mend. This specification is then used as input to an architecture optimiser, which applies the optimisation to a particular application. Architecture optimisation does not require application source code, effectively decoupling optimisation from compilation.
To demonstrate its usefulness, an implementation of architecture optimisation, named Currawong, is described. Currawong is a complete architecture optimiser, supporting two languages (Java and C) and two completely different software platforms (the An- droid smartphone operating system, and CAmkES, a research-focused component-based system). Currawong is applied to several optimisable applications on both platforms, and achieves significant performance improvements.
The two major contributions of the work are a concise specification language for archi- tecture optimisations, and early proof that the technique is useful for real-world applica- tions, in the form of benchmark results demonstrating significant (up to 2x) performance improvements.
BibTeX Entry
@phdthesis{FitzRoyDale:phd, address = {Sydney, Australia}, author = {Nicholas FitzRoy-Dale}, month = mar, note = {Available from publications page at \url{http://ts.data61.csiro.au/}}, paperurl = {https://trustworthy.systems/publications/papers/FitzRoyDale%3Aphd.pdf}, school = {UNSW}, title = {Architecture Optimisation}, year = {2011} }