CSE: Content and Product

7 downloads 12884 Views 114KB Size Report
Curricula range from “numerical analysis” courses offered by mathematics or computer science depart- ments to computational methods offered by the student's.
THEME ARTICLE

One Viewpoint on Computational Science

CSE: Content and Product EFSTRATIOS GALLOPOULOS University of Patras AHMED SAMEH Purdue University ♦





Computational science and engineering is a young field, and not everyone agrees on exactly what it is. Some define it very broadly, others more narrowly. These authors contend that the main business of CSE is the creation of problem-solving environments for science and engineering.



C

omputing has become an essential tool of science and engineering. In tribute to those who brought about this state of affairs it is worth remembering that even as recently as the early 1980s, there was suspicion—sometimes bordering on ridicule—of the value of “the study of computing and computers” or of the importance of computers in scientific research and instruction.1,2 Even when the legitimacy of computing in science was realized, access was a major problem. A white paper by Larry Smarr that was pivotal for the creation of the NSF supercomputer centers in the United States described the frustration of US scientists in gaining access to supercomputers “hidden” in federal laboratories, causing an exodus of researchers to Europe. (See also Ken Wilson’s insightful article.3) A decade later, the critical role of computers in scientific investigation is on firm ground and access has greatly improved. It is almost taken for granted that by the time of graduation a student in science or engineering will have completed at least an introductory course in computer technology (including basic computer system organization, introduction to some programming languages and data structures, and basic numerical algorithms) and a course in computational methods. The contents of the latter vary considerably across institutions. Curricula range from “numerical analysis” courses

offered by mathematics or computer science departments to computational methods offered by the student’s home science or engineering department. Nevertheless, the resulting education and training have frequently proven insufficient for the kinds of problems that are routinely encountered today in industry or in meaningful research activities in academia. Furthermore, until recently there existed few forums for the systematic exchange of ideas between computer science and the traditional science and engineering disciplines. Computational science and engineering (CSE) programs attempt to provide the institutional support, in terms of personnel and infrastructure, to address such needs in research and education.4 In this article we describe our view of the area and relate it to the problem-solving processes in science and engineering.

Realities: The world is interdisciplinary Fundamental to our discussion is the gradual acceptance, from a segment of the science and engineering community, of the fact that synergy of the disciplines is essential for the effective solution of hard problems in research. To put this into perspective, it is worth noting that historically the predominant model in conducting scientific research consisted of individuals or small groups pursuing a research goal, possibly according to an informal agenda previously agreed upon with a fund-

Based on a presentation at the IEEE Computer Society Workshop on Computational Science & Engineering, Oct. 1996, Purdue University.

APRIL–JUNE 1997

1070-9924/97/$10.00 © 1997 IEEE

39

ing agency. With the exception of some “big science” projects, collaboration with researchers from other disciplines was routinely avoided, at the cost of rediscovering existing results or building tools that were already available elsewhere. By way of illustration of situations specific to computing, we note the preference of scientists and engineers for copiously programming their own software rather than using or reusing modules from available software libraries. Conversely, we point to myriad software-building projects, launched by computer scientists who lack understanding of the real needs of the underlying applications, that are of no use to scientists and engineers. These historical patterns are now changing, as people recognize that the traditional (and artificial) walls separating the science and engineering disciplines need to be torn down in order to create a unifying educational and research structure.5,6 Computers stand at the crux of this transformation.7 As stated by Atlee Jackson: “It is essential to recognize the fact that computer experiments can both be a two-way bridge between physical experiments and mathematical models, as well as an independent source of physical understanding. Such experiments have a mindbending potential for future explorations of nature’s secrets, which is only vaguely recognized today.”8 Major consequences of such cross-disciplinarity in education and research activities, and the growing indispensability of computation to scientific inquiry, are the following: ♦ The high complexity of physical models and problem-solving tasks, complexity due to more phenomena and physical parameters rather than due to finer granularity and consequent increases in problem size. This was highlighted in a recent IEEE CS&E editorial by George Cybenko which made the point that after the past decades’ successes in “large-scale” computing, there is a pressing need to move ahead and develop technologies for the challenges of “large-scope” computing. ♦ The need for continuing advances in networking technology to enable and advance collaboration in scientific problem solving. Current examples include “Internet 2,” “collaboratories,” and “metacomputing.” ♦ The often-heard complaint of scientists and engineers that too much money and valuable time of researchers are spent in learning about new and complicated computer hardware and

