Friday, April 12, 2013

[plrqdaoc] Top-down parallel make

Given a top file of a computer program composed of many modules, automatically figure out the dependencies and compile them as much as possible in parallel.  This could have a very complicated parallelization pattern.

A directed graph.  Not necessarily acyclic, though it'll depend on the language exactly what to do about a cyclic chain of dependencies.  Perhaps emit an error message.

As the worst case, let the task of determining the direct dependencies of a given module be Turing-complete, perhaps a Turing-complete preprocessing language.  Perhaps speculation to avoid bottlenecks, though it requires rolling back if guessing wrong.

No comments :