Results 11 
18 of
18
Descriptive Simplicity in Parallel Computing
, 1997
"... and there currently exist a wide selection of parallel programming languages and environments. This thesis presents and examines the Hierarchical Skeleton Model (HSM), a model of parallel programming that combines ease of use, portability and flexibility. ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
and there currently exist a wide selection of parallel programming languages and environments. This thesis presents and examines the Hierarchical Skeleton Model (HSM), a model of parallel programming that combines ease of use, portability and flexibility.
List Homomorphism with Accumulation
 In Proceedings of Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD
, 2003
"... This paper introduces accumulation into list homomorphisms for systematic development of both efficient and correct parallel programs. New parallelizable recursive pattern called is given, and transformations from sequential patterns in the form into (H)homomorphism are shown. We illustrate ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper introduces accumulation into list homomorphisms for systematic development of both efficient and correct parallel programs. New parallelizable recursive pattern called is given, and transformations from sequential patterns in the form into (H)homomorphism are shown. We illustrate the power of our formalization by developing a novel and general parallel program for a class of interesting and challenging problems, known as maximum marking problems. 1.
Abstract Parallel skeletons for manipulating general trees
, 2006
"... Trees are important datatypes that are often used in representing structured data such as XML. Though trees are widely used in sequential programming, it is hard to write efficient parallel programs manipulating trees, because of their irregular and illbalanced structures. In this paper, we propose ..."
Abstract
 Add to MetaCart
Trees are important datatypes that are often used in representing structured data such as XML. Though trees are widely used in sequential programming, it is hard to write efficient parallel programs manipulating trees, because of their irregular and illbalanced structures. In this paper, we propose a solution based on the skeletal approach. We formalize a set of skeletons (abstracted computational patterns) for rose trees (general trees of arbitrary shapes) based on the theory of Constructive Algorithmics. Our skeletons for rose trees are extensions of those proposed for lists and binary trees. We show that we can implement the skeletons efficiently in parallel, by combining the parallel binarytree skeletons for which efficient parallel implementations are already known. As far as we are aware, we are the first who have formalized and implemented a set of simple but expressive parallel skeletons for rose trees. Ó 2006 Elsevier B.V. All rights reserved.
Mathematical Engineering
 in Proc. Annual European Conference on Parallel Processing (EuroPar 2003), LNCS 2790 (SpringerVerlag
, 2003
"... Trees are useful data structures, but to design e#cient parallel programs over trees is known to be more di#cult than to do over lists. Although several important tree skeletons have been proposed to simplify parallel programming on trees, few studies have been reported on how to systematically u ..."
Abstract
 Add to MetaCart
Trees are useful data structures, but to design e#cient parallel programs over trees is known to be more di#cult than to do over lists. Although several important tree skeletons have been proposed to simplify parallel programming on trees, few studies have been reported on how to systematically use them in solving practical problems; it is neither clear how to make a good combination of skeletons to solve a given problem, nor obvious how to find suitable operators used in a single skeleton. In this paper, we report our first attempt to resolve these problems, proposing two important transformations, the tree di#usion transformation and the tree context preservation transformation. The tree di#usion transformation allows one to use familiar recursive definitions to develop his parallel programs, while the tree context preservation transformation shows how to derive associative operators that are required when using tree skeletons. We illustrate our approach by deriving an e#cient parallel program for solving a nontrivial problem called the party planning problem, the tree version of the famous maximumweightsum problem.
An Analytical Method For Parallelization Of Recursive Functions
, 2000
"... Programming with parallel skeletons is an attractive framework because it encourages programmers to develop efficient and portable parallel programs. However, extracting parallelism from sequential specifications and constructing efficient parallel programs using the skeletons are still difficult ..."
Abstract
 Add to MetaCart
Programming with parallel skeletons is an attractive framework because it encourages programmers to develop efficient and portable parallel programs. However, extracting parallelism from sequential specifications and constructing efficient parallel programs using the skeletons are still difficult tasks. In this paper, we propose an analytical approach to transforming recursive functions on general recursive data structures into compositions of parallel skeletons. Using static slicing, wehave defined a classification of subexpressions based on their dataparallelism. Then, skeletonbased parallel programs are generated from the classification. To extend the scope of parallelization, wehave adopted more general parallel skeletons which do not require the associativity of argument functions. In this way, our analytical method can parallelize recursive functions with complex data flows. Keywords: data parallelism, parallelization, functional languages, parallel skeletons, data flow analysis, static slice 1.
Analysis of Parallelism in Recursive Functions on Recursive Data Structures
"... In functional languages, iterative operations on data collections are naturally expressed using recursive functions on recursive data structures. In this paper, we present a method to extract data parallelism from recursive functions and generate data parallel programs. ..."
Abstract
 Add to MetaCart
In functional languages, iterative operations on data collections are naturally expressed using recursive functions on recursive data structures. In this paper, we present a method to extract data parallelism from recursive functions and generate data parallel programs.
Architectures, Costs, and Transformations
"... . Parallel software construction is moving beyond an early emphasis on runtime performance as the only goal, towards a more mature view in which other facets of design become as important. However, there are many difficulties that prevent the construction of a complete parallel software development ..."
Abstract
 Add to MetaCart
. Parallel software construction is moving beyond an early emphasis on runtime performance as the only goal, towards a more mature view in which other facets of design become as important. However, there are many difficulties that prevent the construction of a complete parallel software development methodology. These include: the variety of possible targets, and the portability issues that this raises; the difficult of determining costs of execution, and representing them in ways that are simple enough to be useful; and our lack of knowledge about how to integrate transformations into development, which prevents a calculational style from being effective. All of this is further complicated by the fact that architectures themselves are designed pragmatically, and do not necessarily lend themselves to simple, elegant descriptions. 1 The Software Development Problem Figure 1 shows the essence of the software development problem. It begins with a specification, usually generated by consul...
Parallel Processing Letters, ❢c World Scientific Publishing Company SYSTEMATIC DERIVATION OF TREE CONTRACTION ALGORITHMS ∗
, 2004
"... While tree contraction algorithms play an important role in efficient tree computation in parallel, it is difficult to develop such algorithms due to the strict conditions imposed on contracting operators. In this paper, we propose a systematic method of deriving efficient tree contraction algorithm ..."
Abstract
 Add to MetaCart
While tree contraction algorithms play an important role in efficient tree computation in parallel, it is difficult to develop such algorithms due to the strict conditions imposed on contracting operators. In this paper, we propose a systematic method of deriving efficient tree contraction algorithms from recursive functions on trees. We identify a general recursive form that can be parallelized into efficient tree contraction algorithms, and present a derivation strategy for transforming general recursive functions to the parallelizable form. We illustrate our approach by deriving a novel parallel algorithm for the maximum connectedset sum problem on arbitrary trees, the treeversion of the wellknown maximum segment sum problem.