Linux - ServerThis forum is for the discussion of Linux Software used in a server related context.
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.
I am building a cluster (without ROCKS, I am doing this for educational purposes). I have been reading from numerous places that this is an easy thing to do but it doesn't seem so (or perhaps I have been reading something wrong). I am making a cluster with the Debian operating system and I know about the NFS, SSH and MPI installations that need to occur in order to get it to work. But the one thing that all of the tutorials fail to cover is how to install the nodes. Do I need to just perform a regular install on the nodes and connect them to the server or is there more to it. I thought that all of the programs and operating systems will be stored on the server and NFS will be exporting those parts of the disk onto the node. if that is the case then how do I go about doing it without installing an operating system on the node and MPI without it.(unless I read this wrong).
It's pretty simple and I have a recipe that I used on a 2 node CentOS cluster.
Once installed in Debian, the configuration instructions shouldn't matter.
N/M: I'm an idiot. glusterfs is not even close to a Beowulf Linux Cluster
Well I have been doing some more research and it slowly starts to make sense but raises some new questions. Do I have to install open-mpi on the nodes or do I just have to install it on the master. Plus how is NFS setup. I understand how to setup SSH and I know that clustering involves MPI and NFS in order to function as a cluster. I also read that in order for a program to function in a cluster like it was designed to, it needs some MPI programming placed inside of it. If it has no MPI programming elements inside of the sources it will only replicate itself across all of the nodes instead of dividing itself among all of the nodes.
Also I can't tell from the article above that if I need to install an operating system on the node? or just to format it with the ext4 partition and the swap. Then export the / directory to the node in some way. If that's even possible.
Last edited by baronobeefdip; 10-24-2013 at 01:06 PM.
Have a look at the Raspberry Pi cluster pages at Southampton Uni http://www.southampton.ac.uk/~sjc/ra...outhampton.htm. It gives a full rundown about how to set up a cluster using MPI which may give you a better idea of how it all works.
Have a look at the Raspberry Pi cluster pages at Southampton Uni http://www.southampton.ac.uk/~sjc/ra...outhampton.htm. It gives a full rundown about how to set up a cluster using MPI which may give you a better idea of how it all works.
AWESOME!! This solved all of my confusing questions that yielded cryptic answers. So if they have to be programmed as MPI programs (including the MPI header and the various pieces of an MPI program to get the MPI environment working), How do I make a regular program into an MPI program?
MPI is an interface specification with binding in C, Fortran, and several other languages (although C and Fortran are the main ones used in modern high performance computing, with some C++ thrown into the mix). There are several MPI implementations available such as MPICH2 and OpenMPI. Whatever implementation you used will have to be installed on all of the nodes (or made available on them via NFS).
There is no magic bullet to make a normal single threaded program use MPI for parallelism. You have to get the source code and modify it to run in parallel. Depending on the task at hand, this could be fairly easy or very difficult. You have to know what work that the program does that can be parallelized and then find an efficient parallel algorithm so that the extra communication time does not negate the advantage of having more cores. If the program is written with shared memory thread parallelism, it may be a bit easier to modify it to use distributed memory parallelism as is used with MPI.
The real question here is what are you trying to accomplish? You say that this is for learning, but you should have some end goal in mind of what you'd actually like to do with the cluster.
And to answer the question upthread -- yes, High Performance Computing (HPC) cluster compute nodes are generally just "normal" Linux installs (although obviously without graphics and any other superfluous software). They are generally made to work together on a program built using MPI (or occasionally other middleware) and often allocated to jobs by some form of batch queuing system such as Torque, SLURM, SGE, etc (necessary when you have more than one user, so they don't step on one another).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.