Project Olympus:
High Performance Component-Based Distributed Applications
Department of Computer Science
Washington University
St. Louis, Missouri
project viewgraph (gif)
project viewgraph (postscript)
overview slides for end-user tools (postscript)
1998 PI Meeting Poster:
postscript,
adobe acrobat.
Objective:
High-performance distributed multimedia applications, supporting
reliable high-bandwidth interaction among many users and system
components, will be central to the future of both military and
civilian communication and computation. Effective communication and
synthesis of data will require abstractions supporting end-user
construction and integration of applications that may be customized
dynamically. These abstractions must be implemented without
sacrificing the end-to-end communication performance demanded by
critical applications.
The objective of Project Olympus is to provide a development environment
and underlying support for end-user construction of high-performance
distributed multimedia applications from reusable self-describing
software components.
Approach:
At the center of Project Olympus is a new programming
model for distributed applications that separates communication from
computation. The programming model, called I/O abstraction, allows
the end-user to integrate independent modules with self-describing
external interfaces into customized distributed applications by
imposing a separate logical communication structure on the modules.
Communication in the I/O abstraction model is implicit, and is handled
completely by the underlying run-time system according to the
dynamically changing communication structure. In this way, the each
module is concerned only with the behavior at its interface, and need
not be concerned with sending or receiving messages. Both active and
reactive control are supported.
Project Olympus is based upon a vertical integration approach, where each
software and hardware layer is designed for efficient composition with
the layers above and below it. Specific integration points include
(1) a careful match between the run-time system supporting
I/O abstraction and the host-network interface, and (2) a close
coupling of the the communication software with network level support
for scalable, reliable multicast message transmission.
Integration of the run-time system and the host-network hardware
interface avoids considerable operating system overhead, protocol
processing, and data copying. Because communication is implicit in
the I/O abstraction model, the run-time system and underlying hardware
can provide direct, yet safe, network-to-application data coupling for
high throughput, low latency applications, while retaining the
simplicity of the I/O abstraction programming model. Furthermore, a
close coupling of the communication software and hardware support for
reliable multicast provides scalability to large numbers of users
without the need for slower software-based communication protocols.
The result will be an environment for end-user construction of
sophisticated distributed multimedia applications that benefit from
end-to-end performance approaching raw network data rates.
Foundation:
The project builds upon and integrates innovations from
two ongoing research activities.
-
The Programmers' Playground
-
The Programmers' Playground is a prototype development environment for
I/O abstraction that is being constructed at Washington University
with support from the National Science Foundation. This environment
is designed to support end-user construction of distributed multimedia
applications from reusable software building blocks. Target
applications include digital libraries, collaborative work,
simulation, and medical imaging. Innovations include a complete
separation of communication and computation, separate active and
reactive control within modules, and dynamic user-controlled
management of logical connections among program modules. Project
Olympus significantly expands the scope of the development environment
effort with important additional capabilities for module reuse,
fault-tolerance, scalability, protection, and high-performance for
critical demanding applications. The performance improvements will be
accomplished within the run-time system without sacrificing the
simplicity and elegance of the programming model.
-
Gigabit Local ATM Testbed
-
The Gigabit Local ATM Testbed project, supported by ARPA, is concerned
with the development of two key gigabit network technologies: highly
scalable multicast ATM switching systems and host-network interfaces
suitable for supporting gigabit data rates to and from
application-level programs. It will culminate in the creation of a
gigabit testbed with multiple switching systems supporting link speeds
of 600 Mb/s,1.2 Gb/s and 2.4 Gb/s and supporting workstations and
servers at 1.2 Gb/s. The Project Olympus host-network interface
solution incorporates this innovative extensible interconnect.
Status and Plans:
During the first nine months of the project, we have designed a new
I/O abstraction library that distributes the connection management
functionality and enables interface discovery. We have also designed
an application management system that allows modules of a distributed
application to be registered for use by others on the internet.
During the coming year, we plan to complete the first phase of
development and begin integrating our run-time system with the ATM
Port Interconnect Controller chip that we are developing to support
high-bandwidth low-latency communication by minimizing protocol
processing and avoiding data copying and operating system overhead.
Technology Transfer:
Two major transferable results are expected from Project Olympus.
These are (1) the integrated development environment and (2) the
networking extensions for high-performance applications. Technology
transfer is managed by Washington University's
Applied
Research Lab, a laboratory founded specifically to provide a
pathway along which faculty ideas can move to become useful products.
Principal Investigators:
Last updated July 1996 by:
Kenneth J. Goldman, kjg@cs.wustl.edu