Enhancing Functional and Irregular Parallelism: Stateful Functions and their Semantics

  • Authors:
  • Isabelle Attali;Denis Caromel;Yung-Syau Chen;Jean-Luc Gaudiot;Andrew L. Wendelborn

  • Affiliations:
  • INRIA Sophia Antipolis, Université de Nice, Sophia Antipolis, BP 93, 06902-Sophia Antipolis Cedex, France;INRIA Sophia Antipolis, Université de Nice, Sophia Antipolis, BP 93, 06902-Sophia Antipolis Cedex, France;Department of Electrical Engineering, 3740 McClintock Avenue, EEB336, University of Southern California, Los Angeles, California 90089-2563;Department of Electrical Engineering, 3740 McClintock Avenue, EEB336, University of Southern California, Los Angeles, California 90089-2563. gaudiot@usc.edu;Department of Computer Science, University of Adelaide, Adelaide, SA 5005, Australia

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

We describe an approach in which stateful computations can be expressed within the framework of a functional language. We consider algorithms with nondeterministic intermediate results and a deterministic final result which is obtained for any series of intermediate values of some variable shared among parallel tasks or, in other words, the ordering of updates to the variable does not matter. Functional languages normally abstract away from explicit synchronization and exploit parallelism between separate uses of a variable. But in some cases we can relax that requirement with both parallelism and determinate computation. To increase its expressiveness and efficiency for this important class of problems, we propose to extend the Sisal language with state variables encapsulated within stateful functions. We have used Centaur to specify and construct a semantic-based environment. We illustrate the proposed language extension with analysis of several examples, and comparison with other languages.