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