QUICK DOCUMENTATION FOR F-PRAM PACKAGE ====================================== Simo Juvaste juvaste@cs.joensuu.fi 1. What is this "F-PRAM" & this package --------------------------------------- F-PRAM is a parametrized model of parallel computation. Similar models include BSP and LogP. F-PRAM is exploits more asynchronous shared memory access than most other models. For analysation purposes, F-PRAM includes a fairly large set of parameters. For shared memory access, the model has a new primitive, the future (of Multilisp). See below for references to more information on the model. F-PRAM emulator system is a package to study the F-PRAM model, parallel algorithms, and especially the impact of parallel machine properties on the parallel algorithms. For example, we can study the impact of shared memory latency on a given algorithm. We can run the same algorithm with latencies varying from 1 to 1,000,000 clock cycles. Moreover, we can compare the impacts of, e.g., latency and overhead. This flexible measurements would be impossible using real parallel computers. Emulator system consists of a parametrizable F-PRAM machine emulator. To use the emulator, the system also includes a high-level language compiler and an assembler. To perform large sets of measurements easily, we also have a semiautomatic measurement system that generates test sets and inputs, performs the emulations, and postprocesses the results into plottable form. Authors: PRAM emulator by Pasi Hämäläinen (1992) Most of the F-PRAM emulator by Jukka Veräjäntausta (1997) fpm compiler, measurement system, updates of the emulator, coordination by Simo Juvaste (1991-1999) 2. Installation --------------- What you need: To compile the package - ANSI C compiler (e.g., gcc) - make - cat To use the main programs - cpp To use the (semi)automated measurement system - awk (in some scripts gawk, or some other awk with 2D arrays) - csh or compatible - sort To plot results - gnuplot (or some other chart tool or spreadsheet) 0) unpack the tar.gz file, cd to F-PRAM-1.1 gunzip -c F-PRAM-1.1.tar.gz | tar -xvf - cd F-PRAM-1.1 1) setenv FPRAMDIR `pwd` - this environment variable is used in most scripts and in the Makefile to locate e.g. awk programs 2) edit Makefile.config - change CC & FLAGS if needed - you want to use the most optimal compiler and compiler options - set correct path for csh 3) make 4) add $FPRAMDIR/bin to your executable search path csh (& compatible) users: set path = ( $path $FPRAMDIR/bin ) 3. Further information ---------------------- Testing the package: see INSTALL.txt To keep the package compact, it contains only a little documentation, see README.txt for references to more extensive documents.