next up previous contents
Next: Computer Terminology Up: Introduction Previous: Background and Objectives

Programming Models

Computer benchmarks are computer programs that form standard tests of the performance of a computer and the software through which it is used. They are written to a particular programming model and implemented by specific software, which is the final arbiter as to what the programming model is. PARKBENCH has initially adopted two such models:

  1. Fortran77 + PVM: This is the classical distributed-memory MIMD model in which a number of separate logical processors execute asynchronously independent Fortran77 programs in their individual and separate memory space. The only communication and synchronisation between these programs is by sending messages containing data using the PVM (Parallel Virtual Machine [2]) library of Fortran communication subroutines.
  2. High Performance Fortran (HPF): This is an extension of the classical SIMD model in which a single instruction stream in the Fortran90 language [4] specifies operations that apply, notionally simultaneously, to vectors and higher-order arrays of data. In HPF [5] data distribution statements are added by the programmer as comments to the Fortran90 program to help the compiler generate efficient code on a distributed-memory computer system.
A benchmark is therefore testing a software interface to a computer, and not a particular type of computer architecture. For example, benchmarks using the "F77+PVM" programming model can be run on any computer providing this interface, both distributed-memory message-passing computers which have message-passing hardware, and shared-memory computers which lack the hardware but can simulate message-passing in software.
Tue Nov 14 15:43:14 PST 1995