Limitations of current software technology



next up previous contents
Next: Goals of the Up: Goals Previous: Goals

Limitations of current software technology

Major difficulties in using currently available High Performance Computer Systems, (HPCS), result from the two equally challenging limitations of the current technology: lacking the mathematical models and solution algorithms to solve grand challenge problems and (when these models and algorithms are available) lacking the software that would allow computer users to control the computation power provided by the HPCS according to their own computation needs. To understand this situation we have to look at the historical development of the current paradigms for using computers to solve problems.

These paradigms are based on a concept of control flow, which is an abstraction of the instruction cycle of the sequential machines. The computation models used as foundations for problem solving with a computer require the encoding of the solution algorithms as stored programs and control tools for starting, controlling, and terminating program execution. That is, the major software tools supporting problem solving with a sequential machine are the compiler and the operating system. The compiler allows the programmers to develop their programs using high-level language notations called programming languages rather than the binary notation used by the computer to express and execute the stored programs. The operating system controls the process of program execution allowing efficient use of the computer resources, memory and input-output devices.

Both the compiler and the operating system design and implementation allowing convenient and efficient use of the computer are still the major tools of the current system software technology. However, neither the compiler nor the operating system design and implementation have matured into a mathematical methodology. Hence, they are difficult to adapt to the new problem domains they control and service. In addition, both the compiler and the operating system still provide a frozen computing environment while the application software they serve is dynamic and evolves with the problem domain. Hence, the control-flow is probably the single most important concept of the current software technology because it is the basis of the current software tools for problem solving with sequential machines. But this is not a unifying concept for sequential and parallel computing [10] and therefore it is probably also the most important impediment in the development of a new software technology suitable for problem solving with HPCS.



next up previous contents
Next: Goals of the Up: Goals Previous: Goals