|
|
OpenSolaris Project: Coarse Data Flow ParallelismView the leaders for this projectProject Observers Endorsing communitiesHPC DeveloperAs the number of processors and the number of cores per processor continue to increase, shared memory parallel processing continues to grow in importance. It has long been recognized that data flow is a superior model for parallel programming. Despite much research into data flow machines and languages, there have been no machines produced to date that are commercially successful. The goal of this project is to promote data flow parallelism on industry standard control flow chips. The CORD (COarse Region Data flow) Framework provides developers with an API for writing data flow programs. CORD provides a simple region based paradigm to describe algorithms in terms of operations on data regions. From this definition, a dependency graph is derived and used to direct parallel execution. This allows for a combination of task and data parallelism that approaches the theoretically maximum as the granularity of the operations is made finer. CORD contains generic support for data flow programming that can be extended to specific problem domains. The current distribution contains an example of this with support for dense linear algebra and has been shown to be particularly effected for blocked matrix algorithms.
|