Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2008-06-02 21:58:14


I wrote that

> If the scheduler performance is insufficient, it will not be able to
> maintain a low M. If it does manage to maintain a low M, then its
> performance is sufficient.

Now that I think about it, this isn't true for the typical fork-join
parallelism.

http://gee.cs.oswego.edu/dl/papers/fj.pdf

If we have for example an active function fib(n) that returns
fib(n-1)+fib(n-2), it will quickly generate a large N. In this case however,
if the task queue is actually a stack, it can be reduced in a single
execution as the older tasks will become ready as soon as the newer tasks
are done. (But it will take logN to fill it. On second thought, with a FIFO
policy it will be generated in a single pass and then reduced in logN
passes. So it's basically the same.)

Not that fork-join parallelism makes much sense for a single-threaded active
object. :-)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk