Overview
The Internet
Operating System (IOS) is a distributed middleware framework that provides
support for dynamic reconfiguration of large-scale distributed
applications through opportunisticload balancing capabilities,
resource-level profiling and application-level profiling. IOS has a
modular nature that allows developers to create easily various
reconfiguration policies. One key ingredient to application
reconfiguration is the support for process migration. Applications should
support process mobility to be able to benefit from IOS reconfiguration
policies.
The goal of IOS middleware is to provide effective decentralized
middleware-triggered dynamic reconfiguration strategies that enable
application adaptation to the constantly changing behavior of large scale
shared networks. To distributed application developers who often lack the
time and expertise to handle complex performance tunings, IOS is a
promising approach that combines both ease of use and high performance.
Applications
wishing to interact with IOS need to have a flexible structure that
synergizes easily with the dynamic nature of shared networks. They should
exhibit a large degree of processing and/or data parallelism for efficient
use of the system and scalability to a large number of resources. We
assume that every application consists of distributed and migratable
entities.
IOS reconfiguration mechanisms allow 1) analyzing profiled application
communication patterns, 2) capturing the dynamics of the underlying
physical resources, 3) and utilizing the profiled information to
reconfigure application entities by changing their mappings to physical
resources through migration. A key characteristic of IOS is that it adopts
a decentralized strategy that avoids the use of any global knowledge to
allow scalable reconfiguration.