22-06-2012, 05:38 PM
2K: A Distributed Operating System for Dynamic Heterogeneous Environments
A Distributed Operating System.pdf (Size: 83.18 KB / Downloads: 44)
Abstract
The first decades of the new millennium will witness an
explosive growth in the number and diversity of networked
devices and portals. We foresee high degrees of mobility,
heterogeneity, and interactions among computing devices
connected to global networks. While previous research
in distributed operating systems solved many problems related
to resource management, they seldom addressed the
problems of heterogeneity and dynamic adaptability.
Introduction
Modern computing environments are characterized by
a high level of dynamism. Two major kinds of dynamic
changes occur frequently. The first refers to structural
changes such as hardware and software upgrades, protocol
and API updates, and operating system evolution. The second
refers to dynamic changes in the availability of memory,
CPU, network bandwidth and, in mobile systems, connectivity
and location.
Resource Management in Heterogeneous
Environments
The basic task of both centralized and distributed operating
systems is to manage the resources of a machine (or
a collection of machines) and safely export them to their
users. Conventional operating systems, however, are not
able to manage the resources of collections of heterogeneous
machines.
CORBA and Java/Jini emerge as powerful technologies
for interoperability in heterogeneous environments. But
they both lack the notion of a “user” and do not provide
support for dynamic resource management either in a single
machine or in a distributed environment.
2K System Model
2K adopts a network-centric model in which all entities,
users, software components, and devices exist in the network
and are represented as CORBA objects. Each entity
has a network-wide identity, a network-wide profile, and
dependencies upon other network entities. When a particular
service is instantiated, the entities that constitute that
service are assembled.
In contrast to existing systems where a large number of
non-utilized modules are carried along with the basic system
installation, our philosophy is based upon a “What You
Need Is What You Get” (WYNIWYG) model. The system
configures itself automatically and loads a minimal set of
components required for executing the user applications in
the most efficient way.
Lessons Learned
In the past three years of work on the design and implementation
of 2K, our research group has learned a number
of lessons that we consider significant.
It is unlikely that a large number of users would be willing
to adopt a completely new research operating system to
use on a daily basis. Thus, we decided that 2K would have
to be able to run on top of other operating systems and,
if necessary, co-exist with traditional applications.
Performance Considerations
Our reflective ORB is an extension of TAO [25], a
CORBA-compliant ORB that optimizes inter-object communication
by using different protocols depending on the
location of the objects. Calls to co-located servers can be
as fast as virtual method calls on a C++ object. The general
impression that CORBA was too large and slow corresponds
to first-generation brokers. Recent performance
measurements [20] suggest that contemporary CORBA implementations
are efficient and that even faster implementations
will appear.
Conclusions
We expect great changes in the environments for high
performance distributed computing in the first decade of the
new millennium, including higher degrees of dynamism,
mobility, heterogeneity, and interactions among heterogeneous
computing devices connected to global networks.
Traditional middleware and operating system architectures
are not prepared to provide efficient resource management
for these highly dynamic heterogeneous environments.