What problems can distributed computing solve? This question first arose in the context of distributed databases in the 1970s. While technologists were focusing on the problem of how to take existing, centralized databases and transparently break them into distributed and possibly heterogeneous pieces, the real problem was just the opposite. We already had distributed, heterogeneous databases--what we needed was a way to integrate them.
Today the issues appear to be much the same when it comes to doing distributed computing or downsizing and dealing with legacy code. The real problem is not how to break up a monolithic program into procedures, some of which are local and others remote, but how to integrate disparate procedures that are already distributed. One distributed computing approach, Ellery Open Systems (EOS), which runs as middleware on top of the OSF Distributed Computing Environment (DCE) solves this problem by allowing existing programs to be run as servers with little or no change, so you can build new, integrated applications that call these as remote procedures.
Our DDJ articles will address some of the problems that distributed computing is intended to solve: concurrency, distribution of procedures, and integration. In this, our first installment, we'll focus on an application that requires--and illustrates the power of--distributed computing. In the future, we'll look under the hood and examine the tools and techniques used to create distributed computing applications like that described here.
The Astrophysics Data System (ADS) is a NASA-sponsored program that puts the disparate data collected by NASA space missions and stored on a heterogeneous collection of platforms at research centers and university facilities across the nation in the hands of the scientific community in an efficient and effective manner. The ADS offers a novel approach to dealing with large quantities of geographically distributed and heterogeneous data from a broad range of astrophysics missions: It provides convenient, uniform access to relevant and current data regardless of where or how it is physically maintained. The ADS also provides a variety of tools and services to inform users of available data and to facilitate its manipulation and analysis. The NASA ADS is built on EOS and runs over the Internet, including the NSFnet and the NASA Science Internet. At this time, UNIX workstations from Sun, Digital Equipment, and Hewlett-Packard are used throughout the system.
The ADS consists of operations sites, nodes, and users. The operations sites provide project management, authentication, routing, systems management and operations, electronic software distribution, user support, and other project services.
Nodes are suppliers of data and/or services. Current nodes primarily provide RDBMS-located catalogs of astronomical data (such as star catalogs) and observation catalogs (lists of targets, for example). These catalogs are typically maintained in commercial DBMSs such as Ingres or Sybase. Nodes also provide data-processing facilities such as coordinate conversion and visualization services. Services coming online in 1993 include connections to foreign astronomical-data services, additional imagery capabilities, and bibliographic abstract access--all of which are currently in beta testing. These nodes are located at various research centers and universities which receive NASA funding to archive space-astronomy data.
Most importantly, the ADS has a distributed set of users. Client software is distributed over the network to users, who install it on their local workstations. The installation is purposely made simple: Any local user can install the software, without needing the UNIX root-user password or any special skills, save minimal UNIX knowledge and basic skills with a text editor to change a single configuration file that drives the system. These users are located at universities, small research groups, large astronomical research facilities, and in government and commercial laboratories.
The intent of the project has always been to provide user-friendly data access and processing abilities. With the use of Motif widgets and pull-down menus, an astronomer with little computer experience can sit down and be doing meaningful research on multispectral data located all across the country in just a few minutes.
As an example, basic searches can be done with a just a few simple widgets. On the first widget, the astronomer chooses which catalogue or catalogues to search by clicking on their names. A positional search is selected from a pull-down menu on the widget. A second widget materializes that contains sliders for setting both the center point of the search in the sky and the search radius in the north-south and east-west directions. With the sliders set, the astronomer types a local filename in which to store the results and presses the OK button. The client software then looks up the selected catalogues in a cross-reference database, converts the user-entered coordinates to the appropriate units for each catalogue, and builds SQL statements. Remote procedure calls (RPCs) are used to invoke processes at the remote sites where the data archives are located. Once the connection to these remote servers is established, the SQL queries are sent to the remote database servers for processing by the remote RDBMS. When the remote RDBMS returns results, data-format translation is done on the node side to a canonical format, which is transported back to the user's computer system. To keep from overloading the network, only the first 25 rows are returned to the astronomer and presented in a third widget for examination. If the first results look useful, the user can request the rest of the results by pushing the Page Down button on the widget. If the results are not interesting, another query can be sent. Cleanup at the nodes is done automatically when the client software quits.
The entire application was written by student and professional programmers, most of whom knew little about Motif programming, RPC application programming, or SQL. The interpreted Motif capability of EOS and the ability to build server code that could be debugged from the local shell has resulted in rapid prototyping and deployment of new services, without needing a cadre of programming "gurus." Much of the application programming was done within the project at the Infrared Processing and Analysis Center at Caltech, the Center for Astrophysics and Space Astronomy at the University of Colorado, Boulder, and the Smithsonian Astrophysical Observatory at Harvard.
The system has been well received within the community, especially with the introduction of the Motif interface. Each day, hundreds of users are doing cross-country research and instructing students with live data and hands-on tools. In reviews by other astronomers on behalf of NASA, the ADS scores highly as an important and useful tool. As the first production-level, open, distributed-processing application, it is regarded as a technological achievement. The future looks even more exciting.
"Virtual observatories" are on the horizon. An astronomer at a participating college or university will be able to issue queries that will first look for available data in archives of existing observations. Then, if the desired data does not exist, the system will automatically generate observing requests of ground-based telescopes or space-home observatories to do the observation and return the data to the user and then archive it automatically for future use. The technology to do this is available today. Whether it's done first in the United States or not, is up to the American electorate.
One mechanism for developing the technology needed for the "virtual observatory" is the National Information Infrastructure Testbed (NIIT). The NIIT is an industry-funded collaboration between a number of large- and small-industry companies, Sandia National Laboratories, and several university science organizations. It was established to implement a nationwide, high-performance distributed-computing and network communications testbed in 1993. It is intended to enable industry, government, and university participants to gain hands-on experience with the practical issues associated with very large-scale information-infrastructure implementation. It is a practically focused initiative to facilitate the acquisition and sharing of practical experience necessary to implement, operate, and maintain very large-scale, DCE-based, distributed-computing applications over high-performance fiber ATM communications networks. The initial reference application being deployed for roll-out in November 1993 is a multi-user collaborative and interactive multi-media data-browsing and analysis application of the Hewlett-Packard and Ellery Systems Earth Data System.
The Earth Data System (EDS) is a suite of environmental-science, distributed-computing applications developed by a number of leading scientists around the United States in collaboration with Ellery Systems and Hewlett-Packard.
Like the ADS, the EDS consists of distributed data holdings and applications programs. A multimedia, interactive, collaborative data-browsing and analysis application is being built by the EDS collaborators for deployment as a reference application on the NIIT. This application will be comprised of a number of existing application programs and datasets that will be integrated as DCE services using EOS. When the application is completed in October 1993, EDS users in different time zones will be able to collaboratively browse, correlate, and analyze images, data, and meta-data as though they were sitting side by side in front of a common monitor. It will be built, in large part, by the scientists themselves, just as ADS was. EOS will be both the application's development and the runtime environment.
The biggest technological difference between EDS and ADS is that EDS needs much higher communications bandwidth and computational speed because its basic units of data, the images, are typically quite large. That's why NIIT and the future National Information Infrastructure are so important. Accelerating the acquisition of practical experience with existing distributed-computing and high-performance network technology will enable accelerated deployment of the technology, while driving the cost down to generally affordable levels. It is the lack of experience with the technology that inhibits its deployment.
Funding the development and implementation of the EDS over the last two years has enabled Ellery, HP, and the participating scientists to gain practical experience with distributed computing application solutions to complex, heterogeneous data access and analysis problems. As the technology-transfer liaison, the NASA Astrophysics Data System project office has provided technical and scientific application technology and experience. It's extremely exciting to see how distributed computing facilitates multidisciplinary data system development and implementation. If properly designed, distributed-computing solutions save enormous amounts of time and money while providing significantly more powerful and flexible research and analysis capabilities. We've also learned that the "cultural" issues associated with implementing distributed computing applications -- that is, those involving coordination and cooperation amongst individual special-interest groups working toward a common good--are generally more challenging than the technical issues. Distributed-computing applications development is a different kettle of fish than older-generation centralized-computing solutions, and the practical experience we've gained in this regard is something we look forward to continuing to share with industry and other communities, now seriously looking to implement distributed-computing applications.
The similarities between the ADS and EDS will allow much of the experience gained in building the ADS to be put to use for the EDS. At the same time, some of the new capabilities developed for EDS will become important to the ADS as it begins to bring more of the large data sets from current satellite missions online.
The ADS and the EDS are being built mainly by people whose regular job is not programming. In the case of the National Information Highway, the required level of programming expertise is a critical issue. If you have to be a computer scientist to gain access to it, it may not worth building. It won't create any new jobs, and the research and education community, who really need it, won't be able to afford it. But if average programmers can access it, then small businesses, who create most new jobs but can only afford inexperienced programmers, can become competitive service and information providers; the research community will have access to these services as well as contributing new information and services that result from research; and the education community will be able to drive access down to the K-12 level.
When that happens, the National Information Infrastructure will truly deserve its grand title.
Copyright © 1993, Dr. Dobb's Journal