<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Ask the Core Team : Cluster, CCS</title><link>http://blogs.technet.com/askcore/archive/tags/Cluster/CCS/default.aspx</link><description>Tags: Cluster, CCS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>CCS v1 - How to setup network adapters and bindings on Compute nodes ?</title><link>http://blogs.technet.com/askcore/archive/2009/02/17/ccs-v1-how-to-setup-network-adapters-and-bindings-on-compute-nodes.aspx</link><pubDate>Wed, 18 Feb 2009 02:26:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3203736</guid><dc:creator>tomac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/askcore/comments/3203736.aspx</comments><wfw:commentRss>http://blogs.technet.com/askcore/commentrss.aspx?PostID=3203736</wfw:commentRss><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;QUESTIONS:     &lt;br /&gt;&lt;/b&gt;Is it important to configure the binding order on the &amp;quot;Adapters and Bindings&amp;quot; tab like in Microsoft Failover Clusters? &lt;/p&gt;  &lt;p&gt;This is located in Network Connections from Control Panel, by going to the Advanced drop down menu then selecting Advanced Setting. Especially when you have Infiniband (IB) network which probably should appear last on the list.&lt;/p&gt;  &lt;p&gt;So how can this order be controlled remotely from the head node (HN) and on each compute node (HN)? Any script to do this with &lt;b&gt;&lt;i&gt;clusrun&lt;/i&gt;&lt;/b&gt;?&lt;/p&gt;  &lt;p&gt;&lt;b&gt;ANSWER:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The order of the network binding is insignificant with CCS / MSMPI.   &lt;br /&gt;You should define the &amp;quot;Private&amp;quot; and MPI&amp;quot; networks from the TODO list on the HN.&lt;/p&gt;  &lt;p&gt;Moreover, CCS sets the hosts files on each CN with the cluster node's NetBIOS name to Private network IP address mapping. So the default NetBIOS name of a CN is resolved to the Private network address.&lt;/p&gt;  &lt;p&gt;What does matter, is the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If CCS is setup to only use Public for HN and CN, then go through the Manage Windows Firewall Setting (Wizard) under the Networking section of the To Do List and disable ICS/NAT.&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;If CCS is setup to only use Public/Private for HN and CN, then go through the Manage Windows Firewall Setting (Wizard) under the Networking section of the To Do List and enable ICS/NAT.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; When enabling ICS/NAT it act as a mini DHCP server to the CN, hence is the reason why a full blown DHCP Server does not need to be installed on the HN.&lt;/p&gt;  &lt;p&gt;The MPI net mask is passed for every executed task as an environment variable CCP_MPI_NETMASK, which &lt;b&gt;&lt;i&gt;mpiexec&lt;/i&gt;&lt;/b&gt; picks and uses for &lt;i&gt;mpi&lt;/i&gt; traffic.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://windowshpc.net/Forums/Pages/Default.aspx"&gt;For additional information regarding Microsoft Compute Cluster Server, please visit our Windows HPC (High Performance Computing) Community forums&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Author: Mike Rosado    &lt;br /&gt;Senior Support Engineer     &lt;br /&gt;Microsoft Enterprise Platforms Support&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3df56c0d-973c-4adc-9140-ee82da786c83" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/CCS" rel="tag"&gt;CCS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3203736" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/askcore/archive/tags/Cluster/default.aspx">Cluster</category><category domain="http://blogs.technet.com/askcore/archive/tags/CCS/default.aspx">CCS</category></item><item><title>CCS v1 - How does MPI network actually work without name resolution?</title><link>http://blogs.technet.com/askcore/archive/2009/02/17/ccs-v1-how-does-mpi-network-actually-work-without-name-resolution.aspx</link><pubDate>Wed, 18 Feb 2009 02:23:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3203734</guid><dc:creator>tomac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/askcore/comments/3203734.aspx</comments><wfw:commentRss>http://blogs.technet.com/askcore/commentrss.aspx?PostID=3203734</wfw:commentRss><description>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2f2ff4b0-b334-4dc3-b477-4b6ab4d7a7f7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Compute%20Cluster%20Server" rel="tag"&gt;Compute Cluster Server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CCS" rel="tag"&gt;CCS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;As you may already know, with the release of Windows Compute Cluster Server 2003 (CCS) we included Microsoft Message Passing Interface (MS‑MPI) implementation which is fully compatible with the reference MPICH2. This allows integration with Active Di&amp;#173;rectory and enables role based security for administra&amp;#173;tors and users, and the use of Microsoft Manage&amp;#173;ment Console (MMC) which provides a familiar adminis&amp;#173;trative and scheduling interface.&lt;/p&gt;  &lt;p&gt;&lt;a name="OLE_LINK10"&gt;&lt;/a&gt;&lt;a name="OLE_LINK9"&gt;The Microsoft CCS can use GbE, InfiniBand (IB), Myrinet, Quadrics, or legacy high-speed fabrics as interconnects for high performance computing. The majority of high performance computing clustered systems use GbE, but more and more customers these days prefer the high speed and low la&amp;#173;tency of interconnects such as InfiniBand or legacy specialty hardware. Our implementation of CCS supports all WSD-compatible fabrics.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is one of those things that you wake up some days wondering &amp;#8220;&lt;b&gt;&lt;i&gt;How does this thing actually work?&lt;/i&gt;&lt;/b&gt;&amp;#8221;&amp;#160; Which seems to be a simple question, but then after couple of discussions with the developer you realize that &amp;#8220;&lt;b&gt;&lt;i&gt;Hmm, actually it is not very clear or you say some magic is happening somewhere!&lt;/i&gt;&lt;/b&gt;&amp;#8221;&amp;#160; If you are trying to find out answers for the following questions, then listen up&amp;#8230;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What magic happens during MPI initialization? &lt;/li&gt;    &lt;li&gt;What are business cards, and how do MPI apps get these for other nodes?&lt;/li&gt;    &lt;li&gt;How MPI network works without name resolution? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What&amp;#8217;s more interesting that when we checked the test clusters with IB cards, we found that DNS and Default Gateway settings are not configured on IB network interface cards (NICs). There was no name resolution mechanism, on the MPI network at all. So how we force the MPI traffic using &lt;i&gt;mpich&lt;/i&gt; subnet mask without name resolution&amp;#8230;..&lt;/p&gt;  &lt;p&gt;After thoroughly discussing this with Mr MPI &lt;a href="http://blogs.technet.com/blogfiles/askcore/WindowsLiveWriter/CCSv1HowdoesMPInetworkactuallyworkwithou_F410/clip_image001_2.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="23" alt="clip_image001" src="http://blogs.technet.com/blogfiles/askcore/WindowsLiveWriter/CCSv1HowdoesMPInetworkactuallyworkwithou_F410/clip_image001_thumb.gif" width="23" border="0" /&gt;&lt;/a&gt;, here is a brief summary on how magic happens&amp;#8230;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Myth&lt;/b&gt;: Subnet manager running on IB switch does name resolution on MPI network?&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;b&gt;&lt;u&gt;Wrong&lt;/u&gt;&lt;/b&gt; !&amp;#160; &lt;a href="http://blogs.technet.com/blogfiles/askcore/WindowsLiveWriter/CCSv1HowdoesMPInetworkactuallyworkwithou_F410/clip_image002_2.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="23" alt="clip_image002" src="http://blogs.technet.com/blogfiles/askcore/WindowsLiveWriter/CCSv1HowdoesMPInetworkactuallyworkwithou_F410/clip_image002_thumb.gif" width="23" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;User submits an mpi job&lt;/li&gt; &lt;/ol&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Job Scheduler allocates number of nodes (or processors) requested for mpi job.&lt;/li&gt; &lt;/ol&gt;  &lt;ol start="start"&gt;   &lt;li&gt;First allocated node runs the mpiexec with all required parameters that are passed by job scheduler (&lt;b&gt;ccp_nodes; ccp_mpi_network&lt;/b&gt; &amp;#8230;etc)&lt;/li&gt; &lt;/ol&gt;  &lt;ol start="start"&gt;   &lt;li&gt;&lt;b&gt;mpiexec&lt;/b&gt; kicks off and forms a tree by talking &lt;b&gt;first to the msmpi&lt;/b&gt; service running on &lt;b&gt;the same node, which spawns the smpd manager talking to msmpi services running on other&lt;/b&gt; (allocated) compute nodes that&amp;#8217;s where we need name resolution. Because smpd manager on the first node needs to talk to other msmpi service/smpds on allocated nodes &lt;/li&gt; &lt;/ol&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Each mpi application starts up and queries all the LOCAL addresses for that node. Then they register this information in a &amp;#8220;business card&amp;#8221; in a shared database inside the smpd tree business card has all available interfaces on the node. &lt;/li&gt; &lt;/ol&gt;  &lt;ol start="start"&gt;   &lt;li&gt;When &lt;b&gt;MPI app rank x running on&lt;/b&gt; node X needs to connect to &lt;b&gt;MPI app rank y running on&lt;/b&gt; node Y, it get y&amp;#8217;s bizcard from the smpd &lt;b&gt;tree&lt;/b&gt; and &lt;b&gt;connects&lt;/b&gt; directly &lt;b&gt;to&lt;/b&gt; x, &lt;b&gt;using the address list in the business card. &lt;/b&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;ol start="start"&gt;   &lt;li&gt;MPI app x filters y addresses using &lt;b&gt;MPIHC_NETMASK&lt;/b&gt; environment variable. This environment variable is set by mpiexec by reading CCP_MPI_NETMASK; which in turn is set as a cluster variable by &lt;b&gt;ccp management&lt;/b&gt; services.&amp;#160; This var is set when you select the networks in the &lt;b&gt;ToDoList&lt;/b&gt;; it set to the MPI network if selected or to the Private network if MPI network is not present.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So bottom line is we do not need to have a name resolution on MPI network as long as node can resolve their names through private or public network. &lt;/p&gt;  &lt;p&gt;&lt;a href="https://windowshpc.net/Forums/Pages/Default.aspx"&gt;For additional information regarding Microsoft Compute Cluster Server, please visit our Windows HPC (High Performance Computing) Community forums&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;RELATED RESOURCE REFERENCE(S):&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#183; &lt;a href="http://www.mpi-forum.org/docs/docs.html"&gt;Message Passing Interface (MPI) Documentation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#183; &lt;a href="http://technet.microsoft.com/en-us/library/cc720120.aspx"&gt;Using Microsoft Message Passing Interface (MS-MPI) Documentation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Mike Rosado    &lt;br /&gt;Senior Support Engineer     &lt;br /&gt;Microsoft Enterprise Platforms Support&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3203734" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/askcore/archive/tags/Cluster/default.aspx">Cluster</category><category domain="http://blogs.technet.com/askcore/archive/tags/CCS/default.aspx">CCS</category></item></channel></rss>