• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Building parallel applications without programming. In: Leeds workshop on abstract parallel machine models (1993)

by J Darlington, To HW
Add To MetaCart

Tools

Sorted by:
Results 1 - 9 of 9

Structured Parallel Programming

by J. Darlington, M. Ghanem, H. W. To - In Programming Models for Massively Parallel Computers , 1993
"... Parallel programming is a difficult task involving many complex issues such as resource allocation, and process coordination. We propose a solution to this problem based on the use of a repertoire of parallel algorithmic forms, known as skeletons. The use of skeletons enables the meaning of a parall ..."
Abstract - Cited by 18 (7 self) - Add to MetaCart
Parallel programming is a difficult task involving many complex issues such as resource allocation, and process coordination. We propose a solution to this problem based on the use of a repertoire of parallel algorithmic forms, known as skeletons. The use of skeletons enables the meaning of a parallel program to be separated from its behaviour. Central to this methodology is the use of transformations and performance models. Transformations provide portability and implementations choices, whilst performance models guide the choices by providing predictions of execution time. In this paper we describe the methodology and investigate the use and construction of performance models by studying an example.

A Combinational Framework For Parallel Programming Using Algorithmic Skeletons

by Mohammad M. Hamdan , 2000
"... ..."
Abstract - Cited by 12 (0 self) - Add to MetaCart
Abstract not found

Structured Parallel Programming: Theory meets Practice

by John Darlington, Yi-ke Guo, Hing Wing To - Research Directions in Computer Science , 1995
"... We address the issue of what should be the proper relationship between theoretical computer science and practical computing. Starting from an analysis of what we perceive of as the failure of formally based research to have as much impact on practical computing as is merited we propose a diagnos ..."
Abstract - Cited by 9 (2 self) - Add to MetaCart
We address the issue of what should be the proper relationship between theoretical computer science and practical computing. Starting from an analysis of what we perceive of as the failure of formally based research to have as much impact on practical computing as is merited we propose a diagnosis based on the way formally based research is conducted and the way it is envisaged that results from these areas will be translated into practice. We suggest that it is the responsibility of practitioners of theoretical computer science to work more closely with the practical areas in order to identify ways in which their ideas can be used to augment current practice rather than seeking to replace it. As a case in point we examine functional programming and its relationship to programming parallel machines. We introduce a development, structured parallel programming, that seeks to combine the theoretical advantages of functional programming with established practice in these area...

Data Distribution Algebras - A Formal Basis for Programming Using Skeletons

by Mario Südholt , 1994
"... this paper functional languages are proposed as such a methodology using an extension of the concept of skeletons --- higher-order functions coupled with parallel implementation templates. An essential part of the proposed methodology is the use of data distribution algebras ..."
Abstract - Cited by 8 (1 self) - Add to MetaCart
this paper functional languages are proposed as such a methodology using an extension of the concept of skeletons --- higher-order functions coupled with parallel implementation templates. An essential part of the proposed methodology is the use of data distribution algebras

A Polymorphic Library for Constructive Solid Geometry

by J.R. Davy, P.M. Dew , 1994
"... Solid modelling using constructive solid geometry (CSG) includes many examples of stylised divide-and-conquer algorithms. We identify the sources of these recurrent patterns and implement a Geometric Evaluation Library (GEL) which captures them as higher order functions. This library then become ..."
Abstract - Cited by 4 (3 self) - Add to MetaCart
Solid modelling using constructive solid geometry (CSG) includes many examples of stylised divide-and-conquer algorithms. We identify the sources of these recurrent patterns and implement a Geometric Evaluation Library (GEL) which captures them as higher order functions. This library then become the basis of developing CSG applications quickly and concisely. GEL is currently implemented as a set of separately compiled modules in the pure functional language Hope+. We evaluate our work in terms of performance and general applicability. We also assess the benefits of the functional paradigm in this domain and the merits of programming with a set of higher order functions. 1 Introduction We present a case study in functional programming in the field of solid modelling using Constructive Solid Geometry (CSG). It is motivated by the observation that this application domain uses many (potentially parallel) stylised algorithms based on the divide-and-conquer (D&C) paradigm. Previous...

