Results 1 -
6 of
6
Towards Parallel Programming by Transformation: The FAN Skeleton Framework
, 2001
"... A Functional Abstract Notation (FAN) is proposed for the specification and design of parallel algorithms by means of skeletons - high-level patterns with parallel semantics. The main weakness of the current programming systems based on skeletons is that the user is still responsible for finding the ..."
Abstract
-
Cited by 16 (8 self)
- Add to MetaCart
A Functional Abstract Notation (FAN) is proposed for the specification and design of parallel algorithms by means of skeletons - high-level patterns with parallel semantics. The main weakness of the current programming systems based on skeletons is that the user is still responsible for finding the most appropriate skeleton composition for a given application and a given parallel architecture. We describe a transformational framework for the development of skeletal programs which is aimed at filling this gap. The framework makes use of transformation rules which are semantic equivalences among skeleton compositions. For a given problem, an initial, possibly inefficient skeleton specification is refined by applying a sequence of transformations. Transformations are guided by a set of performance prediction models which forecast the behavior of each skeleton and the performance benefits of different rules. The design process is supported by a graphical tool which locates applicable transformations and provides performance estimates, thereby helping the programmer in navigating through the program refinement space. We give an overview of the FAN framework and exemplify its use with performance-directed program derivations for simple case studies. Our experience can be viewed as a first feasibility study of methods and tools for transformational, performance-directed parallel programming using skeletons.
Comparing Parallel Functional Languages: Programming and Performance
, 2002
"... This paper presents a practical evaluation and comparison of three stateof -the-art parallel functional languages. The evaluation is based on implementations of three typical symbolic computation programs, with performance measured on a Beowulf-class parallel architecture. ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
This paper presents a practical evaluation and comparison of three stateof -the-art parallel functional languages. The evaluation is based on implementations of three typical symbolic computation programs, with performance measured on a Beowulf-class parallel architecture.
A personal, historical perspective of parallel programming for high performance
- Communication-Based Systems (CBS 2000
, 2000
"... ..."
and
"... Execution of programs with data parallel language constructs is either based on the fork/join or on the SPMD model. Whereas the former executes a program sequentially and confines parallel activity to the data parallel constructs, the latter executes the whole program in parallel: while data paralle ..."
Abstract
- Add to MetaCart
Execution of programs with data parallel language constructs is either based on the fork/join or on the SPMD model. Whereas the former executes a program sequentially and confines parallel activity to the data parallel constructs, the latter executes the whole program in parallel: while data parallel constructs are performed cooperatively, the remaining code is replicated. However, in the presence of I/O not all operations may actually be replicated without changing the programs extensional behaviour. Consequently, even SPMD-style parallel execution contains pockets of sequential execution, and the two execution models differ mostly in the default execution mode. Which execution model is better suited depends on an individual programs characteristics. Therefore, we propose a hybrid execution model that combines the advantages of fork/join- and SPMD-style execution. The hybrid model adapts itself to the needs of the program compiled. While some program parts are effectively executed following a fork/join approach, others are executed in SMPD mode depending on the individual mix of operations. The number of costly execution mode switches and, hence, the overhead for synchronization and communication is reduced with respect to both plain fork/join and SPMD approaches. 1.
Integrating HPF in a Skeleton Based Parallel Language
"... Although HPF allows programmers to express data-parallel computations in a portable, high-level way, it is widely accepted that many important parallel applications cannot be efficiently implemented following a pure data-parallel paradigm. For these applications, rather than having a single data-par ..."
Abstract
- Add to MetaCart
Although HPF allows programmers to express data-parallel computations in a portable, high-level way, it is widely accepted that many important parallel applications cannot be efficiently implemented following a pure data-parallel paradigm. For these applications, rather than having a single data-parallel program, it is more profitable to subdivide the whole computation into several data-parallel pieces, where the various pieces run concurrently and co-operate, thus exploiting task parallelism. This paper discusses the integration of HPF with SkIE, a skeleton based coordination language implemented on top of MPI (Message Passing Interface), which permits to describe complex computational parallel structures. We show how HPF can be used inside common forms of parallelism, e.g. pipeline and processor farms, and we present experimental results regarding a sample application.
Chapter 5 Grid Programming with Java, RMI, and Skeletons
"... Grid systems aim to combine different kinds of computational resources connected by the Internet and make them easily available to the user community. Initial research on grid computing focused, quite naturally, on developing the enabling infrastructure, systems like Globus, Legion, and Condor being ..."
Abstract
- Add to MetaCart
Grid systems aim to combine different kinds of computational resources connected by the Internet and make them easily available to the user community. Initial research on grid computing focused, quite naturally, on developing the enabling infrastructure, systems like Globus, Legion, and Condor being the prominent examples presented in the “Gridbook ” [17]. Other efforts have

