C/P/N/Q par vs. seq break-even analysis with 10ms think time

Doug Lea dl at cs.oswego.edu
Fri Oct 19 12:33:19 PDT 2012

On 10/18/12 13:31, Aleksey Shipilev wrote:
> On 10/17/2012 06:34 PM, Doug Lea wrote:
>>> Another thing is the interface between submitter and the FJP. I vaguely
>>> recall the infrastructure for allowing submitters to run the tasks
>>> themselves in in place, but how much effort that would take to get to at
>>> least experimental readiness?
>> It's there already (FJP.pollSubmission). But you probably have
>> in mind help-outs of subtasks rather than full submissions?
> Yes. I think making submitters to do initial splits and initial bulk
> wakeups would be good for FJP rampup.

Fortress solved this problem in a different way, by
forcing every thread in a program to be a ForkJoinWorkerThread
so that the top-level actions do not need to do FJP{invoke,submit};
they can use the much faster fork+{join,complete} that lets the
current thread help out with the computation, and so is much
less sensitive to wakeup lags, and has much lower break-even.
We cannot do this in Java proper, but it is possible to
add a few fields to the Thread class that would allow any
thread to transiently act as a member of the default pool.
This would require a fair number of other adjustments elsewhere.
but might be worth contemplating.


More information about the lambda-dev mailing list