Goals



next up previous contents
Next: Limitations of current Up: Software Development for High Previous: Contents

Goals

Gigabytes and teraflops are necessary but not sufficient to achieve the goals established by the Strategic Implementation Plan: America in the Age of Information issued by the Committee on Information and Communications R&. Software provides the vital bridge between computing hardware and the needs of any particular application. A primary goal of software support must be to provide end users with flexible, adaptable tools that are well suited to their needs. With the growing diversity and complexity of applications, this implies that an abundance of software tools will be required. To maximize productivity, it is important that the tools be formulated in such a way that the end users can easily tailor the function to aspects peculiar to their application area. This primary goal can be achieved only if the developers who produce the software tools for end users themselves have powerful general systems tools to support their work. It is essential to recognize that the complex software required in the future can only be achieved by developing first a suitable modeling of the problem solving with the computer and by a mathematical methodology for software development. In addition, the usage of this software requires us to create the culture of parallel computing. For that we need a critical mass of programmers capable of effectively using the existing parallel machines. This necessitates appropriate education in parallel computing at both the graduate and undergraduate levels.