Portable and architecture independent parallel performance tuning using BSP. A call-graph profiling tool has been designed and implemented to analyse the efficiency of programs written in BSPlib. This tool highlights computation and communication imbalance in parallel programs, exposing portions of program code which are amenable to improvement. A unique feature of this profiler is that it uses the bulk synchronous parallel cost model, thus providing a mechanism for portable and architecture-independent parallel performance tuning. In order to test the capabilities of the model on a real-world example, the performance characteristics of an SQL query processing application are investigated on a number of different parallel architectures.