
University of Oxford Parallel Applications Centre
The Oxford BSP Toolset and Profiling system (version 0.6beta)
16th June 1997: The first official release
of the library is available. See the web page here.
We are pleased to announce a new release of the Oxford BSP Toolset
which conforms to the BSPWW BSPlib proposal (programs written for the
Oxford BSP library version 1.2 will also work with the
toolset). Sources and binaries are freely available by anonymous FTP;
details below.
We run mailing lists for toolset users; to subscribe, send mail to
bsplib-users-request@comlab.ox.ac.uk.
Bug reports should be sent to bsplib-bugs@comlab.ox.ac.uk.
Jonathan
Hill 20th August 1996
Table of contents
- How to get the toolset
- Available platforms
- What's new in this release
- Coming soon
- Schedule for next release
This release is available by anonymous FTP in the directory ftp://ftp.comlab.ox.ac.uk/pub/Packages/BSP/:
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:
- Silicon Graphics Power Challenge (Irix 6.x) [SGICHALL64]
- Silicon Graphics workstation (Irix 5.x) [SGI]
- IBM SP2 running AIX [SP2]
- Cray T3D [CRAYT3D]
- Parsytec Explorer [PARSYTEC]
- 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.
- System V shared memory [SHMEM_SYSV]
- SGI specific shared memory operations [SHMEM_SGI]
- Message Passing Interface [MPASS_MPI]
- IBM's message passing system [MPASS_MPL]
- Message passing on the Parsytec GC [MPASS_PARIX]
- Express (Parasoft Ltd) message passing [MPASS_EXPRESS]
- Cray Shmem one-sided communications [DRMA_SHMEM]
- Inquiry functions for s,l,g, and nhalf. Remember to #include "bsp_level1".
- New collective communications (bsp_bcast, bsp_fold,
bsp_scan) that adapt depending upon the value of a
machines l and g. The prototypes are:
- void bsp_bcast(int frompid,void *src, void *dst, int nbytes);
where
- src is the data to be broadcast on frompid
- dst is the destination of the broadcast
data on all processors. dst has to be
registered
- nbytes is the size of the broadcast data
- void bsp_fold(void (*op)(void*,void*,void*,int*),void *src, void *dst, int nbytes);
where
- bsp_fold((+),&x,&y,sizeof(int)) produces
y_i = x_0 + ... + x_{p-1} on process i (where 0op is an associative operator with prototype:
op(void *res, void *left, void* right, int *size);
that takes two values left and right of size, and produces a
result in the data-structure res. When designing op, there is
no need to consider the situation where res, left, or right
are aliased.
- src is the data-structure local to each process
to be folded.
- dst is the destination of the fold on all processors.
dst has to be registered.
- nbytes is the size of src. It has to be
the same on all processors.
- void bsp_scan(void (*op)(void*,void*,void*,int*),
void *src, void *dst, int nbytes);
where bsp_scan((+),&x,&y,sizeof(int)) produces
y_i = x_0 + ... + x_i on process i (where 0<i< p)
bsp_scan is therefore similar to fold, except a parallel
prefix is performed in preference to reduce.
- An implementation for the T3D. It hasn't been fully tested yet, so it
probably contains a few bugs :-(
- Extra command line arguments to bspfront/bspcc/bspf77/bspc++. In
particular, the toggles for sanity checking and resource
friendly barriers have been separated from the -O{1,2,3}
optimisations:
-flibrary-level <integer>
There are three different levels of library available:
- 0 Sanity checking version of the library that performs checks on
registration, out of bound DRMA, and consistent arguments to
collective communications. The communication primitives
at this level of optimisation may not be optimal, but
are guaranteed to be resource friendly
(see -flibrary-level 1 below).
- 1 Resource friendly version of the library. This means
that if more processes (including other users processes)
are running on the machine than processors, then the
performance of the library doesn't deteriorate.
- 2 At this optimisation level the library has been tuned in
such a way that it assumes no other major processes are
running on the parallel machine. When benchmarking, or
collecting results, use this optimisation level.
- Fixed some bugs. In particular:
- Mark Goudreau's bug on sending a BSMP message to yourself.
- Tim Lanfear's registration bug
- Bruce Stephens problem when p=1 on the Cray T3D
- Dominic Da Silva installation problem for Linux
- SysV semaphores now work when a debugger attaches to a process.
- Shared memory segment and semaphores are properly cleaned up in the SysV release of the library---no need for ipcrm!
- The only known bugs at the moment are (these will be changed by next
release):
- CRAY: Communication on the Cray has to be in word sized
chunks. This will be changed into byte chunks as in the proposal.
- CRAY: bsp_put and bsp_get's interfere with each other, as
opposed to all the gets occurring before the puts as in the proposal.
- GENERAL: bsp_put and bsp_get from and into the same process
take effect immediately and not at the end of the superstep.
- Manual pages
- New platforms: Windows NT, Fujitsu AP1000
- Shrinking of the profiling data output
- Threads implementation that allows real DRMA between processes
(i.e., start p threads, which will all share the same address
space. Then remap their address spaces so that they are all disjoint,
thus simulating standard processes. However, they will now be able to
play with each others address space).
- NOW version including ATM specific communications.
October 96 (i.e., after my holidays in Sept ;-)
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 1996
Please send comments to
Jon Hill
Need more information? See: What's New in BSP Worldwide
Last modified October 8, 1996