40

software. (The extraordinary growth of the Internet community, by the way, shows the reverse: when tools—such as WWW browsers— are easy to use, there is seemingly unbounded use and most complaints are leveled at the resulting excesses.) The former type of complaint, however, exemplifies the typical scientific user attitude, namely that computers are necessary but it would be much preferable if their role in the scientific process were made transparent. We argue that the science and engineering users alluded to in the last item above have little to do with the field we call CSE, even though they might be researchers or practitioners in computational physics or chemistry, or even numerical analysis. This is because CSE, in its most useful definition, is more about the design and implementation of computational tools, and their effective integration into a targeted area of science or engineering, and less about their everyday use. Furthermore, computational systems have reached such a level of complexity that it is becoming impractical for most users to undertake these tasks.

What’s in a name? Intersections and pyramids As is expected with any new field, the identity, philosophy, and program of CSE are subject to debate. Definitions range from the precise (“CSE is ...”) to the vague (“I don’t know what CSE is but I can detect it when I see it.”) To point out the difficulties, we remind the reader of the often-stated description, “CSE consists of those activities in science and engineering which exploit computing as their main tool,” and observe that this definition is all-inclusive and therefore essentially useless. In another attempt to describe CSE, a recent article9 makes the point that “CSE is a multifaceted field; it is not just the study of computational aspects of science and engineering disciplines, but also the ‘science’ of scientific computing ... Thus this slight ambiguity in the name is actually useful. In essence it is that interdisciplinary field that represents the intersection of three domains: applied mathematics, computer science, and science and engineering disciplines.” This intersectional view is interesting, as it highlights the area’s position relative to traditional, better-defined disciplines. Another useful view of CSE is in terms of a pyramid, with the driving science and engineer-

IEEE COMPUTATIONAL SCIENCE & ENGINEERING

ing applications at the apex and the vertices of the base corresponding to the enabling technologies of geometric, symbolic, and numerical algorithms; system software; computer architecture; and performance evaluation and analysis.

The concentric layers in CSE Figure 1 encapsulates the processes and information flow in science and engineering research and development activities. Instead of the intersectional and pyramidal views of CSE, we propose to describe computational science and engineering in the context of the Figure 1. CSE as concentric layers. concentric layers of this figure. The real world that we can observe, or otherwise apprehend, is situated ex- representation via the selected medium. Answers terior to the layers. So are agents—usually humust be presented to the requester transparently man, though they could theoretically be maand in an easily understood form; for example, chines—such as observers or interrogators. The in the person’s discipline-specific vocabulary. At outermost layer contains the physical models the center of the diagram, an answer is a series (constructed to explain the observations) while of bits. As it is moved outward through the laythe next inner layer contains the mathematical ers, it is postprocessed and encoded: from bits, models that represent the physical models in to numbers, to images, text, sound, and so forth. terms of rules and symbols. The solutions to While subject-specific vocabularies diverge at most questions we want answered cannot be obthe outer layers, there is convergence of lanserved directly or deduced from real-world obguage at the computational layers, merging to servables, nor can they be realized directly from the ones and zeroes that describe the programs the physical or the mathematical models (for inand data at the center. This is highlighted in the stance, via analytical solutions). diagram by the deliberate choice of progresThrough approximating transformations, sively finer granularity of the pattern fill from such as simplification of the mathematical model the outer to the inner layers. Computing is oband discretization, the mathematical model is viously the general, central theme of the process brought into a form that can be explored, per- described by the layered diagram. Furthermore, haps by simulation, prediction, or control, us- specific computer-based activities are needed at ing the computer. These approximations might every level, something that leads to the “ambialso be performed using computer tools such as guity” in the definition of CSE contained in the symbolic and algebraic computing systems. article mentioned earlier. To carry out these explorations one needs As data and information move across the laycomputational processes (algorithms), encoded ers of Figure 1, we ask the following questions: in programs that run on particular computer systems, that retrieve implicit information not im♦ Concept: How many of these steps can be mediately observable or directly derivable from automated? Is this automation practical? the physical or mathematical models. This in♦ Design: What is the system that will make formation constitutes an answer, which might re- this possible? quire further analysis and transformation in or♦ Implementation: What are the enabling techder to be brought into a form that is suitable for nologies? How can the system be implemented?

