Bulk operations: the evidence for thread wasted joining

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu Aug 2 06:52:04 PDT 2012

On 08/01/2012 08:13 PM, Aleksey Shipilev wrote:
> Second, and more important, is to notice how many threads are wasted
> join-ing stuff. Of course, there is an open question whether these
> threads would do anything useful should they not be joined. There is the
> evidence though all threads are either running or busy on joining, which
> may give us the intuition there *is* indeed the work to do.

At this point, I can actually make a stronger argument. fjp-trace is now
able to infer how many tasks there is in each worker queue. Now, you can
cross-reference [3] and [5]. On [5] there is a color code for number of
elements in worker queue. You can clearly see free subtasks are indeed
are available up to the point when there are idle threads.


[3] http://shipilev.net/pub/jdk/lambda/bulk-joins-trouble-1/trace.png
[5] http://shipilev.net/pub/jdk/lambda/bulk-joins-trouble-1/queue-graph.png

More information about the lambda-dev mailing list