Accession Number : ADA189569

Title :   Why We Can't Program Multiprocessors the Way We're Trying to Do It Now.

Descriptive Note : Technical rept.,

Corporate Author : ROCHESTER UNIV NY DEPT OF COMPUTER SCIENCE

Personal Author(s) : Baldwin, Doug

PDF Url : ADA189569

Report Date : Aug 1987

Pagination or Media Count : 36

Abstract : Parallel computation is an area in which software technology lags considerably behind hardware technology. The need for parallel computing in a number of applications (e.g., scientific computing, machine vision, artificial intelligence) is unquestioned, and computers with hundreds of processors are now readily available (for instance, the Butterfly or the many derivatives of the Cosmic Cube). However, these machines are programmed in essentially the same way as existing sequential machines. The best available parallel programming languages are variants of standard sequential languages, with extensions to let the programmer explicitly divide a program into tasks and pass information between those tasks. Although designers of these languages claim that they are no harder to use than conventional sequential ones, programmers still face the problem of figuring out how to partition their application into tasks in addition to the usual problem of translating it into a program. An appealing alternative is to leave partitioning of programs to compilers. By hiding partitioning problems from programmers, this approach should make multi-processor computers easier to program than they are now. Unfortunately efforts to develop parallelizing compilers have so far been rather unsuccessful.

Descriptors :   *COMPILERS, *COMPUTER PROGRAMMING, *COMPUTER PROGRAMS, *MULTIPROCESSORS, *PARALLEL PROCESSING, *PROGRAMMING LANGUAGES, ARTIFICIAL INTELLIGENCE, COMPUTATIONS, COMPUTERS, MACHINES, PARALLEL ORIENTATION, PROGRAMMERS, SEQUENCES, VARIATIONS

Subject Categories : Computer Programming and Software
      Computer Hardware

Distribution Statement : APPROVED FOR PUBLIC RELEASE