A semi-Automatic Approach for Parallel Problem Solving using the Multi-BSP Model


The Multi-Bulk Synchronous Parallel (Multi-BSP) model is a recently proposed parallel programming model for multicore machines that extends the classic Bulk Synchronous Parallel model. Multi-BSP aims to be a useful model to design algorithms and estimate their running time. This model heavily relies on the right computation of parameters that characterize the hardware. Of course, the hardware utilization also depends on the specific features of the problems and the algorithms applied to solve them. This article introduces a semi-automatic approach for solving problems applying parallel algorithms using the Multi-BSP model. First, the specific multicore computer to use is characterized by applying an automatic procedure. After that, the hardware architecture discovered in the previous step is considered in order to design a portable parallel algorithm. Finally, a fine tuning of parameters is performed to improve the overall efficiency. We propose a specific benchmark for measuring the parameters that characterize the communication and synchronization costs in a particular hardware. Our approach discovers the hierarchical structure of the multicore architecture and compute both parameters for each level that can share data and make synchronizations between computing units. A second contribution of our research is a proposal for a Multi-BSP engine. It allows designing algorithms by applying a recursive methodology over the hierarchical tree already built by the benchmark, focusing on three atomic functions based in a divide-and-conquer strategy. The validation of the proposed method is reported, by studying an algorithm implemented in a prototype of the Multi-BSP engine, testing different parameter configurations that best fit to each problem and using three different high-performance multicore computers.

This is a preview of subscription content, log in to check access.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.
Fig. 10.
Fig. 11.
Fig. 12.
Fig. 13.
Fig. 14.


  1. 1

    Alaniz, M., Nesmachnow, S., Goglin, B., Iturriaga, S., Gil Costa, V., and Printista, M., MBSPDiscover: an automatic benchmark for MultiBSP performance analysis, Commun. Comput. Inf. Sci., 2014, vol. 485, pp. 158–172.

    Google Scholar 

  2. 2

    Bisseling, R., Parallel Scientific Computation: a Structured Approach Using BSP and MPI, Oxford: Oxford Univ. Press, 2004.

    Google Scholar 

  3. 3

    Bonorden, O., Juurlink, B., von Otte, I., and Rieping, I., The Paderborn University BSP (PUB) Library, Parallel Comput., 2003, vol. 29, no. 2, pp. 187–207.

    Article  Google Scholar 

  4. 4

    Broquedis, F., Clet-Ortega, J., Moreaud, S., Furmento, N., Goglin, B., Mercier, G., Thibault, S., and Namyst, R., Hwloc: a generic framework for managing hardware affinities in HPC applications, Proc. 18th Euromicro Conf. on Parallel, Distributed and Network-Based Processing, Pisa, 2010, pp. 180–186.

  5. 5

    Hill, J., McColl, B., Stefanescu, D., Goudreau, M., Lang, K., Rao, S., Suel, T., Tsantilas, T., and Bisseling, R., BSPlib: The BSP programming library, Parallel Comput., 1998, vol. 24, no. 14, pp. 1947–1980.

    Article  Google Scholar 

  6. 6

    Nesmachnow, S., Computación científica de alto desempeño en la Facultad de Ingeniería, Universidad de la República, Rev. Asoc. Ingenieros Uruguay, 2010, vol. 61, no. 1, pp. 12–15.

    Google Scholar 

  7. 7

    Savadi, A. and Deldari, H., Measurement latency parameters of the MultiBSP model: a multicore benchmarking approach, J. Supercomput., 2014, vol. 67, no. 2, pp. 565–584.

    Article  Google Scholar 

  8. 8

    Scalable Multi-Core Architectures, Soudris D. and Jantsch A., Eds., New York: Springer-Verlag, 2012.

    Google Scholar 

  9. 9

    Valiant, L., A bridging model for parallel computation, Commun. ACM, 1990, vol. 33, no. 8, pp. 103–111.

    Article  Google Scholar 

  10. 10

    Valiant, L., A bridging model for multi-core computing, J. Comput. Syst. Sci., 2011, vol. 77, no. 1, pp. 154–166.

    MathSciNet  Article  Google Scholar 

  11. 11

    Yzelman, A., Fast sparse matrix-vector multiplication by partitioning and reordering, PhD Thesis, Utrecht: Utrecht Univ., 2011.

  12. 12

    Yzelman, A., Bisseling, R., Roose, D., and Meerbergen, K., MulticoreBSP for C: a high-performance library for shared-memory parallel programming, Int. J. Parallel Program., 2014, vol. 42, no. 4, pp. 619–642.

    Article  Google Scholar 

Download references

Author information



Corresponding authors

Correspondence to M. Alaniz or S. Nesmachnow.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Alaniz, M., Nesmachnow, S. A semi-Automatic Approach for Parallel Problem Solving using the Multi-BSP Model. Program Comput Soft 45, 517–531 (2019). https://doi.org/10.1134/S0361768819080103

Download citation