[Beowulf] Beowulf analogy for a classroom

Steve Heaton steve_heaton at iinet.net.au
Fri Dec 8 18:05:04 PST 2006

G'day all

I'll skip the background as to 'why' but I've recently been working on a 
way to explain the Beowulf concept to a classroom of school kids. No 
computers required.

I think I've come up with a useful analogy/experiment that might work. 
I've posted it here on the off chance that someone else might want to 
give it a try if they get pressed into such a situation.

First, some 'newsgroup preempters'. This is designed for school kids not 
your typical Beowulf list reader. Sorry but no cars or harnessing of 
chickens involved ;) No mentions of heat dissipation or switching 
fabrics. This is a non-technical post that someone might find handy at 
some point.

So, here's the idea.

Generate a list of, say, 100 random numbers (int). Make two copies. 
Break the 3rd copy into 10 lists of 10 numbers each. You need 12 
students. They're going to be your 'nodes' :)

Ask the teacher which student is the best at mental arithmetic. They're 
going to be the 'standalone' node. You then pick 11 other students and 
they'll be the Beowulf. Of those select 1 as the 'master' node.

Give the two long (100 number) lists to the 'standalone node' student 
and the teacher. Give the 10 number lists to the master node.

Then you say 'Go!' and start the stopwatch. The 'standalone node' and 
the teacher start summing their lists. The 'master' node student hands 
out their lists to the other 'nodes' at their desks and they start summing.

As each 'node' student finishes, they walk their summed result back to 
the 'master' node. The master node student sums the returning results.

When the 'standalone' node, 'master' node and teacher have finished 
their sums, record the time on the board.

Now I'm sure you can see there's a huge amount of variables and things 
that could go wrong (as in any classroom demo). However, hopefully the 
overall result goes something like the teacher (representing a singe 
powerful node) finished first. Then the Beowulf group of students, then 
the 'standalone' node.

I think this structure could be quite useful and there's some good 
'learning outcomes'. eg:

The Beowulf group was 10 times bigger but why wasn't it ten times 
faster? (Moving the results around = comms time, coordination etc)

Why was the teacher faster? ((Hopefully) sharper math skills and no 
comms overhead)

... Image a Beowulf cluster of 'teachers'!

... Imagine the results if the cluster were (lower grade) students!? 
What if there were 20 of them instead of 10? (Leads to a discussion of 
Amdahl's Law etc etc)

Obviously you can change the number of 'nodes' and difficulty of the 
addition to match the student abilities.

Anyway, that's the idea. I'd love to hear if anyone ever has cause to 
use it :)


More information about the Beowulf mailing list