dacapobench / dacapobench

The DaCapo benchmark suite

Home Page:https://www.dacapobench.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Certain benchmarks not respecting `-t`

caizixian opened this issue · comments

  • For biojava and jme, there's seem to be only one worker thread spawned (I checked with jstack) regardless the -t set.

  • For h2o and graphchi, the number of threads is always the number of hardware threads (htop shows good core utilization even with -t 1).

  • As for kafka, because it has client threads, server threads, and a bunch of auxiliary threads, it's harder to tell, but I did ls /proc/$(pidof java)/task/* | wc -l, and for -t 1 and -t 32, they both stabilize at round the same number of threads, and the steady state performance is the same, so I'm fairly sure the -t flag is not doing what it is supposed to do.

  • biojava

  • jme

  • h2o

  • graphchi

  • kafka

Thanks Zixian. I'll start investigating.

I'll put kafka to one side for now since we're doing a deeper look at a related issue in #247 and #248.

I've spent some time looking at biojava. I think it's behaving as expected.

However the config file incorrectly says that it's externally multi-threaded. It does not take a thread count as an argument. Instead it controls parallelism internally using a thread pool. However, this workload shows very little parallelism.

See #256.

it controls parallelism internally using a thread pool.

I don't think that's right. I couldn't find the code indicating that a thread pool is used. As far as I can tell, all work is done by the main thread.