On Friday, 18 October 2013 at 16:31:13 UTC, tbttfox wrote:
My not currently not working implementation has the workers make a pull request from the master.

As far as I understand you just want something working right now? Then my suggestion would be to look into std.parallelism [0]. Create a task for each node without a parent. Let the tasks create new tasks for their children.

This would implement your concept quite well. The queue is actually the task queue of a thread pool. The nice thing, is that all this queueing and synchronization stuff is already implemented for you in the standard library.

You could try to make the DAG immutable and create a secondary data structure for the evaluation results.

[0] http://dlang.org/phobos/std_parallelism.html

Reply via email to