Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Using the run-time sizes of data structures to guide parallel-thread creation
Huelsbergen L., Larus J., Aiken A. ACM SIGPLAN Lisp PointersVII (3):79-90,1994.Type:Article
Date Reviewed: Mar 1 1995

The overhead of spawning a new task to compute some expression in a functional language is often high. It is therefore important to know that the amount of work that the spawned task will do is enough to cover the costs of its creation, initial setup, and destruction.

The proposed solution uses a combination of abstract interpretation at compile time, to find those places where complexity depends on the size of data structures, and runtime approximation of the actual sizes of data structures as computation proceeds. Results using a functional language on a shared-memory parallel computer show execution time reductions as large as 20 percent.

The actual data structures used are cons lists. I remain mystified by the continual appearance of a data structure so inherently sequential in functional languages intended for parallel execution. Cons lists are relatively easy to analyze, but they are not very useful for solving problems in parallel. As the authors point out, their idea extends to more useful data structures, such as join lists and trees, but it becomes much more complex. Its actual performance on richer data structures remains an open question.

Surprisingly, the authors do not discuss the large body of European work on compilation of functional languages for parallelism. Many systems have actually been built, so their designers must have faced up to the issue of subtask creation. Indeed some, such as Flagship and Grip, have had to do it for distributed-memory targets, where the costs are correspondingly higher. A comparison of the present result with existing techniques would have strengthened the paper.

Reviewer:  D. B. Skillicorn Review #: CR118659 (9503-0165)
Bookmark and Share
 
Parallel Programming (D.1.3 ... )
 
 
Data Types And Structures (D.3.3 ... )
 
 
Lambda Calculus And Related Systems (F.4.1 ... )
 
 
Standard Ml (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Parallel Programming": Date
How to write parallel programs: a first course
Carriero N. (ed), Gelernter D. (ed), MIT Press, Cambridge, MA, 1990. Type: Book (9780262031714)
Jul 1 1992
Parallel computer systems
Koskela R., Simmons M., ACM Press, New York, NY, 1990. Type: Book (9780201509373)
May 1 1992
Parallel functional languages and compilers
Szymanski B. (ed), ACM Press, New York, NY, 1991. Type: Book (9780201522433)
Sep 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy