scispace - formally typeset
Open AccessProceedings Article

A Transformational Framework for Skeletal Programs: Overview and Case Study

Sergei Gorlatch, +1 more
- pp 123-137
TLDR
This paper develops a general transformational framework named FAN, and integrates it with an existing skeleton-based programming system, P3L, which includes a new functional abstract notation for expressing parallel algorithms, a set of semantics-preserving transformation rules, and analytical estimates of the rules' impact on the program performance.
Abstract
A structured approach to parallel programming allows to construct applications by composing skeletons, i.e., recurring patterns of task- and data-parallelism. First academic and commercial experience with skeleton-based systems has demonstrated both the benefits of the approach and the lack of a special methodology for algorithm design and performance prediction. In the paper, we take a first step toward such a methodology, by developing a general transformational framework named FAN, and integrating it with an existing skeleton-based programming system, P3L. The framework includes a new functional abstract notation for expressing parallel algorithms, a set of semantics-preserving transformation rules, and analytical estimates of the rules' impact on the program performance. The use of FAN is demonstrated on a case study: we design a parallel algorithm for the maximum segment sum problem, translate the algorithm in P3L, and experiment with the target C+MPI code on a Fujitsu AP1000 parallel machine.

read more

Citations
More filters
Journal ArticleDOI

Towards parallel programming by transformation: the fan skeleton framework*

TL;DR: A transformational framework for the development of skeletal programs which makes use of transformation rules which are semantic equivalences among skeleton compositions, and can be viewed as a first feasibility study of methods and tools for transformational, performance-directed parallel programming using skeletons.
Book ChapterDOI

A Fusion-Embedded Skeleton Library

TL;DR: A new framework for designing and implementing skeleton libraries, in which each skeleton should not only be efficiently implemented as is usually done, but also be equipped with a structured interface to combine it efficiently with other skeletons is addressed.

Models for Parallel Computing : Review and Perspectives

TL;DR: A review of the wealth of models for parallel comput ation that have evolved over the last decades, together with a perspective on models with potential future relevance.
Journal ArticleDOI

Merging compositions of array skeletons in SAC

TL;DR: A way out of this dilemma for array skeletons is described, in the functional array language SAC, where individual array skeletons are internally represented by one or more meta skeletons, called WITH-loops.
Book ChapterDOI

Skeletons and Transformations in an Integrated Parallel Programming Environment

TL;DR: This work proposes an environment which integrates a framework for algorithm transformation, called FAN, with two existing skeleton-based programming systems: the academic system P3L and its commercial counterpart SkIE.
References
More filters
Book

Using MPI: Portable Parallel Programming with the Message-Passing Interface

TL;DR: Using MPI as mentioned in this paper provides a thoroughly updated guide to the MPI (Message-Passing Interface) standard library for writing programs for parallel computers, including a comparison of MPI with sockets.
Book

Programming Pearls

TL;DR: This book is about programming pearls whose origins lie beyond solid engineering, in the realm of insight and creativity, and a new theme in this edition is how to evaluate and use software components.
Journal ArticleDOI

Models and languages for parallel computation

TL;DR: It is argued that an ideal model should by easy to program, should have a software development methodology, should be architecture-independent, should been easy to understand, should guarantee performance, and should provide accurate information about the cost of programs.
Book

Parallel computation: models and methods

TL;DR: This chapter discusses models of Computation, Combinational Circuits, and Parallel Synergy, which aims to explain the construction of parallel circuits and their applications in medicine and engineering.
Book

Lectures on Constructive Functional Programming

Richard Bird
TL;DR: This work hopes to show that a functional approach to the problem of systematically calculating programs from their specifications can take its place alongside other methodologies.