[rules-users] ambition = ThreadPoolExecutor delegating to KBPool(s) & KSPools(s)

Jeremy Ary jeremy.ary at gmail.com
Thu Feb 7 11:32:21 EST 2013


Are you in a place where your rules have become sensitive to time and
order? If so, have you considered CEP? If it's less about that and more
about getting the work done ASAP, you could also investigate a messaging
integration pattern to assist with all the pooling/throttling/queueing
needs you've mentioned.


On Thu, Feb 7, 2013 at 10:04 AM, Cotton, Ben
<Ben.Cotton at morganstanley.com>wrote:

>   Let’s say that a start-of-day, every day, we generate a giant 2,000+
>  rule .DRL, that we then use to construct into a *single* run-time
> KnowledgeBase reference.  We then construct a *single* run-time
> KnowledgeSession reference (also at start of day).  Throughout the day, all
> day, facts “arrive” asynchronously into our expert system.  When a fact
> “arrives”, we synchronously place the fact onto our single KS and call
> .fireAllRules(), which in turn synchronously outputs answers that satisfy
> our “what’s the next step?” decision requirements.  ****
>
> ** **
>
> We have this working very well, but we have the ambition to achieve more.
>  ****
>
> ** **
>
> We want  to attempt to scale this solution to accommodate the
> high-frequency simultaneous “arrival” of many facts.  We have at our
> disposal a 24xCPU 128 gb Linux-based compute resource (nice, right?) … so,
> ideally, we have the ambition to potentially accommodate the simultaneous
> arrival of 24 facts into our expert system.****
>
> ** **
>
> Assuming that all of our 2,000+ rules are completely isolated (i.e. no
> rule i ever depends on any rule j, for all i,j) we want to consider
> building (at start of day) a KSPool (size 24) , KBPool (size 24), and a
> ThreadPoolExecutor (size 24, backed by BlockingQueue).   As facts arrive
> throughout the day, those that arrive simultaneously are Queue’d to the
> TPE, that then delegates the fact’s need for service to a task Runnable,
> which in turn calls a KSPool[i].fireAllRules() (with isolation to
> KBPool[i]).  In such a scheme, we would potentially be able to render
> decisions concurrently when facts arrive simultaneously ( capacity 24).***
> *
>
> ** **
>
> Is this design ambition common w/in current DROOLs use cases?  Does the
> current (or future) DROOLS offering include any in-place capability to Pool
> KS or Pool KB?  If not, are there any potential DROOLs concerns or
> “gotchas” wrt to our pursuing this ambition (in a “let’s build this now!”
> prototype)?  ****
>
> ** **
>
> As always, tremendous thanks to all in this community forum.****
>
> ** **
>
> * *
>
> *Ben D Cotton III*
> Morgan Stanley & Co.
> OTC Derivatives Clearing Technology
> 1221 AOTA Rockefeller Ctr - Flr 27
> New York, NY 10020
> (212)762.9094
> ben.cotton at ms.com ****
>
> ** **
>
> ** **
>
>
> ------------------------------
>
> NOTICE: Morgan Stanley is not acting as a municipal advisor and the
> opinions or views contained herein are not intended to be, and do not
> constitute, advice within the meaning of Section 975 of the Dodd-Frank Wall
> Street Reform and Consumer Protection Act. If you have received this
> communication in error, please destroy all electronic and paper copies and
> notify the sender immediately. Mistransmission is not intended to waive
> confidentiality or privilege. Morgan Stanley reserves the right, to the
> extent permitted under applicable law, to monitor electronic
> communications. This message is subject to terms available at the following
> link: http://www.morganstanley.com/disclaimers If you cannot access these
> links, please notify us by reply message and we will send the contents to
> you. By messaging with Morgan Stanley you consent to the foregoing.
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130207/caafb55b/attachment.html 


More information about the rules-users mailing list