We present an implementationof the functional language FASAN for automatic coarse-grain program parallelization on workstation clusters. It is designed primarily for recursive numerical algorithms with distributed tree-like data structures and it exploits the maximal inherent parallelism of a program. Based on the stream and data flow semantics of the language, the compiler generates C procedures for building the data flow graph as hynamic data structure. FASAN schedulers evaluate the function nodes in parallel, and provide for all necessary communication using the PVM library. The new concept of "wrapper streams" for tree data structures avoids superfluous synchronization.
展开▼