A Scheme For Nesting Algorithmic Skeletons

by Mohammad Hamdan, Greg Michaelson, Peter King - Department of Computer Science, University College London , 1998
"... . A scheme for arbitrary nesting of algorithmic skeletons is explained which is based on the idea of groups in MPI. Two skeletons were developed which run in a nested mode: a binary divide and conquer and a process farm for a parallel implementation of fold and map HOFs respectively. An Example show ..."
Abstract - Cited by 3 (1 self) - Add to MetaCart
. A scheme for arbitrary nesting of algorithmic skeletons is explained which is based on the idea of groups in MPI. Two skeletons were developed which run in a nested mode: a binary divide and conquer and a process farm for a parallel implementation of fold and map HOFs respectively. An Example showing various cases for nesting the two skeletons is presented. The experiment was conducted on the Fujitsu AP1000 parallel machine. 1 Introduction It is well known that parallelism adds an additional level of difficulty to software development. Following Cole's characterisation[1], algorithmic skeletons have been recognised widely as a valuable basis for parallel software construction. A skeleton abstracts a control structure which may be instantiated subsequently with specific functions to carry out specific tasks. Therefore, the encapsulation of parallel algorithms into skeletons is a promising approach to high-level specification of parallel algorithms. Normally, functional programming la...

Functional Programming of Massively Parallel Systems

by Peter Pepper, Mario Südholt, Jürgen Exner , 1993
"... Parallel programming is intrinsically more difficult than sequential programming. To this day there is no universal programming methodology which provides a simple programming model applicable to a wide range of architectures. In this report a methodology is presented which aims at solving this dile ..."
Abstract - Cited by 1 (1 self) - Add to MetaCart
Parallel programming is intrinsically more difficult than sequential programming. To this day there is no universal programming methodology which provides a simple programming model applicable to a wide range of architectures. In this report a methodology is presented which aims at solving this dilemma using a transformational approach based on skeletons. First steps towards a general theory of skeletons are set up using results from sheaf theory. These results provide the basis for the formal definition of data distribution algebras underlying our definition of skeletons. The papers presents several examples in some detail which illustrate the use of the presented formalism in application domains important to parallel programming. Keywords: functional programming, parallel programming, skeleton, data distribution algebra.

A Method for Developing Parallel Vision Algorithms with an Example of Edge Tracking

by N. R. Scaife, G. J. Michaelson, A. M. Wallace , 1996
"... We present a general approach to parallel algorithm development based on protyping and benchmarking in a functional language. Preferred solutions are then translated to an imperative language to run on a MIMD architecture. The methodology is well-suited to vision algorithms, since these show a high ..."
Abstract - Cited by 1 (1 self) - Add to MetaCart
We present a general approach to parallel algorithm development based on protyping and benchmarking in a functional language. Preferred solutions are then translated to an imperative language to run on a MIMD architecture. The methodology is well-suited to vision algorithms, since these show a high degree of data or algorithmic complexity at several levels, and are necessarily dependent on parallel processing for rapid computation. The approach is demonstrated fully on a relatively difficult parallel task, tracking boundaries in an intensity image, showing how the functional prototype provides accurate predictions of the final parallel code. Prototyping is in Standard ML for parallel implementation in occam2 on a transputer array. Keywords: functional prototyping, parallel vision, distributed memory, edge tracking Telephone: 0131-451-3422 (Michaelson) -3423 (Wallace) Fax: 0131-451-3431 email: norman,greg,andy@cee.hw.ac.uk Correspondence: Dr. Andrew Wallace at above address 1 Over...

Skeleton-based parallel programming: Functional and parallel semantics in a single shot

by Marco Aldinucci , Marco Danelutto , 2007
"... ..."
Abstract - Add to MetaCart
Abstract not found
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University