ECJ can be multi threaded, look at the manual, various elements of
breeding, evaluating, etc can be multithreaded and you can specify
threads=cores to get full parallelism. I am running ECJ on 12 core and
using all of them, so shouldn't be an issue.
On Wed, Jun 19, 2013 at 5:13 AM, Bojan Janisch
<[log in to unmask]> wrote:
> Hello everyone,
> I'm using ECJ for rule-creation and -evaluation. Recently I can use ECJ on 20 cores
> of a server which runs very fast at the beginning. But after a while the CPU-usage
> goes down to 1 core which I don't understand.
> The evaluation process looks so:
> Step 1: Create a valid rule from GPTree
> Step 2: If rule contains nothing useful skip everything else, set bad score and go to Step 6
> Step 3: Rule contains something useful, so load the testdata
> Step 4: Run the rule through Drools and testdata (Drools is a ruleengine which also runs multithreaded)
> Step 5: Compare the output of Drools and a goldstandard (the goldstandard and some more information are one time loaded at setup)
> Step 6: Put the score, returned by the comparison, into the koza fitness
> I don't know why but after some time, ECJ is only using 1 core.
> Does someone got an idea where the problem could come from?