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.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
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.
Bisseling, R., Parallel Scientific Computation: a Structured Approach Using BSP and MPI, Oxford: Oxford Univ. Press, 2004.
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.
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.
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.
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.
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.
Scalable Multi-Core Architectures, Soudris D. and Jantsch A., Eds., New York: Springer-Verlag, 2012.
Valiant, L., A bridging model for parallel computation, Commun. ACM, 1990, vol. 33, no. 8, pp. 103–111.
Valiant, L., A bridging model for multi-core computing, J. Comput. Syst. Sci., 2011, vol. 77, no. 1, pp. 154–166.
Yzelman, A., Fast sparse matrix-vector multiplication by partitioning and reordering, PhD Thesis, Utrecht: Utrecht Univ., 2011.
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.
About this article
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