Skip to Main content Skip to Navigation

Metaprogrammed algorithmic skeletons : implementations, performances and semantics

Abstract : Structured parallelism approaches are a trade-off between automatic parallelisation and concurrent and distributed programming such as Pthreads and MPI. Skeletal parallelism is one of the structured approaches. An algorithmic skeleton can be seen as higher-order function that captures a pattern of a parallel algorithm such as a pipeline, a parallel reduction, etc. Often the sequential semantics of the skeleton is quite simple and corresponds to the usual semantics of similar higher-order functions in functional programming languages. The user constructs a parallel program by combined calls to the available skeletons. When one is designing a parallel program, the parallel performance is of course important. It is thus very interesting for the programmer to rely on a simple yet realistic parallel performance model. Bulk Synchronous Parallelism (BSP) offers such a model. As the parallelism can now be found everywhere from smart-phones to the super computers, it becomes critical for the parallel programming models to support the proof of correctness of the programs developed with them. . The outcome of this work is the Orléans Skeleton Library or OSL. OSL provides a set of data parallel skeletons which follow the BSP model of parallel computation. OSL is a library for C++ currently implemented on top of MPI and using advanced C++ techniques to offer good efficiency. With OSL being based over the BSP performance model, it is possible not only to predict the performances of the application but also provides the portability of performance. The programming model of OSL is formalized using the big-step semantics in the Coq proof assistant. Based on this formal model the correctness of an OSL example is proved.
Document type :
Complete list of metadata
Contributor : Abes Star :  Contact
Submitted on : Monday, December 12, 2011 - 5:57:17 PM
Last modification on : Thursday, March 5, 2020 - 6:49:36 PM
Long-term archiving on: : Tuesday, March 13, 2012 - 2:36:07 AM


Version validated by the jury (STAR)


  • HAL Id : tel-00651088, version 1



Noman Javed. Metaprogrammed algorithmic skeletons : implementations, performances and semantics. Other [cs.OH]. Université d'Orléans, 2011. English. ⟨NNT : 2011ORLE2021⟩. ⟨tel-00651088⟩



Record views


Files downloads