Slashdot Mirror


How Many Boxes In A Decent Beowulf Cluster?

Rick the Red asks: "I'd like to build a mini-supercomputer for our High School (and perhaps another for the Junior High). Given that cost is an issue, but given that effective, hands-on demonstration of the principles of parallel processing and clustered computing is the primary goal, how many nodes would it take to make a reasonable demonstration Beowulf cluster? Two? Eight? Sixteen? Has anyone else here done this, and if so are there resources (lesson plans would be nice) on the net for teachers? Also, has anyone networked a room full of computers such that one minute they're individual PCs available for the usual classroom stuff and the next minute they're a Beowulf cluster? If so, how did you do it? And for the final, far out question: Has anyone ever used VMware to create a Beowulf simulator, clustering virtual PCs running on one physical box?"

2 of 18 comments (clear)

  1. Try something dramatic by martyb · · Score: 3

    Others have posted good ideas on the HOW of setting up a Beowolf cluster. I'll leave that to those who are better qualified to comment on that facet.

    But, what I would advocate, is coming up with some task(s) that are interesting to the students and that would benefit from a cluster. I can think of none better than cryptography.

    Start off with the students solving simple single-letter substitutions, manually. Tedious, time-consuming, boring.

    Now make it a competition. Who can solve a cryptogram the quickest? Have some token award for the winner. (Consider each student competing individually, or having the class split up into teams.) I kind of like the team concept... I can just imagine a bunch of teens getting excited and screaming out ideas and answers as they go!

    Maybe have each team come up with an encoded message that the other team needs to try and break. Go through a series of, say, 5 or 7 "competitions". Now you've set up the real-world competition of what cryptography is all about.

    NOW, it's time to bring in computers and show how brute-force efforts can help. Basic concepts are to have a program that takes the name of a file containing the cyphertext and a key and spits out a result. For example:

    decrypt101 --cypher_file foo.txt --key ZABCDEFGHIJKLMNOPQRSTUVWXY | spell | wc -w
    decrypt101 --cypher_file foo.txt --key YZABCDEFGHIJKLMNOPQRSTUVWX | spell | wc -w

    This sends in a key to be used to try and decrypt the message, sends the possible plain text to stdout, pipes it through a spell checker, and then wordcount tells how many misspelled words there were. Granted, this is not terribly great performance-wise, but it has the benefit of being understandable. (I Hope!)

    Then lead them to more and more complex cyphers. Shortly, they will discover that brute force on a single box is "not fast enough". Simple, use a faster, single box. (This is a simple way to justify getting a super speedy desktop for your own use each year. <grin>) Finally, you'll all reach a point where it is apparent that one box isn't enough... what if there were a way to get all of the boxes to work together? Hmmmm? Bingo! THIS is the time to introduce clusters!

    Sure, it's going to take some work on your part, but I can think of no better way to facilitate the introduction of so many valuable real-world concepts at the same time:

    • Statistics - On "average" how long did it take to decode the XYZ cypher?
    • Security - No longer just a vague concept, they'd get to see what governments do to keep sensitive information secure and hidden from enemies. And what individuals would have to do to protect themselves, too.
    • Teamwork - Can be FUN if you are excited about what you are doing!
    • Computers - Practical insights into what they can do easily, and what is difficult.

    Okay, I could go on, but I've got errands to run. I hope this gives you some ideas, and I certainly wish you the best on this project. But, and maybe most importantly, HAVE FUN! There's nothing that so hooked me into computing than seeing others ENJOYING what they were doing with them! (And, just think of what YOU could do with a super-computer available at your finger tips! ;)

  2. It can be done by ClubPetey · · Score: 5

    I'm still on the quest for the perfect MP3 player. One of my attempts was a "cheap" computer running win98 (connected to the TV) with a special shell. While I canned the idea, I discovered in the process that you can build computers VERY cheaply just out of "normal" parts.

    Here's what my system consisted of:
    $72 Motherboard (Intel D810EMO SB 128 Sound, AGP)
    $42 CPU (Celeron 500)
    $18 RAM (64MB SDRAM DIMM)
    $100 HDD (IBM 40GB)
    $34 FlexATX Case
    $9 CD-ROM (12x Generic)
    $275 Total for system

    Ok, the HDD is excessive for you, and this system doesn't have a monitor, but as you can see you can build a computer VERY CHEAPLY through normal mail order.

    As for how many, I'm not sure of your budget, but the IDEAL way to demonstrate this would be one for each student, that way you could have a particually complex task run by all student individually, and then again as a cluster. If you are not set on Beowulf specifically, I have some software I wrote for win98 than does clustering (in the distributed.net sense). It was made as a demo for one of my previous jobs, but you're welcome to use it for educational purposes. One nice thing, the source code shows that cluster coding is not that much more complicated.


    --
    He had come like a thief in the night,

    --
    Si hoc legere scis nimium eruditionis habes