Thanks a lot Andy, that was really informative.<br><br>So I see there&#39;s no point at all comparing this &quot;super&quot; Pi rack to general computers, and that you can&#39;t run one Pd having it being served by 64 of these.<div>
<br></div><div>cheers<br><div><br><br><div class="gmail_quote">2012/9/16 Andy Farnell <span dir="ltr">&lt;<a href="mailto:padawan12@obiwannabe.co.uk" target="_blank">padawan12@obiwannabe.co.uk</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Sun, Sep 16, 2012 at 10:24:45AM -0300, Alexandre Torres Porres wrote:<br>
&gt; now my question is;<br>
&gt;<br>
&gt; spending 4k to build a Pi supercomputer can give you more power and<br>
&gt; possibilities than with a top of the line MAC for example (which will cost<br>
&gt; just as much, and be a quad core 2.7 intel i7, 1.6GHz bus, 16GB Ram).<br>
<br>
<br>
</div>We keep using the word &#39;supercomputer&#39;, and maybe a bit of<br>
perspective would help clarify matters of scale.<br>
<br>
Back in the mists of time /\/\/\ ...... wavy lines ...../\/\/\<br>
<br>
A computer that a small business might own could be moved by one person<br>
if they really needed the exercise. After the 1980s they were called<br>
microcomputers and you could pick one up and carry it.<br>
<br>
A minicomputer had a special room of its own, and was between ten and<br>
maybe fifty times faster. You could get a good one for a hundred thousand<br>
dollars. Minis were generally for mid level industrial organisations.<br>
Notice the power factor here between the everymans computer and the<br>
&quot;top of the range&quot; generally available model, which has remained constant.<br>
The biggest price differential is over the smallest value curve, as<br>
you would expect in commercial mass market.<br>
<br>
A mainframe was an order of magnitude more powerful than a standard<br>
computer, having a whole floor to itself. Mainframes are generally<br>
for bulk data processing and were owned by governments or very<br>
large corporations. They were characterised by IO, rows of tape machines<br>
and teleprinters, more like a giant computerised office.<br>
<br>
A supercomputer is, by definition, that which is on the cutting edge of<br>
feasible research. Most supercomputers are in a single location and not<br>
distributed or opportunistic, they usually have a building dedicated to<br>
them and a power supply suitable for a small town of a thousand homes<br>
(a few MW). A team of full time staff are needed to run them. They cost a<br>
few hundred million to build and a few tens of millions per year to operate.<br>
Current supercomputers are measured in tens of Peta FLOPS, ten to a hundred<br>
times more powerful than the equivalent mainframe, and are primarily<br>
used for scientific modelling.<br>
<br>
To put this operational scale versus nomenclature into todays terms<br>
(taking into account one order of magnitide shift in power );<br>
<br>
A microcomputer would probably be classed as a wearable, embedded or<br>
essentially invisible computer operating at a few tens or hundreds<br>
of MFLOPS, costing between one and ten dollars and operating<br>
from a lithium battery. If you have active RFID ID your credit card<br>
probably has more CPU power than an early business computer.<br>
The Raspberry Pi, gumsticks, and PIC based STAMPs occupy this spectrum.<br>
<br>
The word minicomputer now tends to denote a small desktop, notebook<br>
or smartphone, or anything that is considered &#39;mini&#39; compared<br>
to the previous generation, and probably having the capabilities of a<br>
full desktop from two or three years ago.<br>
<br>
A powerful standard computer, the kind for a gaming fanatic or<br>
at the heart of a digital music/video studio is about five to ten<br>
times as powerful as the smallest micro (a much smaller gap than<br>
one might think) despite the large difference in power consumption<br>
and cost. Thse run at a few GFLOPS.<br>
<br>
What used to be a &#39;minicomputer&#39; is now what might be used in a<br>
commercial renderfarm, essentially a room of clustered boxes<br>
costing tens of thousands of dollars and consuming a<br>
heavy domestic sized electricity bill. Total CPU power in<br>
the range of 10 GFLOP to 1 TFLOP<br>
<br>
The current guise of the &#39;mainframe&#39; is what we would now see as a<br>
Data Center, a floor of an industrial unit, probably much like<br>
your ISP or hosting company with many rows of racked indepenedent<br>
units that can be linked into various cluster configurations<br>
for virtual services, network presence and data storage.<br>
Aggregate CPU power in the region of 10 TFLOP to 0.5 PFLOP<br>
<br>
Supercomputers are still supercomputers, by definition they are<br>
beyond wildest imagination and schoolboy fantasies unless<br>
you happen to be a scientist who gets to work with them.<br>
A bunch of lego bricks networked together does not give you 20PFLOP,<br>
so it does not a supercomputer make.<br>
<br>
However, there is a different point of view emerging since the mid<br>
1990s based on concentrated versus distributed models. Since the<br>
clustering of cheap and power efficient microcomputers is now<br>
possible because of operating system and networking advances,<br>
we often hear of amazing feats of collective CPU power obtained<br>
by hooking together old Xboxes with GPUs, (Beowulf - TFLOP range)<br>
or using opportunistic distributed networks to get amazing power<br>
out of unused cycles (eg SETI at home/BOINC and other volunteer<br>
arrays, or &#39;botnets&#39; used by crackers) (tens to hundreds of TFLOPS).<br>
<br>
<br>
Some guides to growth here with interesting figures on the estimated<br>
cost per GFLOP over the last 50 years:<br>
<br>
<a href="https://en.wikipedia.org/wiki/FLOPS" target="_blank">https://en.wikipedia.org/wiki/FLOPS</a><br>
<div class="im"><br>
<br>
&gt; I&#39;m guessing that CPU wize it would be more powerful indeed; even thought<br>
&gt; it&#39;s a modest one, that&#39;s 64 cores against 4...<br>
<br>
</div>So the issue now is that a parallel model of computing needs the<br>
problem cast into a program that works in this way. Some algorithms<br>
are trivially rewritten to work well on clusters, but many are not.<br>
The aggregate power isn&#39;t a full indicator of the expected speedup.<br>
A multi-core has fast data connection between cores but little<br>
memory for each processor, whereas a cluster may have GB of<br>
memory associated with each node but much slower data throughput<br>
between nodes.<br>
<div class="im"><br>
&gt; what I&#39;m not familiar to is how supercomputing works and optimizes the work<br>
&gt; by splitting it into all CPU units.<br>
<br>
</div>This is an important area of computer science. In summary, if the overhead<br>
of splitting a subproblem, sending it to node/core,<br>
collecting the result and re-integrating it back into the end solution<br>
is less than it would cost to compute it on a more powerful single node,<br>
then you have a speedup. This is where algorithm design gets fun :)<br>
<br>
Message passing protocols serve to split up the data according to<br>
schemes that mirror the algorithm, a bit like routers in the internet.<br>
Wavefront broadcast, bifurcation, all manner of schemes are used to<br>
break up and reassemplbe the sub-processes. Anderw Tannenbaum wrote<br>
one of the early and very accessible books on it all, called &quot;Distributed<br>
Operating Systems&quot;<br>
<br>
If _all_ the data needs to be present everywhere in the system then<br>
distributed models fail because the data throughput problem starts<br>
to dominate the advantage gained by parallel computation. So, only<br>
certain kinds of program can be run on &#39;supercomputers&#39; that work<br>
this way. Your average desktop application like Protools probably<br>
wouldn&#39;t benefit much running on the IBM Sequoia, because it isn&#39;t<br>
written to get advantage from that architecture.<br>
<br>
<br>
<br>
cheers,<br>
Andy<br>
<br>
<br>
</blockquote></div><br></div></div>