Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

A semi-automatic approach for parallel problem solving using the Multi-BSP model

https://doi.org/10.15514/ISPRAS-2019-31(2)-8

Abstract

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.

About the Authors

Marcelo Orlando Alaniz
Universidad de la República
Uruguay
Researcher at the Numerical Center (CeCal) at Computer Science Institute, Engineering Faculty


Sergio Enrique Nesmachnow Cánovas
Universidad de la República
Uruguay
Aggregate Professor in the Numerical Center (CeCal) at Computer Science Institute, Engineering Faculty


References

1. Alaniz M; Nesmachnow S; Goglin B.; Iturriaga S.; Gil Costa V.; Printista M. MBSPDiscover: An automatic benchmark for MultiBSP performance analysis. Communications in Computer and Information Science; vol. 485, pages 158–172 (2014)

2. Bisseling, R.: Parallel scientific computation: a structured approach using BSP and MPI. Oxford University Press, Oxford, UK (2004)

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

4. Broquedis, F., Clet-Ortega, J., Moreaud, S., Furmento, N., Goglin, B., Mercier, G., Thibault, S., Namyst, R.: Hwloc: A generic framework for managing hardware affinities in HPC applications. In: 18th Euromicro Conference on Parallel, Distributed and Network-based Processing, pages 180–186 (2010)

5. Hill, J., McColl, B., Stefanescu, D., Goudreau, M., Lang, K., Rao, S., Suel, T., Tsantilas, T., Bisseling, R.: BSPlib: The BSP programming library. Parallel Computing 24(14), 1947–1980 (1998)

6. Nesmachnow, S. Computación científica de alto desempeño en la Facultad de Ingeniería, Universidad de la República. Revista de la Asociación de Ingenieros del Uruguay 61 (1), 12-15 (2010). Text in Spanish.

7. Savadi, A., Deldari, H.: Measurement latency parameters of the MultiBSP model: A multicore benchmarking approach. Journal of Supercomputing 67(2), 565–584 (2014)

8. Soudris, D., Jantsch, A. (eds.): Scalable Multi-core Architectures. Springer Science + Business Media (2012)

9. Valiant, L.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111(1990)

10. Valiant, L.: A bridging model for multi-core computing. Journal of Computing and System Sciences 77(1),154–166 (2011)

11. Yzelman, A. Fast sparse matrix-vector multiplication by partitioning and reordering. Ph.D. thesis, Utrecht University, Utrecht, the Netherlands (2011)

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. 42, 4, 619-642 (2014)


Review

For citations:


Alaniz M., Nesmachnow Cánovas S. A semi-automatic approach for parallel problem solving using the Multi-BSP model. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2019;31(2):97-120. (In Russ.) https://doi.org/10.15514/ISPRAS-2019-31(2)-8



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)