<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic MPI Bi-band benchmark shows MPI cannot exploit full duplex transmission mode in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071549#M4682</link>
    <description>&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;I am running performance benchmark with C++, Intel MPI and CentOS 7.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;I use two types of benchmarks:&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;&lt;SPAN style="font-weight: 700;"&gt;(1) Uni-band:&amp;nbsp;&lt;A style="font-weight: normal;" href="https://software.intel.com/en-us/node/561907"&gt;https://software.intel.com/en-us/node/561907&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;The first half of ranks communicates with the second half using MPI_Isend/MPI_Recv/MPI_Wait calls. In case of the odd number of processes, one of them does not participate in the message exchange. The bunch of MPI_Isend calls are issued by each rank in the first half of ranks to its counterpart from the second half of ranks.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;&lt;SPAN style="font-weight: 700;"&gt;(2) Bi-band:&amp;nbsp;&lt;A style="font-weight: normal;" href="https://software.intel.com/en-us/node/561908"&gt;https://software.intel.com/en-us/node/561908&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;The first half of ranks communicates with the second half using MPI_Isend/MPI_Recv/MPI_Wait calls. In case of the odd number of processes, one of them does not participate in the message exchange. The bunch of MPI_Isend calls are issued by each rank in the first half of ranks to its counterpart from the second half of ranks, and&amp;nbsp;&lt;SPAN style="font-weight: 700;"&gt;vice versa&lt;/SPAN&gt;.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;Since the ethernet on my machines supports full duplex transmission mode, I expected the results of bi-band would show almost two times higher maximum bandwidth than that of uni-band.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;(Full-duplex operation doubles the theoretical bandwidth of the connection. If a link normally runs at 1 Mbps but can work in full-duplex mode, it really has 2 Mbps of bandwidth (&lt;SPAN style="font-weight: 700;"&gt;1 Mbps in each direction&lt;/SPAN&gt;).)&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;However, what I am observing is that even though the ethernet supports full duplex transmission mode, the bandwidth decreases half&amp;nbsp;when there are communications in both directions (Rank-A &amp;lt;----&amp;gt; Rank-B) at the same time.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;It seems Intel MPI does not support full duplex transmission mode. Can I resolve it?&lt;/P&gt;</description>
    <pubDate>Tue, 17 Jan 2017 00:50:02 GMT</pubDate>
    <dc:creator>seongyun_k_</dc:creator>
    <dc:date>2017-01-17T00:50:02Z</dc:date>
    <item>
      <title>MPI Bi-band benchmark shows MPI cannot exploit full duplex transmission mode</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071549#M4682</link>
      <description>&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;I am running performance benchmark with C++, Intel MPI and CentOS 7.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;I use two types of benchmarks:&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;&lt;SPAN style="font-weight: 700;"&gt;(1) Uni-band:&amp;nbsp;&lt;A style="font-weight: normal;" href="https://software.intel.com/en-us/node/561907"&gt;https://software.intel.com/en-us/node/561907&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;The first half of ranks communicates with the second half using MPI_Isend/MPI_Recv/MPI_Wait calls. In case of the odd number of processes, one of them does not participate in the message exchange. The bunch of MPI_Isend calls are issued by each rank in the first half of ranks to its counterpart from the second half of ranks.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;&lt;SPAN style="font-weight: 700;"&gt;(2) Bi-band:&amp;nbsp;&lt;A style="font-weight: normal;" href="https://software.intel.com/en-us/node/561908"&gt;https://software.intel.com/en-us/node/561908&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;The first half of ranks communicates with the second half using MPI_Isend/MPI_Recv/MPI_Wait calls. In case of the odd number of processes, one of them does not participate in the message exchange. The bunch of MPI_Isend calls are issued by each rank in the first half of ranks to its counterpart from the second half of ranks, and&amp;nbsp;&lt;SPAN style="font-weight: 700;"&gt;vice versa&lt;/SPAN&gt;.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;Since the ethernet on my machines supports full duplex transmission mode, I expected the results of bi-band would show almost two times higher maximum bandwidth than that of uni-band.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;(Full-duplex operation doubles the theoretical bandwidth of the connection. If a link normally runs at 1 Mbps but can work in full-duplex mode, it really has 2 Mbps of bandwidth (&lt;SPAN style="font-weight: 700;"&gt;1 Mbps in each direction&lt;/SPAN&gt;).)&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;However, what I am observing is that even though the ethernet supports full duplex transmission mode, the bandwidth decreases half&amp;nbsp;when there are communications in both directions (Rank-A &amp;lt;----&amp;gt; Rank-B) at the same time.&lt;/P&gt;

