MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Parallelizing programs with streams

Download:
Download as a PDF | Download as a PS
by Yossi Veller, Amiram Yehudai
ftp://ftp.math.tau.ac.il/pub/amiram/stream.ps.Z
Add To MetaCart

Abstract:

This paper shows that introducing streams in a conventional programming language can achieve parallel executions of programs without explicit parallel constructs programmed by the user. Streams enable pipelining and spatial parallelism including the ability to have multiple copies of the same computing element. We believe this approach can be useful in complex applications that are hard to program efficiently for parallel computers. We present the language extensions we have used, including operations on streams, and commutative assignments that model the situations in which the order within a group of operations is not significant. We briefly describe a tool that analyzes a sequential program with streams and transforms it into a program that can run on a parallel computer. The resulting program is then executed by simulation on a shared memory computer. The analysis tool and the simulator are both driven by a table containing information about run time of basic operations. Finally, we present two example programs, integral computation and quicksort, show their parallel run time performance, and compare them with their conventional versions. 1

Citations

369 Programming Be Liberated from von Neumann Style? A Functional Style and its Algebra of Programs – Backus - 1978
264 The family of concurrent logic programming languages – Shapiro - 1989
160 Why systolic architectures – Kung - 1982
83 Determining average program execution times and their variance – Sarkar - 1989
67 Data Flow Program Graphs – Davis, Keller - 1982
8 An Eductive Interpreter for the Language pLucid – Faustini, Wadge - 1987
3 Portable, parallelizing pascal compiler – Gabber, Averbuch, et al. - 1993
1 Data Flow Languages. comp – Ackerman - 1982
1 Stream Data Anaysis in Prolog. The Practice of Prolog, Chapter 8 – Parker - 1990
1 The Structure and Analysis of Computer Programs – Abelson, sussman - 1985
1 Programming in Streams in Pascal)Like Language – Nakata, Sassa - 1991
1 Synchronizable Series Expressions: User's Manual of the OSS Macro Package & Overview of the Theory and Implementation. A.I. Memo no 958)959, Mass. institute of tech – Waters - 1987
1 Experience: we can Map Computations onto a Parallel Computer Efficiently – WARP