Click for next page ( 48


The National Academies | 500 Fifth St. N.W. | Washington, D.C. 20001
Copyright © National Academy of Sciences. All rights reserved.
Terms of Use and Privacy Statement



Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.

Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.

OCR for page 47
AN AGENDA FOR RES PARCH This chapter restates the problem identified in the previous chapters: specifically, the need for research to develop methods for evaluating supercomputer performance. An agenda, or framework, for such research is proposed here. Implementation of this agenda will involve the entire large-scale computing community and should be integrated into existing and developing research programs. This integration will be most successful if progress is monitored and stimulated by a body of representatives of various funding and performing agencies as well academic, industry, and government experts. OPPORTUNITIES as The design space for computer systems has been dramatically enlarged by growth in microelectronics and emergence of parallel structuring of computations as a means for increasing the performance of computer systems on specific applications. These trends provide an opportunity to match the computational structure of applications and algorithms with the capabilities of system architectures. Parallelism, which will be a critical factor in attainment of high performance, adds additional degrees of freedom and complexity to both computation structures and architectures. At the same time, system architectures are typically built from operations on data structures, whereas scientific and engineering applications are expressed in terms of equations to be solved or relationships to be resolved. The expression of an application as operations on data structures usually introduces many additional steps to the computation structure. Awkward mappings from applications to system architectures may result in substantially lower performance than the system is capable of. Consequently, we outline areas of research that may provide more efficient and effective methods of accomplishing the following tasks: 47

OCR for page 47
48 0 Mappings of applications onto architecture o Synthesis of operations into algorithms o Applications - specific architectures o Performance modeling. RESEARCH PROGRAM SPECIFICATIONS Current design and design evaluation methods skip from gross specification requirements to microscopic design levels. This leads to bottom-up construction of system architectures, which may or may not meet application requirements. Because of the synergy between architecture (design), problem formulation, and implementation, synthesis of computation structures with design methods will be necessary. Thus we propose a hierarchical approach with the following elements. Appendix B gives further examples. Hierarchical Characterization of Applications and Algorithms The earliest use of electronic computers entailed decomposition of applications into rather simple fundamental units of computation--for example, arithmetic operations and loops. It was quickly realized that certain "functions r' were common to many applications--for example, elementary trignometric functions and input and output of various types of data. Thus, "libraries r of software packages and subroutines quickly emerged and frequently served as "building blocks" for constructing application programs. This trend has continued and today we have large collections of software modules or basic routines in such areas as linear algebra, interpolation, approximation, and sorting, such as listed in Table 4-1. These collections have even begun to reflect the architecture of supercomputers. For example, the LINPACK collection for linear algebra has been formulated hierarchically in terms of basic vector operations. These vector operations are chosen to assure high performance on a wide range of architecture. And in general there is a trend toward formulation of applications in terms of "high-level operators" with the operators being chosen so that they can be implemented efficiently on supercomputers. Thus we recommend a broad and systematic study to characterize applications and algorithms in terms of "fundamental units of

OCR for page 47
49 computation." The work by Sameh (1986) identifying basic routines common to many application areas, cited in Chapter 4, is illustrative of what is needed. The applications to be studied should include energy, aerospace, real-time control, sensor data analysis, and intelligent control. Given current trends in microelectronics, if a sufficiently powerful set of high level operators can be identified, then it may be advantageous to incorporate them directly into hardware. And whether they are in hardware or not, use of such a set may significantly simplify and improve mappings of applications onto architectures. Composing Operations into Algorithms Research is needed to develop procedures for composing operations on data structures into parameterized algorithm elements. For example, a programmable systolic array with addition and multiplication operations can be used to construct "optimal" computation structures for a spectrum of the algorithms used in vision. In other words, one starts with a set of fundamental units of computation and then explores composition of them into algorithms. A key research issue is whether a somewhat general capability can be established wherein efficient structures can be systematically produced for broad classes of algorithms. Application- Specific Architectures Research is needed to develop procedures for synthesis of application-specific architectures that must meet specific performance goals. There are a number of projects under way to develop application-specific architectures. The image and signal processing communities have been particularly successful in this area. Other activities include projects to build architectures for physics related problems and projects for building architectures for production rule systems and logic programming. The Numerical Aerodynamic Simulation system, sponsored by the National Aeronautics and Space Administration, is a large-scale program for development of a computer facility capable of solving equations governing the fluid dynamic flows about aerospace vehicles, even though it uses general purpose, rather than application-specific, supercomputers. A key research issue is whether procedures can be developed for synthesis of application-specific architectures. The objective is a capability for efficiently developing architectures that meet performance goals for special applications.

OCR for page 47
so Hierarchical Performance Modeling of Supercomputers Research is needed to advance significantly methods for modeling and evaluating the performance of supercomputers. As noted throughout this report, as architecture grows in complexity, performance becomes increasingly dependent on achieving a good match between problems, implementation, and algorithms. Achieving that match in turn will depend partly on our capabilities in performance measurement. Particularly important will be the development of multidimensional performance models and provision of hardware facilities for collecting associated data. The latter should be encouraged in all experimental equipment. Further, several commercial supercomputers now provide capability for collecting a variety of performance data. Study and dissemination thereof should be nurtured. These topics should also be evident in the curriculum of major universities. The corollary to the specification of such a research program is a recommendation for its support: Funding agencies should support more emphasis on supercomputer performance evaluation methods in existing research and development programs. and should initiate the support of basic research in the science of supercomputer performance evaluation. CONDUCT OF RESEARCH PROGRAM Although this research program can be established and developed in the context of existing federal government agencies that sponsor research in very high-performance computation, it will be most successful if it is given focus and direction by a group of experts who represent interested funding agencies, other government interests, academicians, and the private sector. Because the research effort will be a natural part of diverse projects that are under the auspices of many agencies, the vision and framework for the development of scientific supercomputer performance evaluation should be consolidated within a group that can serve as advisors to the general community of researchers and funding organizations. Programs with known active interests in very high-performance computation include the U.S. Department of Energy, the National Aeronautics and Space Administration, several U.S. Department of Defense agencies, including the Defense Advanced Research Projects Agency and the Strategic Defense Initiative Office, as well as some of the basic research agencies, such as the Office of Naval Research and the Air Force Office of Scientific Research. These programs should all have a component of evaluation in their research funding. The new Directorate

OCR for page 47
51 for Computer and Information Science and Engineering at the National Science Foundation is also a potential sponsor for such a research thrust. The National Bureau of Standards has a research program under way that addresses performance measurement of computers, especially the multiprocessor machines that are the subject of much current development. Possible means of implementing this and similar programs have been sketched in two reports on very high performance computing research prepared respectively by the Federal Council on Science, Engineering, and Technology (Kahn, 1985) and the White House Science Council (Browne, undated). One implementation strategy is to set up coordinated programs in the interested agencies together with a mechanism to insure optimism choice of research directions and close cooperation among programs. The manifold activities taking place in this area would benefit by increased communication and leveraging of effort. Although the development of standards is certainly not appropriate now, the development and distribution of a coherent set of measurement criteria are. The committee believes it would be desirable for one or two of the federal funding agencies, perhaps in cooperation with others, to establish a group of experts who would, over a period of time, collect and evaluate research results and experience in the area of supercomputer performance evaluation and attempt to translate it into a broadly usable collection of methods and measures. The experience in this field of the U.S. Department of Enregy and the recent emphasis on supercomputing at the National Science Foundation suggest that these are the appropriate lead agencies for this task. Thus a final recommendation is intended to translate research and experience into a commonly agreed collection of performance models' methods, and measures for practical use: The U.S. Department of Energy and the National Science Foundation should undertake a leadership role in establishing a formal mechanism to track. assess, and disseminate research results with a view to bringing about commonly accepted methodologies of supercomputer performance evaluation. REFERENCES Browne, J. C., Chairman. Undated. Research in Very High Performance Computing: A Policy Recommendation and a Research Requirements Statement. Submitted by the White House Science Council Committee on Research in Very High Performance Computing. Washington: Office of Science and Technology Policy, Executive Office of the President. Kahn, R. E., Chairman. 1985. Report of the Federal Coordinating Council on Science, Engineering, and Technology. Panel on Advanced Computer Research in the Federal Government. Washington Office of Science and Technology Policy, Executive Office of the President. June.

OCR for page 47