Sequential algorithms, deterministic parallelism, and intensional expressiveness

  • Authors:
  • Stephen Brookes;Denis Dancanet

  • Affiliations:
  • School of Computer Science, Carnegie Mellon University, Pittsburgh, PA;School of Computer Science, Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

We call language L1 intensionally more expressive than L2 if there are functions which can be computed faster in L1 than in L2. We study the intensional expressiveness of several languages: the Berry-Curien programming language of sequential algorithms, CDS0, a deterministic parallel extension to it, named CDSP, and various parallel extensions to the functional programming language PCF. The paper consists of two parts.In the first part, we show that CDS0 can compute the minimum of two numbers n and p in unary representation in time O(min(n,p)). However, it cannot compute a “natural” version of this function. CDSP allows us to compute this function, as well as functions like parallel-or. This work can be seen as an extension of the work of Colson with primitive recursive algorithms to the setting of sequential algorithms.In the second part, we show that deterministic parallelism adds intensional expressiveness, settling a “folk” conjecture from the literature in the negative. We show that CDSP is more expressive intensionally than CDS0. We also study three parallel extensions to PCF: parallel-or (por) and parallel conditionals on booleans (pif&ogr;) and integers (pif&igr;). The situation is more complicated there: pif&igr; is still more expressive than both pif&ogr; and por. However, pif&igr; still is not as expressive as the deterministic query construct of CDSP. Thus, we identify a hierarchy of intensional expressiveness for deterministic parallelism.