Setting Up a CPU Cluster.

1 minute read

Published:

Here you’ll learn how to build your own cluster that uses MPI library to execute programs in parallel mode.

Cluster

Using our cluster created Jcluster.
We need to install MPI (Message Pasing Interface).

MPI

MPI is a standardized and portable message-passing system.

sudo apt-get install mpich

MPI is useful in Distributed Computing Systems to do parallel programs.

Example

On /home/juser/forShare, we must shared mpi files.

  • Creating a nodesfile file with content:

    Jnode01:2  # this node use 2 processors
    Jnode02:3  # this node use 3 processors
    Jnode03:4  # this node use 4 processors
    Jnode04    # this node use 1 processors
    Jnode05
    
  • Then, we write the helloworldMPI.c program (we use C language):

      #include <mpi.h>
      #include <stdio.h>

      int main(int argc, char** argv) {
          // Initialize the MPI environment
          MPI_Init(NULL, NULL);
          // Get the number of processes
          int world_size, world_rank, name_len;
          MPI_Comm_size(MPI_COMM_WORLD, &world_size);
          // Get the rank of the process
          MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
          // Get the name of the processor
          char processor_name[MPI_MAX_PROCESSOR_NAME];
          MPI_Get_processor_name(processor_name, &name_len);

          // Print off a hello world message
          printf("Hello world from processor %s, rank %d out of %d processors\n", processor_name, world_rank, world_size);

          // Finalize the MPI environment.
          MPI_Finalize();
      }
  
  • Then, compile it:

    mpicc helloworldMPI.c -o mpihello
    
  • And run on Jmaster:

    mpiexec -np 3 -f /path/to/nodesfile ./mpihello
    

excution