ABSTRACT

186The next several years will see the maturing of a collection of technologies that will enable fully and transparently distributed computing environments. Networks will be used to configure independent computing, storage, and I/O elements into “virtual systems” that are optimal for solving a particular problem. This environment will make the most powerful computing systems those that are logically assembled from network-based components and will also make those systems available to a widespread audience.

Anticipating that the necessary technology and communications infrastructure will be available in the next 3 to 5 years, we are developing and demonstrating prototype applications that test and exercise the currently available elements of this configurable environment. The Lawrence Berkeley Laboratory (LBL) Information and Computing Sciences and Research Medicine Divisions have collaborated with the Pittsburgh Supercomputer Center to demonstrate one distributed application that illuminates the issues and potential of using networks to configure virtual systems. This application allows the interactive visualization of large three-dimensional (3D) scalar fields (voxel data sets) by using a network-based configuration of heterogeneous supercomputers and workstations. The specific test case is visualization of 3D magnetic resonance imaging (MRI) data. The virtual system architecture consists of a Connection Machine-2 (CM-2™) that performs surface reconstruction from the voxel data, a Cray Y-MP™ that renders the resulting geometric data into an image, and a workstation that provides the display of the image and the user interface for specifying the parameters for the geometry generation and 3D viewing. These three elements are configured into a virtual system by using several different network technologies.

187This paper reviews the current status of the software, hardware, and communications technologies that are needed to enable this configurable environment. These interdependent technologies include: (1) user interface and application program construction methodologies, (2) the interprocess communication (IPC) mechanisms used to connect the software modules of the application, (3) the network protocols and interface hardware used by the IPC for communicating between modules running on separate and independent computing system elements, (4) the telecommunications infrastructure that provides the low-level data transfer functions for the networks that connect the geographically distributed elements used by the application, and (5) the nature of the functional elements that will be connected to form virtual systems.