[rules-users] Starting engine using fireUntilHalt and inserting no facts results in 50% CPU usage

Greg Barton greg_barton at yahoo.com
Mon Oct 25 16:18:55 EDT 2010


I was going to look at this at some point.  I guess that point will be tonight. :)

GreG

On Oct 25, 2010, at 15:02, Edson Tirelli <tirelli at post.com> wrote:

  No worries, it is a good starting point anyway. Hopefully someone
can continue from there or I will eventually fix it. Just a lot of
stuff in my plate already that have priority over this.

  Edson

2010/10/25 mardo <mardo at abicola.de>:
Unfortunately no, I just had a look how it was implemented (like
http://tutorials.jenkov.com/java-concurrency/thread-signaling.html#missedsig
nals) -> missed signals and noticed that it somehow didn't work as intended.

But no idea how to directly correct it, sorry.

-----Original Message-----
From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Edson Tirelli
Sent: Montag, 25. Oktober 2010 21:30
To: Rules Users List
Subject: Re: [rules-users] Starting engine using fireUntilHalt and inserting
no facts results in 50% CPU usage

  Do you have a solution/patch for it?

  Edson

2010/10/25 mardo <mardo at abicola.de>:
Luckily just stumbled upon this mail...

You can take a look at

http://drools-java-rules-engine.46999.n3.nabble.com/fireUntilHalt-and-OSGi-C
PU-load-td1022352.html

where I already provided a minimal example (don't know if it covers all
cases) and tracked it down to missedNotifyAll in DefaultAgenda

cheers



-----Original Message-----
From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Edson Tirelli
Sent: Montag, 25. Oktober 2010 21:17
To: Rules Users List
Subject: Re: [rules-users] Starting engine using fireUntilHalt and
inserting
no facts results in 50% CPU usage

 This is clearly a regression as Drools should be not be using busy
waits in fireUntilHalt(). It should use monitors and locks as it was
doing before.

 Can anyone open a JIRA? also, if anyone would be willing to take
investigate and fix this one, it would really help. Otherwise, I will
add it to my queue.

 Thanks,

  Edson

2010/10/25 Norman C <rent_my_time at yahoo.com>:


Note that the 100% CPU issue with fireUntiHalt is only with the 5.1
version of
Drools.  In 5.0.x, CPU is close to 0% when there are no rules to fire.  I
saw
this when I was testing upgrading to 5.1.

Norman



----- Original Message ----
From: jschmied <nabble at juergenschmied.de>
To: rules-users at lists.jboss.org
Sent: Sun, October 24, 2010 4:06:02 AM
Subject: Re: [rules-users] Starting engine using fireUntilHalt and
inserting no
facts results in 50% CPU usage


Hi!

fireUntilHalt uses one processor with 100%. You have a dualcore, so it's
50%. It's by design like this.

You can:
- Call fireAllRules after every insert if you have no ruleflow.

- Use fireAllRules in a loop with a small sleep and check for the end of
the
ruleflow in the loop:

while (prc.getState() == ProcessInstance.STATE_ACTIVE) {
    Threads.sleep(20);
    ksession.fireAllRules();
}

with both methods you get a low cpu load.

bye

juergen
--
View this message in context:


http://drools-java-rules-engine.46999.n3.nabble.com/Starting-engine-using-fi

reUntilHalt-and-inserting-no-facts-results-in-50-CPU-usage-tp1760370p1761821
.html

Sent from the Drools - User mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users





_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




--
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




--
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




-- 
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



      



More information about the rules-users mailing list