|
Boost : |
Subject: Re: [boost] [threadpool] mixture of recursive invokation and fibers?
From: k-oli_at_[hidden]
Date: 2008-11-05 15:05:24
Hi Vicente,
please ignore my last post.
I've uploaded a new version v14.
First work-stealing will happen when possible - can not be disabled.
I believe we don't need functions to enable/disable fork/join. Because
fork/join is implicit if the code calls task< R >::get() in a worker thread
(if blocking is desired I can provide task< R >::get( block() ) ).
The sub-tasks are stored inside the local worker queue (work-stealing queue).
The worker-queue works like a stack if the worker thread (owning the local
queue) puts and takes sub-tasks from it (the stack represents the task-tree).
Thatswhy we don't need such things like special tasks like TBB.
The only open item is how to solve signaling between parent-task (sendig
signal) and sub-task (waiting for signal) using a condition variable.
I hope fibers can help.
regards,
Oliver
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk