Different skeleton based parallel programming systems have been developed in past years. The main goal of these programming environments is to provide programmers with handy, effective ways of writing parallel applications. In particular, skeleton based parallel programming environments automatically deal with most of the difficult, cumbersome programming problems that must be usually handled by programmers of parallel applications using traditional programming environments (e.g. environments such as those based on MPI). The semantics of the skeleton based programming environments is usually provided in two distinct items: a formal functional semantics, precisely modeling the function computed by the skeleton program, and an informal parallel semantics describing the ways used to exploit parallelism during the execution of a given skeleton program. The separation of functional and parallel semantics seriously impairs the possibility of programmers to use the semantic tools to prove properties of programs. In this work we show how a formal semantic framework can be set up that handles both functional and parallel aspects of skeleton based parallel programs. The framework is based on a labeled transition system. We show how different properties related to skeleton programs can be proved using such system. We use the Lithium skeleton based, full Java parallel programming environment as the case study.
Skeleton based parallel programming: functional and parallel semantics in a single shot
2004
Abstract
Different skeleton based parallel programming systems have been developed in past years. The main goal of these programming environments is to provide programmers with handy, effective ways of writing parallel applications. In particular, skeleton based parallel programming environments automatically deal with most of the difficult, cumbersome programming problems that must be usually handled by programmers of parallel applications using traditional programming environments (e.g. environments such as those based on MPI). The semantics of the skeleton based programming environments is usually provided in two distinct items: a formal functional semantics, precisely modeling the function computed by the skeleton program, and an informal parallel semantics describing the ways used to exploit parallelism during the execution of a given skeleton program. The separation of functional and parallel semantics seriously impairs the possibility of programmers to use the semantic tools to prove properties of programs. In this work we show how a formal semantic framework can be set up that handles both functional and parallel aspects of skeleton based parallel programs. The framework is based on a labeled transition system. We show how different properties related to skeleton programs can be proved using such system. We use the Lithium skeleton based, full Java parallel programming environment as the case study.| File | Dimensione | Formato | |
|---|---|---|---|
|
prod_160744-doc_125741.pdf
accesso aperto
Descrizione: Skeleton based parallel programming: functional and parallel semantics in a single shot
Dimensione
252.27 kB
Formato
Adobe PDF
|
252.27 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


