<html 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>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@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:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:131673810;
mso-list-type:hybrid;
mso-list-template-ids:1728970778 -1958468588 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l0:level1
{mso-level-number-format:alpha-lower;
mso-level-text:"%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:54.0pt;
text-indent:-18.0pt;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:90.0pt;
text-indent:-18.0pt;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:126.0pt;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:162.0pt;
text-indent:-18.0pt;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:198.0pt;
text-indent:-18.0pt;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:234.0pt;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:270.0pt;
text-indent:-18.0pt;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:306.0pt;
text-indent:-18.0pt;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
margin-left:342.0pt;
text-indent:-9.0pt;}
@list l1
{mso-list-id:620454386;
mso-list-type:hybrid;
mso-list-template-ids:-1597319634 548668428 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l1:level1
{mso-level-text:%1-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l1:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l1:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l2
{mso-list-id:971590674;
mso-list-template-ids:564316270;}
@list l2:level1
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level3
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level4
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level6
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level7
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l2:level9
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l3
{mso-list-id:1584952267;
mso-list-template-ids:7496072;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style>
</head>
<body lang="EN-IE" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Thanks for the comments Russ,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regarding the agents mockups we do have those that Michele built for the SDC demonstrator. They load a mockup CXL and NVMEoF fabric and can take a post and everything. SO when Sunfish identifies an agent it will redirect the post towards
the said agent and it will get back an OK unless we do stupid stuff like re-creating an object with same id etc etc.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">On the one system being part of both (multiple) fabrics you touch a good point that we have already discussed on our side. I see two possible directions that still have an unsolved issue, though.<o:p></o:p></p>
<ol style="margin-top:0cm" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l1 level1 lfo3">We have an agent owning the system, let’s say the CXL one. In that system then we also have a NIC with endpoint connected to the switch serving the NVMe fabric. The only thing that
requires understanding is how in the first place is the CXL agent expressing a system with a component connected to something that is not in the in sight for the CXL agent (i.e., the port to which the NIC endpoint is connected to in the NVMe fabric)<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l1 level1 lfo3">Have a third hardware agent that is only taking care of the systems, but then we have the above problem with both fabrics. As in, the system would be connected to two fabrics that
do not exist prior to the registration with Sunfish. <o:p></o:p></li></ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I believe that for this demo we can just assume (1) and “manually” resolve the missing link at registration time.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We do have some example code and objects that I had prepared for SC22 that create a memorychunk out of a CXL device and attach it to to a system.
<o:p></o:p></p>
<p class="MsoNormal">Let me also update the document with the creation and binding of the memory chunk.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have created a private repository where we can collect all the demo material (including the updated document):
<a href="https://github.com/OFMFWG/SC23-Material">https://github.com/OFMFWG/SC23-Material</a><o:p></o:p></p>
<p class="MsoNormal">All OFMFWG users have access to it. From now on I will post everything in there instead of attaching to emails.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Christian<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><b><span style="mso-ligatures:none;mso-fareast-language:EN-GB">Christian Pinto, Ph.D.<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="mso-ligatures:none;mso-fareast-language:EN-GB">Research Scientist<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-ligatures:none;mso-fareast-language:EN-GB">IBM Research Europe - Ireland <o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Herrell, Russ W (Senior System Architect) <russ.herrell@hpe.com><br>
<b>Date: </b>Monday, 25 September 2023 at 19:07<br>
<b>To: </b>CHRISTIAN PINTO <Christian.Pinto@ibm.com>, ofmfwg@lists.openfabrics.org <ofmfwg@lists.openfabrics.org><br>
<b>Cc: </b>Aguilar, Michael J. <mjaguil@sandia.gov>, Cayton, Phil <phil.cayton@intel.com>, Doug Ledford <dledford@redhat.com>, Ahlvers, Richelle <richelle.ahlvers@intel.com><br>
<b>Subject: </b>[EXTERNAL] RE: Sunfish Redfish 2023 demonstration</span><span style="font-size:12.0pt;color:black;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">I agree with what I think is the purpose of the demo as described in the outline, which is to show: Sunfish aggregation of multiple Agent inventories (A CXL fabric
Agent, and a Swordfish NVMe JBOD? Agent) The ability to query Sunfish to locate <o:p>
</o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white"><o:p></o:p></span></p>
</div>
<p class="MsoNormal">I agree with what I think is the purpose of the demo as described in the outline, which is to show:</p>
<ol style="margin-top:0cm" start="1" type="a">
<li class="MsoListParagraph" style="margin-left:18.0pt;mso-list:l0 level1 lfo6">Sunfish aggregation of multiple Agent inventories (A CXL fabric Agent, and a Swordfish NVMe JBOD? Agent)<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:18.0pt;mso-list:l0 level1 lfo6">The ability to query Sunfish to locate composable resources (systems, storage and CXL FAM)<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:18.0pt;mso-list:l0 level1 lfo6">The ability to allocate MemoryChunks and storage volumes from the composable resources using Sunfish API (Redfish / Swordfish calls)<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:18.0pt;mso-list:l0 level1 lfo6">The ability to bind hosts (systems) to MemoryChunks and storage volumes via Redfish Connections<o:p></o:p></li></ol>
<p class="MsoNormal"> </p>
<p class="MsoNormal">To do the above, we need to break out Step 3 into two steps, as I don’t propose we start the demo with predefined MemoryChunks and Volumes:</p>
<p class="MsoNormal"> 3.1) Retrieve the MemoryDomains from the CXL fabric tree, create one or two MemoryChunks out of these ‘memory pools’, and do the same with a storage pool</p>
<p class="MsoNormal"> 3.2) Retrieve the list of Systems from the CXL fabric tree, create a connection between one and a new MemoryChunk or storage volume</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">If we wish to demonstrate binding <b>a single host</b> to a new storage volume
<b>and</b> to a MemoryChunk, we are missing one more ‘ability’ in the Sunfish reference code: We need the ability for Sunfish to notice that systems of the NVMeoF fabric and systems of the CXL fabric are the SAME systems.
<b>I propose we hide the need to resolve the multiple names for the same host by just making the names the same from both Agents in the mockups</b>. (If anyone asks, we just acknowledge that this reconciliation of multiple IDs is functionality which is required,
but not ready for demonstration yet.)</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">So, we are missing the discovery of resource pools and the creation of explicit sub-sets of them in step 3.1 and the accompanying functionality in the code stacks.</p>
<p class="MsoNormal">We also do not have the correct mockups for the two Agents, which is another item that needs to be added to the ‘missing’ list. Everything else looks good.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I suggest we work through the demo topology this Friday, and then create specific mockups that would be the proper models for the demo resources. Once we have the demo topology fixed, we can talk through how the GUI can most easily display
this inventory and enable the GUI user to manipulate the components to demo the capabilities we want to show off.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Thoughts?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Russ</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-left:36.0pt"><b><span lang="EN-US" style="mso-ligatures:none;mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="mso-ligatures:none;mso-fareast-language:EN-GB"> CHRISTIAN PINTO <Christian.Pinto@ibm.com>
<br>
<b>Sent:</b> Monday, September 25, 2023 8:15 AM<br>
<b>To:</b> ofmfwg@lists.openfabrics.org<br>
<b>Cc:</b> Aguilar, Michael J. <mjaguil@sandia.gov>; Cayton, Phil <phil.cayton@intel.com>; Herrell, Russ W (Senior System Architect) <russ.herrell@hpe.com>; Doug Ledford <dledford@redhat.com>; Ahlvers, Richelle <richelle.ahlvers@intel.com><br>
<b>Subject:</b> Sunfish Redfish 2023 demonstration</span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:36.0pt"> </p>
<p class="MsoNormal" style="margin-left:36.0pt">Hi All,</p>
<p class="MsoNormal" style="margin-left:36.0pt"> </p>
<p class="MsoNormal" style="margin-left:36.0pt">I have started working on a “script” for out demonstrator, mostly to identify what we have and what it is missing. What I have so far is attached to this email.</p>
<p class="MsoNormal" style="margin-left:36.0pt">It appears the two main pieces we are missing are a GUI and the a rudimentary composition service. On Friday we should discuss who does what to make sure we arrive at SC with a demo.</p>
<p class="MsoNormal" style="margin-left:36.0pt"> </p>
<p class="MsoNormal" style="margin-left:36.0pt">Please, any comment or addition to the document are more than welcome.</p>
<p class="MsoNormal" style="margin-left:36.0pt"> </p>
<p class="MsoNormal" style="margin-left:36.0pt">Christian</p>
<p class="MsoNormal" style="margin-left:36.0pt"> </p>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><b><span style="mso-ligatures:none;mso-fareast-language:EN-GB">Christian Pinto, Ph.D.</span></b></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="mso-ligatures:none;mso-fareast-language:EN-GB">Research Scientist</span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="mso-ligatures:none;mso-fareast-language:EN-GB">IBM Research Europe - Ireland </span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:36.0pt"> </p>
</div>
</div>
</div>
</body>
</html>