Click for next page ( 61


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 60
Paper 7 SC IENTIFIC COMPUTING: A SCIENTIFIC GROUP OF MIXED BACKGROUND ATTEMPTS TO COPE WITH A BROAD SPECTRUM OF PROBLEMS I NTRODUCTION Scientific computing is computing in the service of some scientific undertaking external to computer science itself. The sciences that have traditionally been large consumers of computing services are those in which important (though perhaps simplified) models of physical or chemical processes are well enough established for their application to be worth the expenditure of large amounts of computer time. Computation serves (1) to work out the results predicted by theoretical models for which closed-form solutions are not available {perhaps because the models being studied are inherently complex); (2) to manage the large volumes of data sometimes needed to make findings significant; and (3) to present complex, multidimensional measured or predicted data in graphic or other forms that enhance the scientist's ability to comprehend their overall meaning. Computation has come to play an essential role in the interpretation of data, in the assessment of the adequacy of existing models of phenomena, and in the generation of new models. Large-scale computation is increasingly important to scientists and engineers working in such fields as high-energy and condensed matter physics, energy production, geology, meteorology, structural engineer- ing, aerodynamics, chemistry, physiology, and biochemistry. m e results of scientific computation enter, directly and indirectly, into industrial planning and practice. Computation is more and more an integral part of new scientific instruments, and increasingly the raw data gathered by these instruments are processed computationally before the instrument user ever sees them. In some cases, for example, in computerized tomographic equipment, the raw data are totally unintelli- gible before they have been processed. The cost of the computations that scientific models require is often proportional to the second, third, or even higher power of the complexity of the problem being attacked and the fineness of the detail that computation using a theoretical model is required to produce. Therefore only massive increases in computing power can be translated immediately into the ability to handle increasingly ambitious and refined applications. It is for this reason that the scientific computing community demands ever larger and more powerful machines. 60

OCR for page 60
61 Such demand has traditionally spurred innovation in large machine architectures. DEMANDS ON THE "COMPUTING SCIENTIST. To deal sucessfully with large computations that relate to a scientific field requires a high degree of familiarity with the field itself. The approaches suitable in such computations will reflect the major con- ceptual structures of the field to which the computation belongs, and extensive understanding of the physics or chemistry of the models for which computations are being set up may be needed to understand which of many possible numerical schemes is most likely to produce stable, significant results. An effective computational approach will often rest upon a deep-lying analytical simplification or a clever segrega- tion of the terms appearing in an equation, the terms being treated by different computational strategies. Only when these analytical approaches have been pushed to their limit will a large-scale computa- tional attack on the problems that remain be economically justified. Brute-force number-crunching, which tends to drive computation costs up rapidly, may not be competitive with methods making use of clever approximations, expansion, or mathematical transformations. Thus the practitioner of scientific computation needs to be familiar with all the analytic paths that define the structure of the subject with which he is working, be it hydrodynamics, plasma physics, materials science, neurophysiology, or aircraft design. However, subject-area expertise is only one of the qualifications that the successful practitioner of scientific computing must have. Scientific computing always works with approximate, incomplete representations of the numerical analysis for certification of the stability and accuracy of the computations under- taken. The numerical issues involved are often subtle. If a computa- tion uses an inappropriate numerical scheme, perhaps because some detail (whose significance easily escapes the notice of a physicist or chemist unused to thinking of the numerical properties of a familiar equation) is badly chosen, numerical instabilities that cause large expensive computations to produce nothing but meaningless numerical noise may result. Worse still, plausible-seeming but erroneous output can be produced. Thus the practitioner of large-scale scientific computing must be expert both in a science and in numerical technique. Moreover, in addition to these fields, the computing scientist increasingly needs to be familiar with the sophisticated data structures and combinatorial methods developed by recent computer science research. For example, dissection methods, adaptive numerical approaches, and other subtle geometric techniques have come to play an important role in computa- tional studies of fluid and gas flows. Setting up a combinatorially complex computation may require use of large symbolic manipulation systems, like the MIT MACSYMA system. Moreover, scientific codes often ~ ~ ~ The Crowing likelihood that the largest scientific computations will be carried out on highly parallel computers requiring novel sorts of programming, as well as the probable grow very complex procedurally. _ . . . . . .

OCR for page 60
62 use of specialized VLSI hardware devices such as array processors and Fourier transform chips, seems certain to increase the level of computer science expertise demanded of practitioners of scientific computation. Finally, where analytical models of the type common in the physical sciences are not available, statistical models will often serve as a substitute. Statistical models are, of course, a primary tool for medical, economic, and social scientists. Computation in these fields therefore requires an extensive knowledge of the principles of statistics, of the mathematical properties of statistical modeling techniques, and of existing statistical packages. This requirement and the need to use efficient computational procedures (when they exist) make it necessary for practitioners of scientific computing to have multiple scientific citizenship, i.e., to maintain a solid standing in an external scientific discipline while at the same time acquiring close familiarity with the specialized tech- niques of numerical analysis and the much larger and more amorphous mass of computer-related detail and programming methodology that they also need to apply. m e fact that they need a high level of expertise in some external science means that most practitioners of large-scale computing are trained as physicists, chemists, physiologists, etc., rather than as computer scientists. It has generally proved easier for scientists to learn computing than for computer specialists to acquire these more mature sciences, perhaps because the numerical analysis required for scientific computing no longer forms any substantial part of the computer science curriculum, and the external science never did. However, practitioners of scientific computing who wish to operate with the best techniques available are coming to require more formal training in computer science than was formerly necessary, and the need to invest time in these studies is making it harder for them to maintain contact with their original scientific disciplines. In the absence of adequate computer science training, a scientist engaged in carrying out a major calculation may be misled by the ease with which a language like FORTRAN can be used into ignoring the subtle algorithmic issues that must be faced in constructing efficient, numerically sound programs. STRENGTHS AND WEAKNESSES IN THE ORGANI ZATION OF SCIENTIFIC CO - =ING m e fact that they must draw on the results of many types of scientific, numerical, and computer science research, plus the fact that practi- tioners of scientific computing are typically trained in scientific fields with well-established scientific literatures, makes this community particularly sensitive to the importance of improved methods, and particularly likely to use the latest algorithms and numerical methods, provided only that awareness of these techniques is present. The pitfalls inherent in the fact that scientific computing is generally conducted by researchers having very limited training in formal computer science are somewhat alleviated by the fact that much advanced scientific computing is conducted at sites where contact with trained computer scientists is easily established, for example, at

OCR for page 60
63 high-energy physics laboratories and major medical research centers attached to universities. Many such centers of large-scale scientific computing, especially the high-energy physics laboratories, attract numerical analysts from academia during summers and sabbaticals, partly because they provide access to the most advanced large-scale computing resources. Visits of this type furnish opportunities for numerical analysts to become aware of problems affecting major scientific compu- tations, and for applications-oriented scientists to become aware of the latest advances in technique devised by the academic researchers. However, the frequency and breadth of this interaction are limited by the geographic remoteness of many of the large laboratory centers of scientific computing from the nearest strong university computer science departments. In some cases, contact is also hampered by the fact that laboratory computing tends to be dominated by very strongly mission-focused scientific groups having only limited sympathy for generalized research in scientific computing, whose payoff is less direct and may lie several years in the future. Laboratory computing centers have also tended to fall behind academic ones in providing the first-class interactive software development tools to which the academic computer scientists have become accustomed. Often the old-fashioned batch-oriented computing environment of a large scientific computing center may strike an academic researcher as being unattractive, if not unworkable. In some cases, especially in the case of high-energy physics or medical centers carrying out large programs of applied scientific computation, a scientific computing center's ability to obtain the numerical and software consultation it needs may be hampered by an overwhelming ratio of computer users to trained specialists in scientific computation. Even if a common university connection links such a center to a university department, the typical department will have only a small handful of faculty members specializing in numerical analysis, and the number of applied statisticians available to a medical research establishment containing hundreds-of medical researchers can be equally limited. Although the ability of a computer science depart- ment to deal with a heavy demand for applied advice can sometimes be _ . . . . . stretched by using advanced graduate students as application advisors, a small department will soon find itself unable to cope with the requirements of a much larger scientific computing group. Industry's access to the results of academic research is less secure than that of governmental and nonprofit research laboratories. Although industrial research laboratories often attempt to maintain contact with academic work, for example, by sponsoring seminars and sometimes by recruiting academic researchers to spend longer periods in industry, the narrow focus of some industrial work, industry's relative indifference to academic publications, and occasional corporate reluctance to approve publication because of proprietary concerns all act to inhibit the university numerical analysts' willingness to invest effort at industrial sites. The relationship of scientific-computation-related pursuits to the broader field of computer science is also a source of some difficulties. AS we have noted, the relative weight of numerical analysis within the

OCR for page 60
64 world of computation that it once dominated has become quite small. Forced into a position of administrative dependence on such newer research fields as compiler writing, operating system design, data base theory, and artificial intelligence, workers in scientific computation find that they can no longer command a computing environment ideal for their requirements. m e decentralized small computers that most of their software-oriented colleagues prefer may be useless toys for numerical analysts interested in the problems characteristic of large scientific computations. Even where a large computer is available, the scheduling mechanisms that evolve at an academic center may give decisive preference to small interactive jobs and relegate all substantial computations to overnight or weekend processing. This, and the reluctance of the large mission-oriented laboratories to set aside significant blocks of time for mission-independent research, means that the aggregate of computing resource available to university investi- gators of basic numerical techniques has not improved over the past decade. Indeed, the computational resources available for this work are probably less powerful in relation to the scope of problems being attacked today than they were 10 or 20 years ago. Similar problems exist in industry. If scientific computing is only a minor part of the activity of an industrial laboratory, it may lack the managerial support needed for real expertise to be attained. A factor compounding the isolation of numerically oriented computer scientists within the larger body of their departmental colleagues is the fact that typical computer science training no longer provides the mathematical background needed to comprehend the issues that numerical analysts study. For this, familiarity with such mathematical subjects as ordinary and partial differential equations, eigenvalue theory, and linear and nonlinear optimization theory, to say nothing of various fields of physics and of other sciences, is required. However, mathe- matical training emphasizes discrete and combinatorial rather than continuous models. This means that most computer scientists would need to learn several additional branches of mathematics before they could really comprehend the characteristic problems of scientific computation. Another factor tending to isolate scientific-computation-oriented researchers from their colleagues in other branches of computer science lies in the simple fact that FORTRAN has remained the standard for numerical computation but is regarded with indifference if not disdain by most other computer scientists. Manufacturers have not followed that trend, as seen in the software made available by CDC, CRAY, and DEC's VMS for the VAX computer. Most computer scientists, however, use the UNIX software with the VAX, and here no capable FORTRAN is provided. Indeed, numerical concerns have come to occupy so marginal a position in computer science that even language and machine designers tend not to consider the provision of real arithmetic capabilities to be much of an issue. Even for compiler specialists, the problems of FORTRAN optimization have little appeal as compared to such newer issues as the analysis of encapsulated languages or the design of parallel processing features. The difference in emphasis perpetuates the isolation of numerically oriented specialists within computer science generally, often preventing their colleagues, some of whom might otherwise con-

OCR for page 60
65 tribute significant new algorithmic techniques to the enterprise of scientific computing, from comprehending the problems that need to be solved. A sociological consequence of the isolation on which we have commented in the last few paragraphs is that computer scientists who begin to devote a substantial portion of their research energy to the problems characteristic of scientific computing often begin to lose contact and credibility with a broader class of peers. As such contact is lost, the ability of a practitioner of scientific computing to generate publications of the sort that his nonnumerical colleagues will find appealing may be hampered. THE OVERALL HEALTH OF SCIENTIFIC COMPUTING As compared to many other of the areas surveyed in this report, research in scientific computing, that is to say, research in the several areas of mathematics, numerical analysis, and algorithm design that serve to advance scientific computing, is a university-dominated area. The results of this research are applied and disseminated by an informally recruited group drawn from scientific disciplines other than computer science itself. The main problem is that this unfocused form of recruiting is only marginally capable of producing a flow of people sufficient for the needs of laboratories and industry. The separate research disciplines that support the work of the practitioner of scientific computing are by comparison flourishing. The general literature on algorithms of potential use to scientific computation has grown impressively and is continuing to grow rapidly. Though small, the core numerical analysis research community is sound and productive. We cannot, however, be so sanguine concerning the activity of scientific computation itself. The difficulties that those contributing to this activity find in mastering the many subjects whose results they need to use are compounded by the lack of any well- identified intellectual home for research and training in scientific computing. m ough a well-trained physicist or chemist certainly has the intellectual background to master almost any topic in computer science, the rapid growth of the computer science literature makes it increasingly difficult to acquire a well-rounded view of this sprawling field without extensive formal training. The coming age of large-scale parallel computation, and the probability that specialized very-high- performance VLSI chips will need to be integrated into the scientific computing environment, will accentuate these difficulties. Moreover, even though researchers active in scientific computation at universities with powerful computer science departments may find it feasible to acquire bits and pieces of numerical analysis and of computer science by osmosis from colleagues as this information is needed, the link between computer science and research laboratories carrying out major scientific computations is growing weaker, and the link with industry weaker still. m us, unless training in scientific computing is progressively strengthened as the demands on its practitioners continue to mount, there is reason to fear that industry's ability to carry out

OCR for page 60
66 large scientific computations effectively will be injured, and that major laboratories may also suffer, though to a lesser extent. Finally, the scientific computing community may find itself unable to contribute adequately to the complex of architectural decisions concerning highly parallel machines, distributed microprocessor systems, and large vector processors, that will need to be made during the next few years. Two initiatives would help to alleviate the problems we have described. The first would be to accelerate and structure training in numerical scientific computing by establishing a few model training programs specifically oriented to this field at one or two universities with strong numerical analysis groups and a tradition of large-scale scientific computing. The second is to ensure access for university scientific computing groups to the most powerful computers available at any given moment. Such access is particularly necessary if these groups are to contribute the new techniques and algorithms needed to optimize the use of new machines likely to flow out of the present technological ferment.