The Future of High-Performance Computing
by Richard F. Sincovec
Rich Sincovec relaxes outside Building 6025, headquarters for ORNL's Computer Science and Mathematics Division. Photograph by Tom Cerniglio.
The World Wide Web, the graphical part of the Internet, has created a new environment for research and communication. Today most users employ the Web to search for and view information from remote databases. The infrastructure, which includes algorithms, tools, and software to utilize fully the potential of the Web for computational science, is in its infancy. However, it is expected to grow rapidly as enhanced capabilities become available for use or retrieval of remote and distributed program libraries and databases, for remote and distributed execution, and for remote and distributed visualization activities.
Browsers, including those compatible with Sun Microsystems Java programming language, have become the norm for accessing information on the Web. Given current trends in Web use and the rapidity with which advances are realized, it is tempting to envisage a world in which the Web is the universal medium for computing. In such a world, applications would not be constructed from scratch or even built using standard software libraries; instead they would be put together using prefabricated components available through the Web. For example, Java, which has an object-oriented approach, permits software components to be easily constructed and used together to create complete applications. These may be operated in either a stand-alone mode or as applets (mini-programs written in Java) that can be run over the Web to enable “programming in the large.” Likewise, multimedia interfaces will evolve that will provide the user access to “a global meta-computer” that will enable access to the computing resources required without the need to worry about where or how the work is done. Problem-solving environments (PSEs) are created by using these technologies in concert with each other.
Funding is now available from several U.S. agencies to support the design and development of PSEs. A PSE is a computing environment that will provide all the computational and informational resources needed to solve problems within a specific domain. Some examples of questions that a PSE might address are “How do I design a new material with specified properties?” “How do I remediate a specific contaminated site?” and “What investment should I make now?” For each problem domain, there is a separate PSE. Some non-Web-based PSEs already exist; however, future PSEs are likely to use software that becomes available on the Web.
Sincovec surveys the ORNL campus near the Swan Pond, part of the view for many computer scientists at the laboratory.
A multimedia user interface represents a PSE to the user. The interface will present a coherent view of the problem domain and hide the intrinsic details of the underlying computing infrastructure. PSE will use the language of the target class of problems and avoid, to the extent possible, information that requires specialized knowledge of the underlying computer hardware or software. PSE will provide a system that is closer to the scientists problem than to general-purpose parallel hardware and systems software while still providing a complete environment for defining and solving problems in the problem domain.
The PSE multimedia interface will provide the scientist with a set of tools for exploring all aspects of the problem. PSE will also provide a visual editor for creating new applications or modifying existing applications using software available on the Web. The tools will enable modifications of existing codes and facilitate the integration of codes developed by other scientists working in the problem domain. PSE will have features that will allow the researcher to include advanced solution methods, to easily incorporate novel solution methods, and to automatically select solution methods.
The PSE multimedia interface will also permit the scientist to follow the progress of the computation, to track extended problem-solving tasks, and to review them easily. Additionally, PSE will provide the user with the flexibility to use visualization, holography, sound, or new breakthrough techniques to understand the results better. PSE will be further enhanced by existing projects at ORNL in electronic notebooks and videoconferencing that should provide improved collaborative tools. PSEs will not only facilitate a more efficient use of existing distributed computing resources but also, and even more important, will significantly enhance scientists productivity by enabling them to bypass the time-consuming computational aspects of their work so that they can concentrate on the scientific aspects. Ideally, they will be free to spend more of their time analyzing results rather than setting up problems for the computing environment. PSE facilitates the transparent use of software developed at other sites, thereby enabling rapid deployment of new and enhanced applications.
PSE will also enable collaborative problem solving with scientists at other locations. Collaborative activities can include interactive visualization and remote steering of experiments through distributed applications by multiple collaborators. PSE might also involve resources other than computing resources, such as specialized scientific instruments coupled with appropriate collaborative and control capabilities. Interaction with the virtual environment can be expected to involve new mechanisms for interaction between humans and computers. Overall, PSEs will have the potential to create a framework that is all things to all people: they solve simple or complex problems, support rapid prototyping or detailed analysis, and are useful in introductory computer education or at the frontiers of science.
What Is Required to Develop a PSE?
Current projects at ORNL and within other organizations in software components and tools provide the foundation for creating PSEs. Recent work in fault tolerance and task migration is essential for a robust PSE. Current projects are also exploring how to integrate different tools and program components at the proper level of abstraction so that the resulting PSE is both sufficiently flexible and easy to use. PSEs require computer networks that possess adequate speed and band-width. Minimal network latency and maximum network reliability are also essential, as are security and authentication mechanisms that are uniform throughout the virtual computing environment. Finally, as free-market computing becomes more dominant, accounting mechanisms with audit trails will be necessary for proper user billing and fraud prevention. Ultimately, computing resources will be paid for as they are used, and they will be universally accessible.
Seamless Computing Environment
The development of PSEs using the Web depends on the development of an underlying seamless computing environment (SCE). SCE provides the middle ware between PSEs and library routines, databases, and other resources that are available on the Web. SCE assigns, coordinates, and schedules the resources required by PSE. Specifically, SCE addresses such functions as job compilation, submission, scheduling, task migration, data management, and monitoring. Using the SCE interface, the user specifies the job to be performed, along with required resources. The interface acts as an intelligent agent that interprets the user input to assign computing resources, identify storage requirements, and determine database needs, all within constraints imposed by the user with respect to cost and problem completion. The intelligent agent may choose to pass the job to more distant agents. Those agents then interact with local agents to assign or perform the work. The user will be able to specify unique requirements, such as computer architecture, including parallel computers with a specified number of processors, specific domain-dependent databases, and the maximum cost the user is willing to pay to solve the problem. The interface will provide information on progress and resources being consumed while the job is being executed.
SCE, which has agents that are programmed to optimize the use of distributed resources, will provide more efficient use of existing computing resources, including workstations and high-performance computers. More importantly, new scheduling environments will enable computations to be performed where they can be done most effectively, in a manner transparent to the user. The distributed nature of SCE provides fault-tolerant capabilities.
Computing, visualization, and mass storage systems that make up the distributed computing environment must be linked in a seamless manner so that a single application can use the power of multiple computers, use data from more than one mass storage system, store results on more than one mass storage system, and link visualization resources so users can view the results using desktop virtual reality environments.
SCE must provide a secure and robust distributed computing infra-structure that has scalable shared files, global authentication, and access to resources at multiple Web sites. PSE and SCE will most likely be based on object-oriented methodologies.
A Research Agenda for the Internet
Exploiting the power of the Internet through the use of PSEs and SCEs requires a broad research agenda to help create
- multimedia user interfaces (MMUIs) that support the problem and computing domain;
- a scheduling environment to enable the most effective performance of computations at a location transparent to the user;
- a secure and robust distributed computing infrastructure that features security and authentication mechanisms that are uniform throughout the accessible environment and that enable user access to resources at multiple sites;
- storage and search tools to find applicable resources, including codes, documents, and data in multimedia databases;
- new programming paradigms, languages, compilers, and mapping strategies;
- machine and software abstractions;
- scalable shared file system and transparent access to remote databases;
- code reusability coupled with tools that enhance reuse and enable a layered approach to application development;
- tools to support code development, testing, and validation in the proposed environment;
- domain-specific environments, including hierarchy of object-oriented abstractions;
- repository research, including indexing, storage, search, security against viruses, and some insurance of portability;
- remote collaboration tools, including computational steering tools; and
- accounting mechanisms and audit trails.
Economic Model for PSEs Based on SCE
Within PSE, the scientist specifies a problem to be solved, the resources required, and the maximum amount of money available to solve the problem within a specified time. When PSE submits its requirements to SCE, SCE assigns the problem requirements to an intelligent software agent (ISA) that attempts to solve the problem within the specified cost and time constraints. If the job cannot be done locally, the ISA passes the requirements on to remote ISAs (RISAs). RISAs interact with other ISAs in bidding to perform the work. The local ISA selects the RISA that submits the lowest bid to perform the work in the specified time frame. Upon completing the job, the ISA that runs the job charges the scientist for the resources used. If the job uses third-party software, ISA charges the user and remits the fee to the bank account of the software owner.
In one vision of the future, a nomadic computing environment would enable you to go anywhere and use everything. You would have a persistent electronic presencethat is, always “me” online. You would also be able to expect 100% network availability, ubiquitous wireless access, and ultrahigh bandwidth nets for research.
When will it happen? Soon! The Center for Computational Sciences is currently laying the groundwork for an SCE. ORNL and other government laboratories are working on various projects that provide the fundamental building blocks. Computer hardware and software vendors are providing new products that directly support the development of PSEs and SCEs. Computer scientists and applied mathematicians are developing the concepts, tools, and algorithms. The funding agencies are creating programs that support the design and development of PSEs. Because of the rapid rate of technology development in computing and networking, you will not have to wait very long.
RICHARD F. SINCOVEC was director of ORNLs Computer Science and Mathematics Division until he left for San Antonio, Texas, in August 1997. He received M.S. and Ph.D. degrees in applied mathematics from Iowa State University. Before joining ORNL in 1991, he had been director of NASAs Research Institute for Advanced Computer Science in Ames, California. He also has been professor and chairman of the Computer Science Department at the University of Colorado at Colorado Springs, manager of the Numerical Analysis Group at Boeing Computer Services, professor of computer science and mathematics at Kansas State University, and a senior research mathematician at Exxon Production Research. He has also been affiliated with the Software Engineering Institute of Carnegie-Mellon University, Lawrence Livermore Laboratory, and Hewlett-Packard. He is the coauthor of five books that cover topics in software engineering, Ada, Modula-2, data structures, and reusable software components. He is a member of the Association for Computing Machinery and the Society for Industrial and Applied Mathematics (SIAM), and he is editor-in-chief of the SIAM Review.
Next article | Contents | Search | Mail | Review Home Page | ORNL Home Page