APRIL–JUNE 1997

41

♦ Progress: How does the system adapt to evolving requirements? How is it evaluated? We claim that CSE consists of the research and development activities that deal with these questions. High-performance computer projects have played a pioneering role in such activities: Starting from the mid-1940s and positioning our examples at 20-year intervals, we note the Electronic Computer Project at the Institute for Advanced Study in Princeton, which consisted of collaborating groups (for engineering, logical design and programming, mathematics, and meteorology),10 and the Illiac IV and Cedar projects at the University of Illinois, which were also organized around collaboration between hardware, software, algorithms, and applications groups. Furthermore, as the recent surge of interest in the computational and software aspects of finance has shown, it would be wrong to restrict CSE to the physical sciences.

The product of CSE To paraphrase Neil Postman,11 “If there is no end to CSE that will be the end of CSE.” In other words, any field of endeavor needs an end—a clear goal or purpose—to be vital and healthy. In light of the concentric layers of CSE discussed above, the concept of a problem-solving environment, or PSE, is highly relevant: “A PSE is a computer system that provides all the computational facilities necessary to solve a target class of problems… PSEs use the language of the target class of problems, so users can run them without specialized knowledge of the underlying computer hardware or software… Overall, they create a framework that is all things to all people….”12 We place PSEs at the focus of CSE and summarize as follows: Research and development in CSE consists of the conception, design, and implementation of problem-solving environments for science and engineering. This is the product of CSE.

Therefore, in our view, the engineering of problem-solving environments is the core of CSE. As examples of such activities, we cite the design and development of systems such as parallel Ellpack,12 Adifor (featured in the Fall 1996 issue of this magazine), Falcon,13 and commercial products such as Matlab, Maple, and Mathematica.14 We note that a recent book by David Kuck takes a view close to ours, in particular that

42

PSEs are central to CSE.15 While our stated approach may appear to assume a mathematical model that describes a physical process, CSE need not be construed so narrowly. PSEs for application areas that do not involve physical processes, for example finance and cryptography, are still appropriate, and would be of great help to researchers and practitioners in these domains. Building such environments will require research in various aspects of CSE.

T

he field of computational science and engineering, defined, as we suggest, in the context of problem-solving environments as its end product, has a bright future. The US federal government has been active in motivating CSE-type cross-disciplinary research efforts, first through the HPCC Grand Challenges, as well as in response to the recommendations of a workshop on problem-solving environments,12 and most recently in the context of ASCI, the Accelerated Strategic Computing Initiative. These are examples of “strategic” research and, as argued by John Rice,16 they represent a real shift in the funding climate. Such changes coincide with the significant “peace dividend” that was brought about with the end of the Cold War, namely the rechanneling of the considerable computational skill and talent found in US national laboratories toward visible (publishable and marketable) accomplishments. For CSE to develop successfully, its future practitioners must be educated appropriately. It is essential to design a core curriculum that covers CSE’s basic components with courses that bring the cross-disciplinary components to the forefront. As one of us warned in a recent IEEE CS&E editorial, however, “so-called ‘CSE programs’ that merely collect a number of previously existing courses from different departments will not be effective, and need not exist. Genuine CSE programs, even those with dedicated faculty members, will have a difficult time maturing in an academic environment without an equally committed and enlightened higher administration.”17 We close by observing that computing systems were certainly past their first generation by the time the first computer science departments were founded, and far preceded the establishment of computer science as a mature discipline. Given the state of development of PSEs, it should not be surprising that we are still waiting to see mature CSE programs. ♦

IEEE COMPUTATIONAL SCIENCE & ENGINEERING

Acknowledgments We thank Kyle Gallivan for many useful discussions on the topic of CSE and Harry Wijshoff for suggesting the pattern fill idea for Figure 1.

