Presentation in UPC (4-May-2006; 11h00) about “Software Aging and Rejuvenation in SOAP-based Middleware Tools”

Speaker: Luis Silva, Univ. Coimbra, Portugal

There was a very interesting presentation in BSC last Thursday given by Luís Silva from the Universtiy of Coimbra, Portugal.

Using a benchmarking framework, with particular emphasis on dependability benchmarking, he analyized the software aging of certain SOA (Service-oriented architecture) servers. Software aging refers to common problems encountered when an application or server is running in a 24×7 environment. Reduced throughput and even crashes can result over time due to various reasons such as memory leaks, unreleased file-locks or blocked threads.

Studies on the most popular SOAP middleware server, Apache Axis 1.3, resulted in some alarming findings. Most significantly it was discovered that a default installation of the server is very prone to software aging. With only 64 MB of memory allocated as default, benchmarking tests were crashing after about 30 minutes. Increasing the allocated memory to 1GB provided a better result and allowed the tests to complete in 737 minutes. Over time the available memory gets lower and lower though which suggested that there are memory performance issues.

To help solve these issues, Luís turned to a technique known as software rejuvenation so that the server could self-heal itself. Software rejuvenation is performed by returning an application to it’s original state, as would happen in a reset operation. This could be performed after a certain interval time or it could be performed predictively when the system suspects that it would be useful. In Luís’s case for the Axis server he triggered an internal reset when the throughput becomes less than 20%. This could be termed a SLA (service level agreement) oriented rejuvenation technique.

The same benchmarking tests, using software rejuvenation on an Axis server with 64 MB of memory, were able to complete in only 137 minutes. Taking less than a fifth of the time to complete as the test with 1GB of memory and using a fraction of the available memory resources it provides a very practical example of how Autonomic Computing can be used successfully.


Abstract: Web-Services, SOAP and Service-oriented Architectures are gaining momentum in the area of distributed systems and internet applications. However, as we increase the abstraction level of the applications we are also increasing the complexity of the underlying middleware. In this talk, i will present a dependability benchmarking study to evaluate and compare the robustness of some of the most popular SOAP-RPC implementations that are intensively used in the industry. This benchmarking framework has support for different packages of middleware for client-server applications, like TCP/IP sockets, Java RMI, HTTP-XML and SOAP. The study was focused in detail on Apache Axis. The results of this benchmarking study should be seen as a contribution for the study of the impact of the complexity of the SOAP middleware in the dependability of SOA applications. In particular, we have observed a high susceptibility of software aging in this particular implementation of SOAP (Apache Axis1.3). Building on these results we propose a new
SLA-oriented software rejuvenation technique that proved to be a simple way to increase the dependability of the SOAP-servers, the degree of self-healing and to maintain a sustained level of performance in the applications.

Keywords :
Dependability benchmarking; Dependable Web-Services; Self-healing systems; Software rejuvenation; Software aging; Autonomic Computing

UPC, North Campus. Building C6, Room E101