Type-based primitives for distributed data structures: a functional approach

@article{Chuang2003TypebasedPF,
  title={Type-based primitives for distributed data structures: a functional approach},
  author={Tyng-Ruey Chuang},
  journal={2003 International Conference on Parallel Processing Workshops, 2003. Proceedings.},
  year={2003},
  pages={131-138}
}
  • Tyng-Ruey Chuang
  • Published 27 October 2003
  • Computer Science, Mathematics
  • 2003 International Conference on Parallel Processing Workshops, 2003. Proceedings.
We formulate type-based primitive functions for distributed processing of complex data structures. These primitives are derived directly from the type definitions of the data structures, and they naturally lead to distributed implementations. Our main results are: 1) a distribution model to support efficient aggregate operations over complex data structures. The model is simple yet general, and easy to implement. 2) A parallel functional programming environment assembled from readily available… 

Tables from this paper

References

SHOWING 1-10 OF 15 REFERENCES
Supporting dynamic data structures on distributed-memory machines
TLDR
An execution model for supporting programs that use pointer-based dynamic data structures is described that uses a simple mechanism for migrating a thread of control based on the layout of heap-allocated data and introduces parallelism using a technique based on futures and lazy task creation.
An experimental APL compiler for a distributed memory parallel machine
TLDR
An experimental APL compiler has been developed for the IBM SP1 distributed memory parallel machine and exploits data parallelism in APL programs based on parallel high-level primitives.
NESL: A Nested Data-Parallel Language
TLDR
NESL is intended to be used as a portable interface for programming a variety of parallel and vector supercomputers, and as a basis for teaching parallel algorithms, and several examples of algorithms coded in the language are described.
Lazy task creation: a technique for increasing the granularity of parallel programs
TLDR
This paper rejects the simpler load-based inlining method, where tasks are combined based on dynamic load level, in favor of the safer and more robust lazy task creation method, which allows efficient execution of naturally expressed algorithms of a substantially finer grain than possible with previous parallel Lisp systems.
Functional programming for loosely-coupled multiprocessors
  • P. Kelly
  • Computer Science
    Research monographs in parallel and distributed computing
  • 1989
TLDR
This book proposes a new high level approach to programming that addresses the pragmatic issue of how a computation is distributed across a machine, based on functional programming and has significant advantages over existing comparable approaches, extending the domain of functional programming to include computer architectures in which communication costs are not negligible.
Algorithmic Skeletons: Structured Management of Parallel Computation
TLDR
This book introduces a new approach to the design and implementation of software systems which will help users of large scale parallel systems coordinate many concurrent activities toward a single goal and proposes a selection of independent algorithmic skeletons which describes the structure of a particular style of algorithm.
Architecture-independent parallel computation
TLDR
It is shown that the Bird-Meertens formalism is universal over all four architecture classes and that nontrivial restrictions of functional programming languages exist that can be efficiently executed on disparate architectures.
Multiprocessor execution of functional programs
  • B. Goldberg
  • Computer Science
    International Journal of Parallel Programming
  • 2005
TLDR
This paper describes research that was performed to demonstrate that multiprocessor execution of functional programs on current multip rocessors is feasible, and results in a significant reduction in their execution times.
The case for high-level parallel programming in ZPL
TLDR
ZPL is a high level language that offers competitive performance and portability, as well as programming conveniences lacking in low level approaches, and simplifies the task of programming for parallel computers-without sacrificing efficiency.
Connection Machine Lisp: fine-grained parallel symbolic processing
TLDR
A new data structure, the xapping, that is like a sparse array whose elements can be processed in parallel, suitable for implementation by fine.grained parallel computers as the Connection Machine System and NON- VON.
...
1
2
...