Autonomic systems can be self-adaptive and have the potential to achieve high performance through run-time configuration changes. This paper describes an architecture-centric self-adaptive approach and presents a simple application in a distributed system where it can be advantageous to switch architectures based on the workload being presented to the system. The self-adaptive framework is built on top of a generative system which comprises three software architectural alternatives, namely Single Thread (ST), Half-Sync/Half-Async (HS/HA) and Leaders-Followers (LFs). A software performance analysis tool called the Layered Queuing Network Solver (LQNS) is integrated into the framework to support the architecture selection process. A comparison of the performance of the three different software architecture alternatives is also presented. The results from this analysis are used to support the construction of a performance knowledge base and analysis policies for the self-adaptive system.

Additional Metadata
Conference 4th Conference Francophone sur les Architectures Logicielles, CAL 2010 - 4th French-speaking Conference on Software Architectures, CAL 2010
Citation
Zhang, X. (Xu), Lung, C.H, & Franks, G. (2010). Towards architecture-based autonomic software performance engineering. Presented at the 4th Conference Francophone sur les Architectures Logicielles, CAL 2010 - 4th French-speaking Conference on Software Architectures, CAL 2010.