Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: Gentoo Linux, FreeBSD(Not Linux, I know).
Posts: 18
Rep:
Linux Parallel Cluster?
I am about to soon acquire about 8 to 10 of basically the same computer. Now each one is fairly slow being made originally for NT and I haven't had a chance to find out there actual speeds and shizza. But what I wish to do is hook them all up together since they have NIC cards into one big supercomputer.
I want more of a parallel kind of cluster though where the workload is spread between all the whole chain. So say converting a MP3 to a WAV takes 1 minute on one computer, with like 9 more I wish to have it take like 10 secs or so. Now this to me would be the best thing to do with this many PCs but if you think otherwise just post a reply and I will read.
I don't know much, but I have an interest in this sort of thing and have done a small amount of reading, etc. As I understand it, the cluster will work similar to a single computer in that any given program or group of programs will initiate one or more processes. In the cluster, the various processes can be sent to whatever machine is thought to have the capacity for it. The master machine mostly sends processes out and keeps track of them as they are returned. So if you have one MP3 to convert to a WAV file, it may not make a difference if you have a cluster or not. But if you have 500 MP3s to convert, it should work. I'm sure you've already looked at The Beowolf HOWTO from The Linux Documentation Project. As to whether this "would be the best thing to do with this many PCs": I don't know, but I plan to try it soon, myself.
Last edited by drakebasher; 02-13-2006 at 11:35 AM.
I'm in almost the same situation. The owner of the local computer fixit shop invited me to clean out his shed so I'm the proud owner of about 25-30 Pentium class machines. I've tested about half, and so far all seem capable of at least Fedora Core 3. At the moment, I'm still upgrading hardware using preowned computer guts I've bought off a well-known internet auction site.
However, from what little I've read, the clustering programs available for download don't turn your pile of computers into one virtual Linux machine that happens to run much faster than usual. The cluster software doesn't take the CD ripper program you downloaded and spread this single task among your nodes. Instead, they simply allow the various slave nodes to communicate with the head node. It is up to you to divide up the work between the nodes.
Maybe an example would help. There are a class of problems where finding the optimal solution involves trying every possiblility. One of these is the travelling salesman problem. (The salesman is trying to find the shortest possible route that covers every city in his territory. He can start and finish at any city.) One way to divide the task is to have each node in the cluster start at one city and calculate the shortest route from there. The head node simply compares the length of the reported paths and chooses the shortest of the lot.
In programming the solution using a general purpose Beowulf cluster (if such a thing exists), I imagine the head node would upload the travelling salesman program to each slave node which up to now had been "asleep", waiting for instructions. Following this would be the dataset describing the salesman's territory and the starting city. The head node would then go to "sleep" waiting for the first slave to finish. As each intermediate result is returned to the head node, it is compared to the shortest route found so far and whichever is shorter is kept as the shortest found. If there are further cities to be explored, another starting city is fed to the slave node. Once the last intermediate result is compared, the head node can report the final answer.
Another example of a problem that lends itself to a cluster is solving simultaneous linear equations. These problems aren't too bad as long as there are only a few terms in each equation. But if there are thousands of terms they become unwieldy and nearly impossible to solve by hand. Once the equations are expressed as a matrix, the matrix can be divided up into sub-matrices. Each sub-matrix is fed to a slave node. The slave node solves the sub-matrix and reports the intermediate result to the head node. Once the last sub-matrix is solved, the head node can solve the overall matrix.
My point is it is up to the programmer to design his program to take advantage of the cluster. It is not automatic as far as I understand it--at least not yet. Hope this helps.
I recently sat in on a presentation for NYLUG by Donald Becker of Scyld and what I described is what I understood from that presentation. I'm sure it would depend entirely on the software used to run the cluster, since that is what distributes jobs to the slave nodes. So maybe the difference between Scyld's Beowolf software package and most of the others is the difference between being able to work with "regular" software vs. having to design the software specifically for parcelling out to a cluster. The point that special software is not required was repeated as attendees asked questions to be sure they understood correctly. So clearly, >someone< has to make up some cat5 cables and fire up a cluster and tell us the real deal!
You're right and I'm with you, there. Scyld is commercial, but I was describing what is possible and by inference what maybe could be done by us non-serious (and therefor non-paying) users.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.