next up previous contents
Next: 3. Parallelism in algorithms Up: 2. Parallel and vector Previous: 2.2.8 Free topology   Contents


2.3 Parallel extensions of operating systems and programming languages

In the early years of parallel programming, mostly in research, only a few hardware dependent calls have been available. Programming was only possible if one used $ \Longrightarrow$ Source code not portable.
$ \Longrightarrow$
Creation of a hardware independent interface of our own
(library libCubecom.a).

Nowadays, all vendors of parallel computers offer standard parallel libraries and/or similar extensions of the operating system which include all necessary compilers, libraries and so on.

Some parallel versions of high level programming languages are available, e.g., High Performance Fortran (HPF), Vienna Fortran. They include language extensions supporting parallelism on regular data structures and the compilers try an automatic parallelization.

Another, and more promising, approach consists in the development of general and portable interfaces for MIMD computers. The most common library in this field is the Message Passing Interface (MPI) which is based on earlier non-commercial and commercial interfaces like PVM, Express, etc.. The MPI consortium is supported by all big manufacturers of parallel machines (they work actively in that committee) and the library is available on all hardware platforms (LINUX !), even on WindowsXX. Therefore, we will write in the course parallel programs using MPI.
For a real understanding of the calls in MPI the Sec. 3.3 is strongly recommended, see also [Fos94,GLS94,Pac97].


next up previous contents
Next: 3. Parallelism in algorithms Up: 2. Parallel and vector Previous: 2.2.8 Free topology   Contents
Gundolf Haase 2000-03-20