Cluster Comput (2009) 12: 87–100 DOI 10.1007/s10586-008-0071-x An adaptive middleware for supporting time-critical event response Qian Zhu · Gagan Agrawal Received: 7 October 2008 / Accepted: 9 October 2008 / Published online: 6 November 2008 © Springer Science+Business Media, LLC 2008 Abstract There are many applications where a timely re- sponse to an important event is needed. Often such response can require significant computation and possibly communi- cation, and it can be very challenging to complete it within the time-frame the response is needed. At the same time, there could be application-specific flexibility in the compu- tation that may be desired. This paper presents the design, implementation, and eval- uation of a middleware that can support such applications. Each of the services in our target applications could have one or more service parameters, which can be modified, within the pre-specified ranges, by the middleware. The middle- ware enables the time-critical event handling to achieve the maximum benefit, as per the user-defined benefit func- tion, while satisfying the time constraint. Our middleware is also based on the existing Grid infrastructure and Service- Oriented Architecture (SOA) concepts. We have evaluated our middleware and its support for adaptation using a vol- ume rendering application and a Great Lake forecasting ap- plication. The evaluation shows that our adaptation is effec- tive, and has a very low overhead. Keywords Self-adaptation · Time-critical event · Grid middleware Q. Zhu () · G. Agrawal Department of Computer Science and Engineering, Ohio State University, Columbus, OH 43210, USA e-mail: zhuq@cse.ohio-state.edu G. Agrawal e-mail: agrawal@cse.ohio-state.edu 1 Introduction There are many applications where a timely response to an important event is needed. Often such response can require significant computation and possibly communication, and it can be very challenging to complete it within the time- frame the response is needed. The resources available for the processing may only be detected when the event occurs, and may not be known in advance. At the same time, there could be application-specific flexibility in the computation that may be desired. For example, models can be run at dif- ferent spatial and temporal granularities, or running all mod- els may not be equally important. There could be a user pro- vided benefit function, which captures what is most desirable to compute. In order to complete computation within the pre-specified time frame, while attempting to maximize the pre-specified benefit function, numerous performance-related parameters must be continuously tuned. As applications are complex and dynamic in their behaviors and interactions, it is highly desirable for them to be autonomic, i.e., self-managing and self-optimizing, requiring only high-level guidance from ad- ministrators [11]. This paper presents the design, implemen- tation, and evaluation of such an autonomic middleware. Our middleware supports applications that comprise a set of services. Each of these services could have one or more service parameters, which can be modified, within the pre- specified ranges, by the middleware. Examples of such ser- vice parameters could be the time step that decides the tem- poral granularity of a model, or image resolution that de- cides the computation’s spatial granularity. The main functionality of our middleware is to enable the time-critical event handling to achieve the maximum benefit, as per the user-defined benefit function, while satisfying the