Hostname: page-component-8448b6f56d-cfpbc Total loading time: 0 Render date: 2024-04-23T19:04:59.293Z Has data issue: false hasContentIssue false

Parallel functional programming on recursively defined data via data-parallel recursion

Published online by Cambridge University Press:  01 July 1999

SUSUMU NISHIMURA
Affiliation:
Research Institute for Mathematical Sciences, Kyoto University, Sakyo-ku, Kyoto 606-8502, Japan (e-mail: nisimura@kurims.kyoto-u.ac.jp, ohori@kurims.kyoto-u.ac.jp)
ATSUSHI OHORI
Affiliation:
Research Institute for Mathematical Sciences, Kyoto University, Sakyo-ku, Kyoto 606-8502, Japan (e-mail: nisimura@kurims.kyoto-u.ac.jp, ohori@kurims.kyoto-u.ac.jp)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

This article proposes a new language mechanism for data-parallel processing of dynamically allocated recursively defined data. Different from the conventional array-based data- parallelism, it allows parallel processing of general recursively defined data such as lists or trees in a functional way. This is achieved by representing a recursively defined datum as a system of equations, and defining new language constructs for parallel transformation of a system of equations. By integrating them with a higher-order functional language, we obtain a functional programming language suitable for describing data-parallel algorithms on recursively defined data in a declarative way. The language has an ML style polymorphic type system and a type sound operational semantics that uniformly integrates the parallel evaluation mechanism with the semantics of a typed functional language. We also show the intended parallel execution model behind the formal semantics, assuming an idealized distributed memory multicomputer.

Type
Research Article
Copyright
© 1999 Cambridge University Press

Footnotes

A preliminary summary of some of the results of this article appeared in the Proceedings of the Workshop on Theory and Practice of Parallel Programming, Sendai Japan (LNCS 907, 1995, under the title “A Calculus for exploiting data parallelism on recursively defined data.”
Submit a response

Discussions

No Discussions have been published for this article.