References 1. S.M. Stigler, “Competition and the Research Universities,” in J.R. Cole, E.G. Barber, and S.R. Graubard, eds., The Research University in a Time of Discontent, Johns Hopkins Univ. Press, Baltimore, Md., 1994. 2. C. Truesdell, “The Computer: Ruin of Science and Threat to Mankind,” in An Idiot’s Fugitive Essays on Science: Methods, Criticism, Training, Circumstances, Springer-Verlag, New York, 1984, pp. 594–631. 3. K.G. Wilson, “Science, Industry and the New Japanese Challenge,” Proc. IEEE, Vol. 72, No. 1, Jan. 1984, pp. 6–18. 4. J.R. Rice, “Academic Programs in Computational Science and Engineering,” IEEE Computational Science & Engineering, Vol. 1, No. 1, Spring 1994, pp. 13–21. 5. I.E. Block, “Penn Consortium Lays the Foundation for Interdisciplinary Undergraduate Curriculum,” SIAM News, Vol. 29, No. 10, Dec. 1996, pp. 1–3. 6. Committee on Science, Engineering, and Public Policy, Reshaping the Graduate Education of Scientists and Engineers, National Academy Press, Washington, D.C., 1995. 7. J. Hartmanis and H. Lin, eds., Computing the Future: A Broader Agenda for Computer Science and Engineering, National Academy Press, Washington, D.C., 1992. 8. E.A. Jackson, A First Look at the Second Metamorphosis of Science, Working Paper 95-01-001, Santa Fe Institute, Santa Fe, N.M., 1995. 9. G. Cybenko et al., “Computational Science and Engineering: An Interdisciplinary Field,” to be published in ACM Computing Reviews. 10. H.H. Goldstine, The Computer from Pascal to von Neumann, 5th ed., Princeton Univ. Press, Princeton, N.J., 1993. 11. N. Postman, The End of Education: Redefining the Value of School, Knopf, New York, 1995. 12. E. Gallopoulos, E.N. Houstis, and J.R. Rice, “Computer as Thinker/Doer: Problem-Solving Environments for Computational Science,” IEEE Computational Science & Engineering, Vol. 1, No. 2, Summer 1994, pp. 11–23. 13. L. DeRose et al., “FALCON: A MATLAB Interactive Restructuring Compiler,” in C.-H. Huang et al., ed., Languages and Compilers for Parallel Computing [Proc. 8th Int’l Workshop, LCPC ’95], Lecture Notes in Computer Science Vol. 1033, SpringerVerlag, New York, 1996, pp. 269–288.

APRIL–JUNE 1997

14. R. Braham, “Technology 1995: Application Software,” IEEE Spectrum, Vol. 32, No. 1, Jan. 1995, pp. 66–70. 15. D.J. Kuck, High Performance Computing: Challenges for Future Systems, Oxford Univ. Press, New York, 1996. 16. J.R. Rice, “Computational Science and the Future of Computing Research,” IEEE Computational Science & Engineering, Vol. 2, No. 4, Winter 1995, pp. 35–41. 17. A. Sameh, “Farewell, CS&E; Fare Well, CSE,” IEEE Computational Science & Engineering, Vol. 2, No. 4, Winter 1995, p. 1.

Efstratios Gallopoulos is professor of computer engineering and informatics at the University of Patras, Greece. He received a PhD in computer science from the University of Illinois at Urbana-Champaign and a BSc (first class honors) from Imperial College, London, and has previously held positions at the University of Illinois and the University of California. Gallopoulos participated in the development and practical application of the Cedar multiprocessor at the Center for Supercomputing Research and Development, and the Goodyear MPP at NASA Goddard Space Flight Center and Illinois. His research interests include algorithms and environments for large-scale scientific computation, and CSE education. He is on the editorial board of IEEE CS&E and is a member of the IEEE and SIAM. E-mail, [email protected].

Ahmed Sameh is a professor and head of the Department of Computer Sciences at Purdue University, West Lafayette, Indiana. He joined Purdue in January 1997 after four and half years as the head of computer science and holder of the William Norris Chair in LargeScale Computing at the University of Minnesota, Minneapolis. He was the first editor-in-chief of IEEE CS&E. Sameh’s current research interests include numerical linear algebra, the design and performance analysis of parallel numerical algorithms, and the design of application-specific problem-solving environments. He received a BSc from the University of Alexandria, Egypt, an MS from the Georgia Institute of Technology, and a PhD from the University of Illinois at Urbana-Champaign, all in civil engineering (structural mechanics). He was a faculty member of the Department of Computer Science at the University of Illinois, Urbana-Champaign, from 1968 to 1991. Sameh is a member of ACM and SIAM, a senior member of IEEE, and a fellow of the AAAS. E-mail, sameh@cs. purdue.edu.

43

Suggest Documents