Systematic Development of Functional Bulk Synchronous Parallel Programs - Archive ouverte HAL Access content directly
Reports (Research Report) Year : 2010

Systematic Development of Functional Bulk Synchronous Parallel Programs

Abstract

With the current generalization of parallel architectures arises the concern of applying formal methods to parallelism, which allows specifications of parallel programs to be precisely stated and the correctness of an implementation to be verified. However, the complexity of parallel, compared to sequential, programs makes them more error-prone and difficult to verify. This calls for a strongly structured form of parallelism, which should not only ease programming by providing abstractions that conceal much of the complexity of parallel computation, but also provide a systematic way of developing practical programs from specification. Bulk Synchronous Parallelism (BSP) is a model of computation which offers a high degree of abstraction like PRAM models but yet a realistic cost model based on a structured parallelism. We propose a framework for refining a sequential specification toward a functional BSP program, the whole process being done with the help of a proof assistant. The main technical contributions of this paper are as follows: We define BH, a new homomorphic skeleton, which captures the essence of BSP computation in an algorithmic level, and also serves as a bridge in mapping from high level specification to low level BSP parallel programs ; We develop a set of useful theories in Coq for systematic and formal derivation of programs in BH from specification, and we provide a certified parallel implementation of BH in the parallel functional language Bulk Synchronous Parallel ML so that a certified BSP parallel program can be automatically extracted from the proof ; We demonstrate with an example that our new framework can be very useful in practice to develop certified BSP parallel programs.
Fichier principal
Vignette du fichier
RR-2010-01.pdf (274.55 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

inria-00465838 , version 1 (22-03-2010)
inria-00465838 , version 2 (23-03-2010)

Identifiers

  • HAL Id : inria-00465838 , version 2

Cite

Julien Tesson, Zhenjiang Hu, Kiminori Matsuzaki, Frédéric Loulergue, Louis Gesbert. Systematic Development of Functional Bulk Synchronous Parallel Programs. [Research Report] RR-2010-01, 2010, pp.21. ⟨inria-00465838v2⟩
159 View
171 Download

Share

Gmail Facebook X LinkedIn More