Skip to Main content Skip to Navigation
New interface

Static Analysis for BSPlib Programs

Abstract : The goal of scalable parallel programming is to program computer architectures composed of multiple processing units so that increasing the number of processing units leads to an increase in performance. Bulk Synchronous Parallel (BSP) is a widely used model for scalable parallel programming with predictable performance. BSPlib is a library for BSP programming in C. In BSPlib, parallel algorithms are expressed by intermingling instructions that control the global parallel structure, and instructions that express the local computation of each processing unit. This lets the programmer fine-tune synchronization, but also implement programs whose diverging parallel control flow obscures the underlying BSP structure. In practice however, the majority of BSPlib program are textually aligned, a property that ensures parallel control flow convergence. We examine three core aspects of BSPlib programs through the lens of textual alignment: synchronization, performanceandcommunication.First,wepresentastaticanalysisthatidentifiestextuallyalignedstatements and use it to verify safe synchronization. This analysis has been implemented in Frama-C and certified in Coq. Second, we exploit textual alignment to develop a static performance analysis for BSPlib programs, based on classic cost analysis for sequential programs. Third, we develop a textual alignment-based sufficient condition for safe registration. Registration in BSPlib enables communication by Direct Remote Memory Access but is error prone. This development forms the basis for a future static analysis of registration.
Complete list of metadata

Cited literature [252 references]  Display  Hide  Download
Contributor : ABES STAR :  Contact
Submitted on : Monday, August 24, 2020 - 3:55:08 PM
Last modification on : Thursday, October 20, 2022 - 3:52:41 AM
Long-term archiving on: : Tuesday, December 1, 2020 - 6:28:35 AM


Version validated by the jury (STAR)


  • HAL Id : tel-02920363, version 1


Filip Jakobsson. Static Analysis for BSPlib Programs. Distributed, Parallel, and Cluster Computing [cs.DC]. Université d'Orléans, 2019. English. ⟨NNT : 2019ORLE2005⟩. ⟨tel-02920363⟩



Record views


Files downloads