<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<HEAD><!-- Template generated by Exclaimer Template Editor on 11:04:50 Thursday, 7 February 2013 -->
<STYLE type=text/css>P.52562654-851b-4305-a1a1-b72e8dd7fb7d {
        MARGIN: 0cm 0cm 0pt
}
LI.52562654-851b-4305-a1a1-b72e8dd7fb7d {
        MARGIN: 0cm 0cm 0pt
}
DIV.52562654-851b-4305-a1a1-b72e8dd7fb7d {
        MARGIN: 0cm 0cm 0pt
}
TABLE.52562654-851b-4305-a1a1-b72e8dd7fb7dTable {
        MARGIN: 0cm 0cm 0pt
}
DIV.Section1 {
        page: Section1
}
</STYLE>

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<meta name="Generator" content="Microsoft Word 12 (filtered medium)" />
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:466897824;
        mso-list-type:hybrid;
        mso-list-template-ids:-1787025020 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:864949722;
        mso-list-type:hybrid;
        mso-list-template-ids:-327888990 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2
        {mso-list-id:1635604078;
        mso-list-type:hybrid;
        mso-list-template-ids:-63006128 -1448213824 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:16.0pt;
        mso-fareast-font-family:Calibri;
        color:windowtext;
        mso-ansi-font-weight:normal;}
@list l3
        {mso-list-id:2117944927;
        mso-list-type:hybrid;
        mso-list-template-ids:-1613350152 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l3:level1
        {mso-level-start-at:0;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4
        {mso-list-id:2123570375;
        mso-list-type:hybrid;
        mso-list-template-ids:637455294 2017886716 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l4:level1
        {mso-level-start-at:0;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        mso-ansi-font-size:16.0pt;
        mso-fareast-font-family:Calibri;
        color:windowtext;
        mso-ansi-font-weight:normal;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</HEAD>

<BODY lang="EN-US" link="blue" vlink="purple">
<P>
<div class="WordSection1">
<p class="MsoNormal"><span style=font-size:16.0pt>Let&#8217;s say that a start-of-day, every day, we generate a giant 2,000&#43; &nbsp;rule .DRL, that we then use to construct into a
<b>single</b> run-time KnowledgeBase reference.&nbsp; We then construct a <b>single</b> run-time KnowledgeSession reference (also at start of day).&nbsp; Throughout the day, all day, facts &#8220;arrive&#8221; asynchronously into our expert system.&nbsp; When a fact &#8220;arrives&#8221;, we synchronously
 place the fact onto our single KS and call .fireAllRules(), which in turn synchronously outputs answers that satisfy our &#8220;what&#8217;s the next step?&#8221; decision requirements.&nbsp;
<o:p></o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt>We have this working very well, but we have the ambition to achieve more.&nbsp; &nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt>We want &nbsp;to attempt to scale this solution to accommodate the high-frequency simultaneous &#8220;arrival&#8221; of many facts.&nbsp; We have at our disposal a 24xCPU 128 gb Linux-based compute resource (nice, right?) &#8230; so,
 ideally, we have the ambition to potentially accommodate the simultaneous arrival of 24 facts into our expert system.<o:p></o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt>Assuming that all of our 2,000&#43; 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).&nbsp;&nbsp; As facts arrive throughout the day, those that arrive simultaneously are Queue&#8217;d to the TPE, that then delegates the fact&#8217;s need for service to a task Runnable,&nbsp; which in turn calls a KSPool[i].fireAllRules()
 (with isolation to KBPool[i]).&nbsp; In such a scheme, we would potentially be able to render decisions concurrently when facts arrive simultaneously ( capacity 24).<o:p></o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt>Is this design ambition common w/in current DROOLs use cases?&nbsp; Does the current (or future) DROOLS offering include any in-place capability to Pool KS or Pool KB?&nbsp; If not, are there any potential DROOLs concerns
 or &#8220;gotchas&#8221; wrt to our pursuing this ambition (in a &#8220;let&#8217;s build this now!&#8221; prototype)?&nbsp;
<o:p></o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt>As always, tremendous thanks to all in this community forum.<o:p></o:p></span></p>
<p class="MsoNormal"><span style=font-size:16.0pt><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><b><span style=font-size:12.0pt;color:gray><o:p>&nbsp;</o:p></span></b></p>
<p class="MsoNormal"><b><span style=color:gray>Ben D Cotton III</span></b><span style=font-size:9.0pt;color:gray><br />
Morgan Stanley &amp; Co.<br />
OTC Derivatives Clearing Technology <br />
1221 AOTA Rockefeller Ctr - Flr 27<br />
New York, NY 10020<br />
(212)762.9094<br />
<a href="mailto:ben.cotton@ms.com"><span style=color:gray>ben.cotton@ms.com</span></a>
<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<BR /><BR />
<HR id=HR1 />
<BR /><SPAN style="FONT-FAMILY: Arial; COLOR: #808080; FONT-SIZE: 7.5pt">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: <A style="FONT-FAMILY: Arial; COLOR: #808080; FONT-SIZE: 7.5pt" href="http://www.morganstanley.com/disclaimers">http://www.morganstanley.com/disclaimers</A> 
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.</SPAN><BR />
<P></P>
<P></P></P></BODY>
</HTML>