[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 :)
Cheers
Stevo
More information about the Beowulf
mailing list