Petascale computing is now a realizable goal that will impact all of science and engineering, not just those applications requiring the highest capability. But the optimum pathway to petascale science and engineering—the pathway that will realize the full potential of petascale computers to drive science and engineering—is unclear. Future computers cannot rely on continuing increases in clock speed to drive performance increases—heat dissipation problems will limit these increases. Instead, tomorrow’s computing systems will include processors with multiple “processor cores” on each chip, special application accelerators, and reprogrammable logic devices (FPGAs). In addition, all of these types of processors may be included in a single system, interconnected by a high-performance communications fabric. Individual processors may even have heterogeneous “processor cores” in the fashion of the new Cell processor from IBM, Sony and Toshiba.14 These technologies have the potential to dramatically increase the fidelity and range of computational simulations as well as the scope and responsiveness of data mining, analysis, and visualization applications. However, they also pose significant technical problems that must be addressed before their full potential can be realized.
So, the advances promised by petascale computers will not come gratis. The problems encountered in developing scientific codes for supercomputers with a performance exceeding 100-teraflops are technically complex, and their resolution will (once again) require an in-depth understanding of both the scientific algorithms and the computer hardware and systems software. Hardware problems to be overcome range from the memory bandwidth limitations of multicore microprocessor-based compute nodes to the utilization of “exotic” computing technologies (e.g., FPGAs) to the bandwidth and latency limitations of the interprocessor communications fabric. Software problems to be overcome range from the choice of programming model to the development of numerical algorithms that scale t (at least!) tens of thousands of processors. And, in the end, we want a code that is extensible, portable, and maintainable. As the NWChem project illustrated, scientific codes that achieve these goals can be met by teams that include all of the needed expertise and that draw on talent both near and far. The pacing item for petascale science and engineering, as opposed to petascale computing, will be the state of the art in scientific applications.
As daunting as the above problems seem, it will be worth it! Combining the computing advances described above with advances in mathematical models and computational algorithms will lead to revolutionary new modeling and simulation capabilities. Problems that currently seem intractable will not only become doable, they will become routine. In chemistry, computational studies will become an integral and irreplaceable part of studies aimed at understanding the chemical processes involved in the environment, the burning of hydrocarbon fuels, and the industrial production of chemicals. The fidelity of modeling complex biomolecules will also take a major step forward, greatly increasing the contributions of computational chemistry to the life sciences. To realize these opportunities, however, the federal agencies must make investments in scientific simulation software, computing system software, and mathematical libraries necessary to capitalize on the potential of petascale computing.
2 Kendall, R.A., Apra, E., Bernholdt, D.E., Bylaska, E.J., Dupuis, M., Fann, G.I., Harrison, .J., Ju, J., Nichols, J.A., Nieplocha, J., Straatsma, T.P., Windus, T.L., Wong, A.T. “High performance computational chemistry: An overview of NWChem a distributed parallel application,” Comput. Phys. Commun. 128 (2000): pp. 260.
3 For a brief period very early in the project the name BATMOL (due to J. Anchell) was used. Species of northwest salmon (chinook, king, coho, etc.) were also considered as names for the code. NWChem was adopted as the name to advertise its institutional origin and science goals. Finally, NWChem is pronounced “N-W-Chem” – the forms “new-chem” and “nuke-em” are incorrect.
4 www.emsl.pnl.gov/docs/nwchem/nwchem.html
5 Dongarra, J., et al. “Special issue – MPI – a message-passing interface standard,” Int. J. Supercomputer Appl. and High Perf. Comp. 8 (1994) : pp. 165.
6 www-unix.mcs.anl.gov/petsc/petsc-as/
7 Hoare, C.A.R “Communicating sequential processes,” Communications of the ACM. 21 (8) 1978: pp. 666-677.
8 www.emsl.pnl.gov/docs/global/
9 Nieplocha, J., Harrison, R.J., Littlefield, R.J. “Global Arrays: A nonuniform memory access programming model for high-performance computers,” The Journal of Supercomputing, 10 (1996): pp. 197-220.
10 Nieplocha, J., Harrison, R.J., Krishnan, M., Palmer, B., Tipparaju, V. “Combining shared and distributed memory models: Evolution and recent advancements of the Global Array Toolkit,” Proceedings of. POOHL’2002 workshop of ICS-2002, NYC, 2002.
11 Harrison, R.J., Guest, M.F., Kendall, R.A., Bernholdt, D.E., Wong, A.T., Stave, M., Anchell, J.L., Hess, A.C., Littlefield, R.J., Fann, G.I., Nieplocha, J., Thomas, G.S., Elwood, D., Tilson, J.L., Shepard, R.L., Wagner, A.F., Foster, I.T., Lusk E, Stevens, R. “Toward high-performance computational chemistry: II. A scalable self-consistent field program,” J. Comput. Chem. 17 (1996): pp. 124.
12 Wong, A.T., Harrison, R.J., Rendell, A.P. “Parallel direct four-index transformations,” Theor. Chim. Acta 93 (1996): pp. 317.
13 Dachsel, H., Nieplocha, J., Harrison, R.J. “An out-of-core implementation of the COLUMBUS massively-parallel multireference configuration interaction program,” Proceedings of Supercomputing’98. 1998: pp. 41.
14 www-03.ibm.com/chips/power/splash/cell/