University of Oxford Parallel Applications Centre

The Oxford BSP Toolset and Profiling system (v 1.3)

We are pleased to announce the second official release of the Oxford BSP Toolset which conforms to the BSPlib programming library definition. BSPlib is an SPMD communications library, and is based on the Bulk Synchronous Parallel (BSP) model of parallel computation. The main feature of BSPlib is two modes of communication, one capturing a BSP oriented message passing approach, and the other reflecting a (one-sided) direct remote memory access paradigm. The core BSP library consists of just 20 primitives. All the sources of the library, and accompanying profiling tools are freely available by anonymous FTP; details below.

To subscribe to a mailing list for toolset users, mail bsplib-users-request@comlab.ox.ac.uk. Any bug reports should be sent to bsplib-bugs@comlab.ox.ac.uk, in a style similar to the active bug report list which is kept here.

Updated 27th November 1997

Table of contents

  1. How to get the toolset
  2. Available platforms
  3. Literate source
  4. What's new in this release
  5. Coming soon
  6. Previous distributions

How to get the toolset

The source distribution of the library and profiling tools are available as a gzipped tar archive from here. Previous releases are available by anonymous FTP in the following directory. Separate binary releases of the software for different platforms may appear at a later date/release. A copy of the installation guide, which comes bundled with the distribution, can also be downloaded from here.


Available platforms

Two factors guide the installation of the toolset: (1) the machine architecture and operating system release; and (2) the type of device used as the communication medium. To date, the tested architectures are:

MACHINEbsparch tag
Silicon Graphics Power Challenge (Irix 6.x) SGICHALL64
Silicon Graphics Origin 2000 (Irix 6.x) SGIORIGIN
Silicon Graphics workstation (Irix 5.x, 6.x) SGI
IBM SP2 running AIX SP2
Cray T3E CRAYT3E
Cray T3D CRAYT3D
Parsytec Explorer PARSYTEC
Transtech Paramid PARAMID
Convex SPP CONVEXSPP
SunOS 4.1.x SunOS
SunOS 5.x Solaris
PC based Unix LINUX
Digital's alpha boxes OSF1
Hitachi SR2001 HITACHIMPP

The tested communication devices are shown below. It should be noted, that only a small subset of the cross-product of architectures and devices are valid builds of the toolset.

COMMUNICATIONS MEDIUM bsparch -device tag
System V shared memory SHMEM_SYSV
TCP/IP MPASS_TCPIP
SGI specific shared memory operations SHMEM_SGI
Message Passing Interface MPASS_MPI
IBM's message passing system MPASS_MPL
PARMACS message passing library MPASS_PARMACS
Message passing on the Parsytec GC MPASS_PARIX
Express (Parasoft Ltd) message passing MPASS_EXPRESS
Cray Shmem one-sided communications DRMA_SHMEM


Literate source

The Oxford BSP toolset was written using a home grown literate programming system (see litToTex and litToPgm). The code is written using LaTeX, with program text placed between the \begin{code} and \end{code} delimeters.

A Postscript file of the source (with LaTeX comments) of the core library can be found here; the source of the level-1 library that contains the collective communications can be found here; and the source code for the TCP/IP communications sub-system can be found here.


What's new in this release (v1.3)

  1. A TCP/IP implementation of BSPlib that enables a homogeneous cluster of workstations to be used as a parallel machine. The distribution includes a load manager that ensures processes are started on the least loaded processors in a cluster of workstations. In the next release of the library, a general purpose process migration and checkpointing facility will be provided that enables run-time load balancing and fault tolerance of BSPlib jobs.
  2. An implementation of the library for the Transtech Paramid.
  3. The library partially conforms to the BSPlib standard. The only differences are that registration and setting of tag sizes takes effect at the point of invocation, and not at the end of the superstep. This will be remidied in a future release.
  4. Various bug fixes and speed improvements (see the bug report list).

Coming soon

  1. Checkpointing, process migration and fault tolerance in the TCP/IP implementation.
  2. A UDP/IP implementation.
  3. New platforms: Windows NT (currently being tested), Fujitsu AP1000 and AP3000
  4. Shrinking of the profiling data output

Previous distributions

  1. Version 1.1.2, August 1997, (announce, tar file)
  2. Version 1.1, June 1997, (announce,tar file)
  3. Version 0.9a, May 1997, (announce, tar file)
  4. Version 0.81a, Mar 1997 (announce, tar file)
  5. Version 0.72a, Nov 1996, (announce, tar file)
  6. Version 0.6b, Oct 1996, (announce, tar file)

The Oxford BSP Toolset is a product of the BSP Programming Environment, a UK Engineering Physical Sciences Research Council project in the Portable Software Tools for Parallel Architectures Programme. Our partners in this enterprise are British Aerospace Sowerby Research Centre and NAG Ltd.


© Oxford Parallel 1995, 1996, 1997
Please send comments to Jon Hill Need more information? See: What's New in BSP Worldwide