<div dir="ltr">







<p class="">Rick,</p>
<p class=""><br></p>
<p class="">Thanks for you answer.  Could you explain more</p>
<p class="">about the NUMA architecture? The two NICs attached </p>
<p class="">to the same CPU you mentioned are on the client </p>
<p class="">side or the server side? How is the performance impacted </p><p class="">by the NUMA architecture given </p>
<p class="">that the client can balance traffic from the interfaces?</p>
<p class=""><br></p>
<p class="">Thanks,</p>
<p class="">Teng</p></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 20, 2015 at 5:03 PM, Rick Wagner <span dir="ltr"><<a href="mailto:rpwagner@sdsc.edu" target="_blank">rpwagner@sdsc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Teng,<br>
<br>
It is the mode of your LACP that determines with physical interface the packets travel over, which can be configured to hash on client IP and port. Each client will open 3 TCP sockets for Lustre traffic to each server, and given a reasonable number of clients
 these will balance over interfaces in the link aggregation group. If you have bonded interfaces on the clients, a similar thing will happen as they connect to multiple servers. The caveat is that performance can be impacted by the NUMA architecture of your
 server. Basically, it's better to have both NICs attached to the same CPU.<br>
<br>
--Rick<br>
<br>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma"><b>From:</b> <a href="mailto:lustre-discuss-bounces@lists.lustre.org" target="_blank">lustre-discuss-bounces@lists.lustre.org</a> [<a href="mailto:lustre-discuss-bounces@lists.lustre.org" target="_blank">lustre-discuss-bounces@lists.lustre.org</a>] on behalf of teng wang [<a href="mailto:tzw0019@gmail.com" target="_blank">tzw0019@gmail.com</a>]<br>
<b>Sent:</b> Friday, February 20, 2015 1:40 PM<br>
<b>To:</b> Andrus, Brian Contractor; <a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a><br>
<b>Subject:</b> Re: [Lustre-discuss] Questions about the LNET routing<br>
</font><br>
</div><div><div class="h5">
<div></div>
<div>
<div dir="ltr">
<p>Hi Andrus, thanks for your answer.</p>
<p><br>
</p>
<p>Without bonding, is there any preference</p>
<p>for LNET to route from the two interfaces?</p>
<p>Even when we bond the two interfaces together,</p>
<p>I think LNET should still choose between the different</p>
<p>interfaces, although they share the same address.</p>
<p>Is there any preference in this situation?</p>
<p><br>
</p>
<p>Thanks,</p>
<p>Teng</p>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Feb 19, 2015 at 3:55 PM, Andrus, Brian Contractor
<span dir="ltr"><<a href="mailto:bdandrus@nps.edu" target="_blank">bdandrus@nps.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Teng,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I believe it would depend on how you have your interfaces configured.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I seems that you have them both on the same subnet and being accessed by the same client.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Is this the case?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If they are on the same subnet, I would expect you would bond them (bond0) rather than have two separate IPs for them. Then you get to control how/where the
 data flows at the networking level.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">You may want to check on the nodes to see what they see. (lctl peer_list)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If they are different subnets or networks, you can set that in the options for the lustre module for lnet.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">For example, we have both ib and tcp. I give ib the priority for the best performance, but if ib is unavailable, it falls back to tcp. That could just as
 well be two Ethernet cards on two networks as well.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Brian Andrus<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">ITACS/Research Computing<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Naval Postgraduate School<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Monterey, California<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">voice:
<a href="tel:831-656-6238" value="+18316566238" target="_blank">831-656-6238</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a href="mailto:lustre-discuss-bounces@lists.lustre.org" target="_blank">lustre-discuss-bounces@lists.lustre.org</a> [mailto:<a href="mailto:lustre-discuss-bounces@lists.lustre.org" target="_blank">lustre-discuss-bounces@lists.lustre.org</a>]
<b>On Behalf Of </b>teng wang<br>
<b>Sent:</b> Thursday, February 19, 2015 1:28 PM<br>
<b>To:</b> <a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a><br>
<b>Subject:</b> [Lustre-discuss] Questions about the LNET routing<u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">I have a basic question about the LNET.  Will the data belonging<u></u><u></u></p>
<p class="MsoNormal">to the same object be routed from the same interface? For example,<u></u><u></u></p>
<p class="MsoNormal">if a node has multiple network interfaces and two processes are<u></u><u></u></p>
<p class="MsoNormal">running on the same node writing to the same shared file, striped<u></u><u></u></p>
<p class="MsoNormal">across 1 OST. <u></u><u></u></p>
<p class="MsoNormal">Process 1 writes like:<u></u><u></u></p>
<p class="MsoNormal">write chunk1 <u></u><u></u></p>
<p class="MsoNormal">write chunk2<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Process 2 writes like:<u></u><u></u></p>
<p class="MsoNormal">write chunk3<u></u><u></u></p>
<p class="MsoNormal">write chunk4<u></u><u></u></p>
<p class="MsoNormal">If Process 1 and Process2 are pinned to two different network interfaces,<u></u><u></u></p>
<p class="MsoNormal">say Eth0 and Eth1. Then from the OSC side, will these chunks be routed <u></u><u></u></p>
<p class="MsoNormal">to the OST from the same interface (E.g. All the four chunks through<u></u><u></u></p>
<p class="MsoNormal">Eth0)?  If so, what if they write different objects that come to the same <u></u><u></u></p>
<p class="MsoNormal">OST (E.g. Process1 write File1, Process2 write file2, file1 and file2 are<u></u><u></u></p>
<p class="MsoNormal">striped over the same OST)?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Teng <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br></div>