Boost logo

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