LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Building a simple Beowulf Like Cluster with Ubuntu 12.04 using MPICH 2 (https://www.linuxquestions.org/questions/linux-newbie-8/building-a-simple-beowulf-like-cluster-with-ubuntu-12-04-using-mpich-2-a-4175446543/)

$u$hil_k$ 01-21-2013 02:21 AM

Building a simple Beowulf Like Cluster with Ubuntu 12.04 using MPICH 2
 
Hello people, am trying to connect 2 systems as a Beowulf Like Cluster with Ubuntu 12.04 using MPICH . Right now i have already inatlled Ubuntu 12.04 in both the systems and i want one system as a master and another as a slave so kindly tell me steps to build a Beowulf Like Cluster with Ubuntu 12.04 using MPICH 2 making one as master and another as slave and also test an MPI program...

Please tell me if u know ASAP.

Thnak you in Advance

btmiller 01-22-2013 12:48 AM

It's not hard, really. Generally, you need to connect both systems to the same network (usually wired Ethernet, but it can really be anything you like -- many clusters use InfiniBand for MPI traffic, but you certainly don't have to). Make sure that there are no firewalls blocking access between the two machines. Then install the MPICH2 packages on both machines and try to run a test program (the distribution comes with several). You will be using the mpdboot to set up communication and then mpirun or mpiexec to run the program (see http://www.dartmouth.edu/~rc/classes...mpich2_ex.html for some further explanation). The MPICH-2 development team provides excellent documentation, which I suggest you read.

Note that MPI has no concept of "master" and "slave" -- all ranks are created equal. Of course this does not stop one from writing an MPI program using a master/worker paradigm, in which one rank (usually 0) is the master and doles out work to the "workers", but this is a function of how the code divides up its workload and not anything inherent to MPI.

It's nice to have a shared filesystem accessible on both nodes (using NFS for starters, or if you need high IOPS something like Lustre and Ceph, but it sounds like you're just playing around so vanilla NFS will probably work just fine). If you want to designate one of your nodes the "master", you can put a big disk in it and export it via NFS to other other system. This saves you the bother of having to copy files to both systems.

$u$hil_k$ 01-23-2013 03:32 AM

Quote:

Originally Posted by btmiller (Post 4875186)
It's not hard, really. Generally, you need to connect both systems to the same network (usually wired Ethernet, but it can really be anything you like -- many clusters use InfiniBand for MPI traffic, but you certainly don't have to). Make sure that there are no firewalls blocking access between the two machines. Then install the MPICH2 packages on both machines and try to run a test program (the distribution comes with several). You will be using the mpdboot to set up communication and then mpirun or mpiexec to run the program (see http://www.dartmouth.edu/~rc/classes...mpich2_ex.html for some further explanation). The MPICH-2 development team provides excellent documentation, which I suggest you read.

Note that MPI has no concept of "master" and "slave" -- all ranks are created equal. Of course this does not stop one from writing an MPI program using a master/worker paradigm, in which one rank (usually 0) is the master and doles out work to the "workers", but this is a function of how the code divides up its workload and not anything inherent to MPI.

It's nice to have a shared filesystem accessible on both nodes (using NFS for starters, or if you need high IOPS something like Lustre and Ceph, but it sounds like you're just playing around so vanilla NFS will probably work just fine). If you want to designate one of your nodes the "master", you can put a big disk in it and export it via NFS to other other system. This saves you the bother of having to copy files to both systems.


Thank you very much i finnaly built a beowulf like cluster.....but when executing some of the programs i get the following error

HYDU_create_process (./utils/launch/launch.c:69): execvp error on file ./cpi.c (Permission denied)

Any Idea why? and ./cpi.c is just my objectfile name i.e binary file


All times are GMT -5. The time now is 02:50 PM.