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