posted on 2012-08-14, 11:56authored byMichael Dever, Geoff W. Hamilton
Creating efficient parallel software can be a complicated and time consuming task, as there are many issues that need to be considered, such as race-conditions, thread-bound data dependencies and locking issues, among others. An automated parallelization system could solve such issues, and would be of huge bene t to developers. Such a system
would ideally take in a sequential program and produce, using program transformation, an
optimized, parallel and equivalent program, without human interaction. There are two main
approaches to the transformation of functional programs: fold/unfold based systems, based on the works of Burstall and Darlington [7], and calculational methods based systems, based on the Bird-Meertens Formalisms [3, 2, 31, 14, 1, 37]. In this paper we examine existing works on automating the parallelization process, speci cally that of functional languages and review and compare their contributions to the field.
History
Publication
13th Symposium on Trends in Functional Programming;