BSPonMPI 0.2 review
DownloadBSPonMPI is a platform independent software library for developing parallel programs
|
|
BSPonMPI is a platform independent software library for developing parallel programs. BSPonMPI implements the BSPlib standard (with one small exception) and runs on all machines which have MPI.
This last property is the main feature of this library and with this feature it distinguishes itself from other libraries such as the Oxford BSP Toolset and PUB.
What are MPI and BSPlib?
MPI stands for Message Passing Interface. This API should make it easy to write a parallel program. However in practice it is still very complicated, because the API exists of hundreds of functions. It is still like programming in a very low level programming language, e.g. assembly.
Astonishingly there exists another API which is designed for the purpose and is very simple. It consists of only 20 primitives, which provide the same functionality and speed. BSPlib, as this other API is called, allows you to write parallel programs according to the BSP programming paradigm, see e.g. Parallel Scientific Computation: A Structured Approach using BSP and MPI by Rob H. Bisseling.
This paradigm lets you program a parallel algorithm in a very structured manner, resulting in readable and fast code. BSPlib is already implemented for several supercomputers and pc clusters, but as it is less popular than MPI, it is not implemented for all hardware platforms. As engineers and mathematicians always want the last percentage of computing power, an efficient implementation on top of MPI is imperative.
Why should I use it?
Currently there are two major BSPlib implementations: Oxford BSP Toolset and PUB. Both are implemented for specific hardware platforms (Cray T3E or SGI Origin, etc...) and they have a platform independent version on top of MPI. However the architecture of their software library is optimised for the use of hardware specific features. Building on top of MPI was never their primary objective. So if your hardware/software is not supported by one of these two libraries, then you should use BSPonMPI in combination with an MPI library.
What's New in This Release:
The main data structure has been rewritten, which resulted in a big performance increase.
Now it is ready for the real world, as it offers BSP communication at almost the same speed as the Oxford BSP Toolset.
Sometimes, it is even faster.
BSPonMPI 0.2 keywords