Large-scale, dynamic, and heterogeneous networks of computational resources (a.k.a.
grids) promise to provide high performance and scalability to
computationally intesive applications. To fulfill this promise, grid environments
require complex resource management. We propose decetralized middleware-triggered
dynamic reconfiguration straegies to enable application adaptation to the constantly
changing resource availability of Internet-scale shared coputational grids. As a
proof of concept, we present a sofware framework for dynamically reconfigurable
distributed applications. The Internet Operating System (IOS) is a middleware
infrastructure which aims at freeing appliction developers from dealing with
non-functional concerns while seeking to optimize application performance and glbal
resource utilization. IOS consists of distributed middlware agents that are capable
of interconnecting themselves in various virtual peer-to-peer topologies. IOS
middleware agents: 1) profile application communication patterns; 2) evaluate the
dynamics of the underlying physical resources; and 3) reconfigure application
components by changing their mappings to physical resources through
migration and by changing their granularity through a split and merge
mechanism. A key characteristic of IOS is its decentralized coordination, thereby
avoiding the use of global knowledge and thus enabling scalable reconfiguration. The
IOS middlware is programming model-independent: we have implmented an actor
programming model interface for SALSA programs and also a process programming model
interface for MPI programs. Experimental results show that adaptive middleware can
be an effective approach to reconfiguring distributed applications with various
ratios of communiction to computation in order to improve their performance, and
more effectively utilize grid resources.