muskel:SCPE:07 (Article)
|
Author(s) | Marco Aldinucci, Marco Danelutto and Patrizio Dazzi |
Title | « MUSKEL: an expandable skeleton environment » |
Journal | Scalable Computing: Practice and Experience |
Volume | 8 |
Number | 4 |
Page(s) | 325-341 |
Year | 2007 |
URL | http://www.scpe.org/index.php/scpe/article/view/429 |
Abstract |
Programming models based on algorithmic skeletons promise to raise the level of abstraction perceived by programmers when implementing parallel applications, while guaranteeing good performance figures. At the same time, however, they restrict the freedom of programmers to implement arbitrary parallelism exploitation patterns. In fact, efficiency is achieved by restricting the parallelism exploitation patterns provided to the programmer to the useful ones for which efficient implementations, as well as useful and efficient compositions, are known. In this work we introduce muskel, a full Java library targeting workstation clusters, networks and grids and providing the programmers with a skeleton based parallel programming environment. muskel is implemented exploiting (macro) data flow technology, rather than the more usual skeleton technology relying on the use of implementation templates. Using data flow, muskel easily and efficiently implements both classical, predefined skeletons, and user-defined parallelism exploitation patterns. This provides a means to overcome some of the problems that Cole identified in his skeleton ``manifesto'' as the issues impairing skeleton success in the parallel programming arena. We discuss fully how user-defined skeletons are supported by exploiting a data flow implementation, experimental results and we also discuss extensions supporting the further characterization of skeletons with non-functional properties, such as security, through the use of Aspect Oriented Programming and annotations. |
@article{muskel:SCPE:07,
volume = {8},
number = {4},
month = dec,
author = {Marco Aldinucci and Marco Danelutto and Patrizio Dazzi},
url = {http://www.scpe.org/index.php/scpe/article/view/429},
abstract = {Programming models based on algorithmic skeletons promise to raise
the level of abstraction perceived by programmers when
implementing parallel applications, while guaranteeing good
performance figures. At the same time, however, they restrict the
freedom of programmers to implement arbitrary parallelism
exploitation patterns. In fact, efficiency is achieved by
restricting the parallelism exploitation patterns provided to the
programmer to the useful ones for which efficient implementations,
as well as useful and efficient compositions, are known. In this
work we introduce muskel, a full Java library targeting
workstation clusters, networks and grids and providing the
programmers with a skeleton based parallel programming
environment. muskel is implemented exploiting (macro) data flow
technology, rather than the more usual skeleton technology relying
on the use of implementation templates. Using data flow, muskel
easily and efficiently implements both classical, predefined
skeletons, and user-defined parallelism exploitation patterns.
This provides a means to overcome some of the problems that Cole
identified in his skeleton ``manifesto'' as the issues impairing
skeleton success in the parallel programming arena. We discuss
fully how user-defined skeletons are supported by exploiting a
data flow implementation, experimental results and we also discuss
extensions supporting the further characterization of skeletons
with non-functional properties, such as security, through the use
of Aspect Oriented Programming and annotations.},
title = {MUSKEL: an expandable skeleton environment},
journal = {Scalable Computing: Practice and Experience},
pages = {325-341},
year = {2007},
}
This document was generated by bib2html 3.3.
(Modified by Luca Paolini, under the GNU General Public License)