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.
2004
Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo" - ISTI
Algorithmical skeletons
Structured parallel programming
Labeled transition systems
Functional semantics
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/152914
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact