Adaptive middleware for high-end network services

Jon Weissman, Byoung-Dai Lee · 2003

Network service based computation is a promising paradigm for both scientific and engineering computing, and enterprise computing. The network service allows users to focus on their applications and obtain remote services when needed, simply by invoking the services across the network. The emerging Grid is an ideal environment for building, deploying and using network services, as it provides seamless access to a considerable amount of resources that are geographically distributed. Providing efficient, reliable, secure, and scalable services requires a significant run-time infrastructure. In addition, resource management is an essential part of the infrastructure in that effectively allocating resources directly relates to how fast user requests can be processed. To deliver high performance, the run-time infrastructure must be able to adapt to dynamically varying circumstances, such as resource availability, which fluctuates in a Grid. Furthermore, the service itself must be adaptive with respect to the system resources as well as client workload. In this thesis, we show that an adaptive, general-purpose run-time infrastructure in support of effective resource management can be built for a wide range of high-end network services running in a single-site cluster and in a Grid. The three primary components of the run-time infrastructure are: (1) dynamic performance prediction; (2) adaptive intra-site resource management; and (3) adaptive inter-site resource management. The novel aspect of our approach is that the run-time system is able to dynamically select the most appropriate performance predictor or resource management strategy over time. This capability not only improves the performance, but also makes the infrastructure reusable across different high-end services. To evaluate the effectiveness and applicability of our approach, we have transformed two different classes of high-end applications—data parallel and distributed applications—into network services using the infrastructure. The ease with which we transformed these applications using the infrastructure strongly suggests that our solution is general enough to be applicable to a wide range of network services without involving the significant efforts of service code developers. Furthermore, the experimental results show that the network services running on the infrastructure significantly reduced the overall service times under dynamically varying circumstances.

Read the paper · More papers on PaperTik