<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Performance Evaluation</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../mpi.html" title="Chapter&#160;12.&#160;Boost.MPI">
<link rel="prev" href="design.html" title="Design Philosophy">
<link rel="next" href="history.html" title="Revision History">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
<td align="center"><a href="../../../index.html">Home</a></td>
<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="design.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mpi.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="mpi.performance"></a>Performance Evaluation</h2></div></div></div>
<p>
      Message-passing performance is crucial in high-performance distributed computing.
      To evaluate the performance of Boost.MPI, we modified the standard <a href="http://www.scl.ameslab.gov/netpipe/" target="_top">NetPIPE</a>
      benchmark (version 3.6.2) to use Boost.MPI and compared its performance against
      raw MPI. We ran five different variants of the NetPIPE benchmark:
    </p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
          MPI: The unmodified NetPIPE benchmark.
        </li>
<li class="listitem">
          Boost.MPI: NetPIPE modified to use Boost.MPI calls for communication.
        </li>
<li class="listitem">
          MPI (Datatypes): NetPIPE modified to use a derived datatype (which itself
          contains a single <code class="computeroutput"><span class="identifier">MPI_BYTE</span></code>)
          rathan than a fundamental datatype.
        </li>
<li class="listitem">
          Boost.MPI (Datatypes): NetPIPE modified to use a user-defined type <code class="computeroutput"><span class="identifier">Char</span></code> in place of the fundamental <code class="computeroutput"><span class="keyword">char</span></code> type. The <code class="computeroutput"><span class="identifier">Char</span></code>
          type contains a single <code class="computeroutput"><span class="keyword">char</span></code>,
          a <code class="computeroutput"><span class="identifier">serialize</span><span class="special">()</span></code>
          method to make it serializable, and specializes <code class="computeroutput"><a class="link" href="../boost/mpi/is_mpi_datatype.html" title="Struct template is_mpi_datatype">is_mpi_datatype</a></code>
          to force Boost.MPI to build a derived MPI data type for it.
        </li>
<li class="listitem">
          Boost.MPI (Serialized): NetPIPE modified to use a user-defined type <code class="computeroutput"><span class="identifier">Char</span></code> in place of the fundamental <code class="computeroutput"><span class="keyword">char</span></code> type. This <code class="computeroutput"><span class="identifier">Char</span></code>
          type contains a single <code class="computeroutput"><span class="keyword">char</span></code>
          and is serializable. Unlike the Datatypes case, <code class="computeroutput"><a class="link" href="../boost/mpi/is_mpi_datatype.html" title="Struct template is_mpi_datatype">is_mpi_datatype</a></code>
          is <span class="bold"><strong>not</strong></span> specialized, forcing Boost.MPI
          to perform many, many serialization calls.
        </li>
</ol></div>
<p>
      The actual tests were performed on the Odin cluster in the <a href="http://www.cs.indiana.edu/" target="_top">Department
      of Computer Science</a> at <a href="http://www.iub.edu" target="_top">Indiana University</a>,
      which contains 128 nodes connected via Infiniband. Each node contains 4GB memory
      and two AMD Opteron processors. The NetPIPE benchmarks were compiled with Intel's
      C++ Compiler, version 9.0, Boost 1.35.0 (prerelease), and <a href="http://www.open-mpi.org/" target="_top">Open
      MPI</a> version 1.1. The NetPIPE results follow:
    </p>
<p>
      <span class="inlinemediaobject"><img src="../../../libs/mpi/doc/netpipe.png" alt="netpipe"></span>
    </p>
<p>
      There are a some observations we can make about these NetPIPE results. First
      of all, the top two plots show that Boost.MPI performs on par with MPI for
      fundamental types. The next two plots show that Boost.MPI performs on par with
      MPI for derived data types, even though Boost.MPI provides a much more abstract,
      completely transparent approach to building derived data types than raw MPI.
      Overall performance for derived data types is significantly worse than for
      fundamental data types, but the bottleneck is in the underlying MPI implementation
      itself. Finally, when forcing Boost.MPI to serialize characters individually,
      performance suffers greatly. This particular instance is the worst possible
      case for Boost.MPI, because we are serializing millions of individual characters.
      Overall, the additional abstraction provided by Boost.MPI does not impair its
      performance.
    </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005-2007 Douglas Gregor,
      Matthias Troyer, Trustees of Indiana University<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">
        http://www.boost.org/LICENSE_1_0.txt </a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="design.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mpi.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
