Professional Documents
Culture Documents
Distributed Stream Management Using Utility-Driven Self-Adaptive Middleware
Distributed Stream Management Using Utility-Driven Self-Adaptive Middleware
Middleware
Data Flow-Graph
FLIGHTS (N1)
Self-Configuration
N7
N1 N2
Autonomic Module
Partition-2 Partition-4
Self-Optimization N7 N8 N15
N7
N4 N6 N16
N3 N5 N12 N14
N11
N13 Level 1
N1 N2 N9 N10
N1 N2
Partition-1 Partition-3
The self-adaptive distributed stream management Task Allocation & Overlay Networks
middleware we have implemented is aligned with Distribution and allocation of tasks has been a long
topics of interest to the autonomic community, to studied topic in distributed environments. Architectural
overlay management, and to those interested in initiatives tailored for large-scale applications include
middleware for large-scale distributed data SkyServer [8], enterprise management solutions [9]
management. and grid computing efforts [20]. These applications
perform task allocation to servers in much the same
Autonomic Computing & Utility Functions way as we recursively map operators to nodes.
The tremendous increase in complexity of However, a high-level construct for describing the
computing machinery across the globe and the data-flow and run-time re-assignment of operators
resultant inability of administrators to deal with it, has based on a business-driven utility distinguishes our
initiated activities in academia and industry to make infrastructure.
systems self-managing. A vision of autonomic Overlay networks [21, 22] focus on addressing
computing as described in [1] is to design computing scalability and fault tolerance issues that arise in large-
systems that can manage themselves given high-level scale content dissemination. The intermediate routers
objectives from administrators. Of the four aspects of in overlay network perform certain operations that can
self-management defined in the vision, we are focusing be viewed as in-network data-aggregation but are
on self-configuration and self-optimization in stream severely restricted in their functionality. The
management middleware. Our architectural approach is advantages of using our infrastructure are two-fold:
similar to earlier work in adaptive systems, captured first its ability to deploy operators at any node in the
for the autonomic domain in [2]. While the utility- network, and second is the ease with which these
driven self-optimization in our system is inspired by operators can be expressed. There has also been some
earlier work in the real-time and multimedia domains work on resource-aware overlays [23, 30], which is
[29], the specific notions of utility used in this paper similar to resource-aware reconfiguration of the stream
mirror the work presented in [3] which uses utility overlay in our infrastructure. In our case,
functions for autonomic data-centers. Utility functions reconfiguration is closely associated with business-
have been extensively used in the fields of economics level data requirements.
[5] and artificial intelligence [6]. Autonomic self-
optimization according to business objectives has been 1.3. Roadmap
studied in [4] although the distributed and
heterogeneous nature of resources makes our The remainder of this paper is organized as follows.
infrastructure more general. Other work that aims to In Section 2, we discuss the design and architecture of
better align academic-optima with the business-optima the distributed stream management middleware.
include the Peakstone eAssurance product [11], which Section 3 contains a brief description of the utility
deals with non-violation of the SLAs and [12], which functions and how they facilitate the integration of
attempts to maximize the income of an eCommerce business-policies with the system. Section 4 describes
site. the data-flow graph deployment and optimization
Figure 3. Comparison of utility achieved using Figure 4. Utility variation for a data-flow graph
Centralized versus Partitioning Approach with and without self-optimization
Figure 6. Utility variation using delta-threshold Figure 7. Utility variation using constraint violation
approach in presence of network perturbation approach in presence of network perturbation
dynamic
Figure 9. End-to-End delay variation with and without Figure 10. Comparison of time-taken for deployment
self-optimization for traffic spike and processor-overload and reconfiguration on the emulab nodes
5.5. Application Case Study with a better delay than the static deployment. Even
with self-optimization the end-to-end delay spikes, but
The next set of experiments is conducted on Emulab the time before the deployment adjusts is so short
[26] use data emulating an airline OIS combined with (msecs) that the spike is effectively unnoticeable.
simulated streams for Weather and News. The The next experiment examines the times for initial
experiment is designed to emulate 4 different airport deployment and reconfiguration. Figure 10 shows that
locations. The inter-location delays are set to ~20ms the times are quite small; only a few hundred
while delays within an airport location were set to milliseconds in the worst case. The figure illustrates
~2ms. The emulation is conducted with 13 nodes the advantage of using a pub-sub middleware for
(Pentium-III, 850Mhz, 512MB RAM, RedHat Linux deploying the flow graph. The pub-sub channels have
7.1) and each location has only limited nodes to be created only at the time of deployment;
connected to external locations. These experiments are reconfiguration just involves a change in publisher and
motivated by the requirement to feed overhead displays subscriber to this channel and is therefore even faster.
at airports with up-to-date information. The overhead It may also be noted that once the channels for the
displays periodically update the weather and news at data-flow graph have been created, deployment is
the ‘destination’ location and switch over to seating essentially a distributed process, which starts once the
information for the aircraft at the boarding gate. Other corresponding nodes receive the operator deployment
information displayed on such monitors includes the messages. This makes deployment time to increase
names of wait-listed passengers, the current status of almost linearly with the number of nodes.
flights, etc. We deploy a flow graph with two
operators, one for combining the weather and news 6. Conclusions & Future Work
information at destination and the other for selecting
the appropriate flight data, which originates from a This paper presents a scalable approach to the
central location (e.g., Delta’s TPF facility). deployment of large-scale, distributed applications to
The first experiment conducted on Emulab studies underlying networked computing platforms, and to
the self-optimizing behavior of our system in the changing deployments when platform conditions or
presence of network perturbation, and we also study business needs change. The approach is novel in its
the system’s response to processor overload. A simple explicit consideration of business value during
utility function of the form utility = (c – delay)2 x deployment and when configuration changes occur. It
CPUavailable /CPU required is used to obtain these results; is scalable in its use of a distributed algorithm for
thus, the system tries to minimize end-to-end delay. deployment and configuration management. It is
Once the data flow graph for providing an overhead dynamic in its use of runtime monitoring information
display feed is deployed, we use iperf [27] to introduce about current platform conditions and its ability to deal
traffic in some of the links used by the flow-graph. with changes in the current business value attained
This is represented by the first spike in Figure 9. With from the distributed application in question. The
self-optimization the flow-graph responds well to the approach is designed to be integrated into the
spike in traffic; in contrast, the statically deployed middleware used by large-scale distributed
graph experiences an increased delay. The next spike is applications, thereby adding self-management abilities
a result of an increased processing load at both the to such middleware. This paper’s implementation uses
operator nodes. Again with self-optimization we end publish/subscribe middleware focused on stream-based