<html xmlns:v="urn:schemas-microsoft-com:vml" 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=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@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:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I’m looking for some simple demo applications for a small, very slow cluster that would provide a good introduction to using message passing to implement parallelism.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The processors are quite limited in performance (maybe a  few MFLOP), and they can be arranged in a variety of topologies (shared bus, rings, hypercube) with 3 network interfaces on each node.  The processor to processor link probably runs
 at about 1 Mbit/second, so sending 1 kByte takes 8 milliseconds<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So I’d like some computational problems that can be given as assignments on this toy cluster, and someone can thrash through getting it to work, and in the course of things, understand about things like bus contention, multihop vs single
 hop paths, distributing data and collecting results, etc.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There’s things like N-body gravity simulations, parallelized FFTs, and so forth.  All of these would run faster in parallel than serially on one node, and the performance should be strongly affected by the interconnect topology.  They also
 have real-world uses (so, while toys, they are representative of what people really do with clusters)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Since sending data takes milliseconds, it seems that computational chunks which also take milliseconds is of the right scale.  And, of course, we could always slow down the communication, to look at the effect.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There’s no I/O on the nodes other than some LEDs, which could blink in different colors to indicate what’s going on in that node (e.g. communicating, computing, waiting)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yes, this could all be done in simulation with virtual machines (and probably cheaper), but it’s more visceral and tactile if you’re physically connecting and disconnecting cables between nodes, and it’s learning about error behaviors and
 such that’s what I’m getting at.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Kind of like doing biology dissection, physics lab or chem lab for real, as opposed to simulation.  You want the experience of “oops, I connected the cables in the wrong order”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jim Lux<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>