ACM Home Page
Please provide us with feedback. Feedback
Parallel destructive updating in strict functional languages
Full text PdfPdf (906 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1994 ACM conference on LISP and functional programming table of contents
Orlando, Florida, United States
Pages: 263 - 272  
Year of Publication: 1994
ISBN:0-89791-643-3
Also published in ...
Authors
A. V. S. Sastry  Department of Computer Science, University of Oregon, Eugene, OR
William Clinger  Department of Computer Science, University of Oregon, Eugene, OR
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 21,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/182409.182486
What is a DOI?

ABSTRACT

In our recent paper, we gave an efficient interprocedural update analysis algorithm for strict functional languages with flat arrays and sequential evaluation. In this paper, we show that the same algorithm extends to a parallel functional language with additional constructs for partitioning and combining arrays. Even with parallel evaluation, the complexity of the analysis remains polynomial. The analysis has been implemented and the results show that several numerical algorithms such as direct and iterative methods for solving linear equations, LU, Cholesky, and QR factorizations, multigrid methods for solving partial differential equations, and non-numeric algorithms such as sorting can be implemented functionally with all updates made destructive. We describe a new array construct to specify a collection of updates on an array and show that problems like histogram, inverse permutation, and polynomial multiplication have efficient parallel functional solutions. Monolithic array operators can be considered as a special case of this new construct.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
4
 
5
6
7
8
 
9
 
10
G. H. Golub. Matrix Computations. The Johns Hopkins University Press, 1988.
 
11
12
 
13
14
 
15
 
16
J. Guzm~n and P. Hud~k. Singlo-three~ded polymorphic lambda calculus. In IEEE Symposium on Logic in Computer Science, 1990.
 
17
18
 
19
P. Hudak. Mutable abstract datatypes or how to have your state and munge it too. Technical report, Department of Computer Science, Yale University, 1993.
 
20
R. Nikhil. Id (version 90.0) reference manual. Technical Report CSG Memo 284-1, MIT, 545 Technology Square, Cambridge, MA 02139, August 1990.
 
21
22
23
 
24
P. Sestoft. Replacing function parameters with global variables. Master's thesis, DIKU, University of Copenhagen, Oct. 1988.
25
26
 
27
 
28
29
 
30
P. Wadler. Linear types can change the world! In M. Broy and C. B. Jones, editors, Programming Concepts and Methods. North Holland, 1990. Presented at IFiP TC2 Working Conference on Programming Concepts and Methods, Sea of Galilee, Israel, April 1990.


Collaborative Colleagues:
A. V. S. Sastry: colleagues
William Clinger: colleagues