To: fpst@hubcap.clemson.edu
Cc: levine@mcs.anl.gov
Subject: FAQ on p4
Date: Fri, 26 Mar 1993 10:26:49 -0600
From: Rusty Lusk <lusk@mcs.anl.gov>

| ********************Frequently Asked Questions ******************************
| * We don't have many FAQ's. If you have ones that you want to share, please
| * send to fpst@hubcap.clemson.edu
| *****************************************************************************

Here is a standard "FAQ answer"  on what p4 is and how to to get it.


				      p4


p4 is a library of macros and subroutines developed at Argonne National
Laboratory for programming a variety of parallel machines in C and Fortran.
Its predecessor was the m4-based "Argonne macros" system described in the
Holt, Rinehart, and Winston book "Portable Programs for Parallel Processors,
by Lusk, Overbeek, et al., from which p4 takes its name.  The current p4
system maintains the same basic computational models described there (monitors
for the shared-memory model, message-passing for the distributed-memory model,
and support for combining the two models) while significantly increasing ease
and flexibility of use.

The current release is version 1.2.  Features include: 

  + library of useful monitors for shared-memory programming
  + portable monitor-building primitives
  + send/receive for shared-memory, distributed memory, and clusters
  + support for heterogeneous computing
  + Emacs info version of the manual for on-line help
  + Shared-memory programming even on uniprocessor workstations
  + instrumentation for automatic logging/tracing
  + Either automatic or user-controlled buffer-pool management
  + Remote startup; no daemons necessary
  + optional secure server for faster startup on networks
  + optional automatic logging of events for upshot tracing
  + asynchronous communication of large messages
  + global operations (broadcast, global sum, max, etc.)
  + both master-slave and SPMD models for message-passing programs

p4 is intended to be portable, simple to install and use, and efficient.  It
can be used to program networks of workstations, advanced parallel
supercomputers like the Intel Touchstone Delta, and the thinking Machines
CM-5, and single shared-memory multiprocessors like the Kendall Square.  It
has currently been installed on the following list of machines: Sequent
Symmetry, Encore Multimax, Alliant FX/8, FX/800, and FX/2800, Cray X/MP, Sun,
NeXT, DEC, Silicon Graphics, and IBM RS6000 workstations, Stardent Titan, BBN
GP-1000 and TC-2000, Intel IPSC/860, Intel Touchstone Delta, CM-5, KSR, and
Alliant Campus.  It will soon be ported to the Intel Paragon and a number of
new parallel machines under development.  It is not difficult to port to new
systems.

A useful companion system is the upshot logging and X-based trace examination
facility.  The macros to create logs are included in p4.  Upshot (an X program
for graphically displaying the logs) is available separately.

You can obtain the complete distribution of p4 by anonymous ftp from
info.mcs.anl.gov.  Take the file p4-1.2.tar.Z from the directory pub/p4.  The
distribution contains all source code, installation instructions, a User's
Guide in both ascii text and latexinfo format, and a collection of examples in
both C and Fortran.  A copy of the postscript for the manual is available
separately as p4.manual.ps.Z.  There are a few features that are not
implemented on certain machines.  See the machine-specific section of the
manual for details.

To ask questions about p4, report bugs, contribute examples, etc., send mail
to p4@mcs.anl.gov.

                                                   Rusty Lusk
                                                   lusk@mcs.anl.gov

