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?