To exploit the power of cluster systems, programmers combine many processors and may also combine multiple compute nodes . This is called parallel programming. Using message passing between compute nodes.
Message passing is used to exchange data between nodes.
Threads run multiple processors within a node using OpenMP directives. Message passing exchanges data between multiple nodes using MPI , the Message Passing Interface. Argonne National Laboratory provides a good selection of MPI tutorials . If you are not familiar with parallel programming, Ian Foster's book Designing and Building Parallel Programs provides an excellent introduction.