Self-adapting Service Level in Java Enterprise Edition - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2009

Self-adapting Service Level in Java Enterprise Edition


Application servers are subject to varying workloads, which suggests an autonomic management to maintain optimal performance. We propose to integrate in the component-based programming model often used in current application servers the concept of service level adaptation, allowing some components to dynamically degrade or upgrade their level of service. Our goal is to be able, under heavy workloads, to trade a lower service level of the most resource-intensive components for a stable performance of the server as a whole. Upgrading or degrading components is autonomously performed through runtime profiling, which is used to estimate the application's hot spots and target adaptations. In addition to finding the best adaptations, this performance profile allows our system to characterize the effects of past adaptations; in particular given the current workload, it is possible to estimate if a service level upgrade might result in an overload. As a result, by stabilizing the server at peak performance via component adaptations, we are able to drastically improve both overall latency and throughput. For instance, on both the RUBiS and TPC-W benchmarks, we are able to maintain peak performance in heavy load scenarios, far exceeding the initial capacity of the system.

Dates and versions

hal-00949568 , version 1 (21-02-2014)



Jeremy Philippe, Noel de Palma, Fabienne Boyer, Olivier Gruber. Self-adapting Service Level in Java Enterprise Edition. Middleware 2009, Nov 2009, Urbana, IL, United States. pp.143-162, ⟨10.1007/978-3-642-10445-9_8⟩. ⟨hal-00949568⟩
121 View
0 Download



Gmail Facebook Twitter LinkedIn More