The separation of communication from synchronisation and the inherent simplicity of the superstep structure make it relatively easy to find a suitable cost-model. The cost is expressed in terms of steps or floating point operations (FlOps) for each portion of the program. The cost parameters are the BSP parameters for the machine and parameters determined by the choice of algorithm and their implementation.
As a BSP program consists of a sequence of supersteps, the ``cost'' of an entire program is the sum of the contributions from its supersteps.
What are the key parameters that determine performance? Extensive research by the originators of the BSPlib showed that the following four key parameters are sufficient (cf. Hill and McColl, 1996):
The cost of one superstep is
| (59) |
The dependence on a specific platform enters the cost function only through
the parameters
,
and
.
We follow convention and count every floating point operation as 1.
The BSP approach offers a simple cost model. In general, cost-modeling applications give a rough ball-park figure of the cost on any parallel machine and configuration size. The role of profiling tools like bsprof aids simplistic pencil and paper cost modeling, and it effectively predicts the cost of an algorithm on any parallel machine (cf. Hill, Crumpton and Burgess, 1996).