&lt;P style="font-size: 12px; -ms-word-wrap: break-word;"&gt;It seems Intel MPI does not support full duplex transmission mode. Can I resolve it?&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jan 2017 00:50:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071549#M4682</guid>
      <dc:creator>seongyun_k_</dc:creator>
      <dc:date>2017-01-17T00:50:02Z</dc:date>
    </item>
    <item>
      <title>I've moved your question to</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071550#M4683</link>
      <description>&lt;P&gt;I've moved your question to the Clusters forum so the appropriate experts will see it.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Jennifer&lt;/P&gt;</description>
      <pubDate>Thu, 16 Feb 2017 18:34:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071550#M4683</guid>
      <dc:creator>Jennifer_D_Intel</dc:creator>
      <dc:date>2017-02-16T18:34:20Z</dc:date>
    </item>
    <item>
      <title>You don't tell us anything</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071551#M4684</link>
      <description>&lt;P&gt;You don't tell us anything about the specific hardware you are using, or the actual performance levels you are seeing, so it is hard to provide specific responses....&lt;/P&gt;

&lt;P&gt;Recent (Gbit or faster) Ethernet hardware always runs in full-duplex mode to avoid collisions.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;For unidirectional transfers, it should be possible to exceed 90% of the peak unidirectional bandwidth without requiring any magic.&amp;nbsp; Using the iperf3 benchmark, I can easily generate 900 Mbs of traffic between two clients equipped with Gbit Ethernet adapters, even with two inexpensive switches between the two clients.&amp;nbsp;&amp;nbsp; With 10Gbit Ethernet, you may need to enable Jumbo frames to get close to full bandwidth - especially if your CPUs are not very fast.&amp;nbsp; Using MPI over IP adds more potential for performance mistakes, but I would expect Intel MPI to be well implemented on Ethernet.&lt;/P&gt;

&lt;P&gt;The protocol overhead of unidirectional transfers with standard frame sizes is only a few percent, but that cannot be directly applied to the bidirectional case.&amp;nbsp; For example, in a unidirectional transfer from A to B, any traffic from B to A (such as Ethernet acknowledgments, MPI flow control, etc), does not interfere with the data transfer (since it is on the wires going in the other direction).&amp;nbsp;&amp;nbsp; When performing simultaneous transfers in both directions, this extra traffic competes with data transfers and must be included in the analysis.&amp;nbsp;&amp;nbsp; I don't work much with Ethernet, but for InfiniBand we typically see bidirectional traffic running at a throughput of about 1.5-1.6 times the maximum unidirectional rates.&amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I just looked for published bidirectional Ethernet results and did not find any recent publications with convincing methodologies for MPI, but it is certainly possible that I did not look hard enough.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Feb 2017 21:23:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071551#M4684</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2017-02-16T21:23:41Z</dc:date>
    </item>
    <item>
      <title>Hello Seongyun,</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071552#M4685</link>
      <description>&lt;P&gt;Hello S&lt;SPAN style="font-size: 13.008px;"&gt;eongyun,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;Could you please provide more information about&amp;nbsp;&lt;/SPAN&gt;hardware and software (CPU, IMPI version) and&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;the command line you use for uniband/biband launches?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Feb 2018 21:12:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Bi-band-benchmark-shows-MPI-cannot-exploit-full-duplex/m-p/1071552#M4685</guid>
      <dc:creator>Mikhail_S_Intel</dc:creator>
      <dc:date>2018-02-14T21:12:20Z</dc:date>
    </item>
  </channel>
</rss>

