SERC Computing Facility: Softwares
| Parallel
Programming Paradigm |
|||||||||||
| Intuitively, parallel programming is the programming paradigm of concurrent execution of multiple instruction sequences. In practice, these sequences may share a common address space or data, or In SMP, data being shared, the key issue is to enforce synchronization between processes, that is to ensure the access of correct state of data at intended point of computation. This is done through synchronization schemes like locks and barriers. In practice, this detail is hidden from the programmer who is happy with plugging in auto-parallelising options into the compiler. This often yields better performance if the compiler is further assisted with directives inside a serial code. These directives are considered as comment statements according to the serial language specifications. In DMP, data being private to each streams of instructions,
it is necessary to exchange data across different streams.
It is the user's prerogative to decide at what point of
computation which data to be sent/received to/from which
stream. Message Passing libraries like Message Passing Interface
(MPI) or Parallel Virtual Machine (PVM) do the send and
receive and provide a standard interface for writing programs
in a portable way. Both Fortran and C interfaces exists
for these libraries and there are numerous public-domain
implementations of them as well. |
|||||||||||
| Parallel Systems at SERC | |||||||||||
| SMP Systems : | |||||||||||
| 6-CPU SGI Power Challenge | |||||||||||
| 8-CPU DEC Turbolaser 8400 | |||||||||||
| A number of 2-CPU SUN Ultra 60 Workstations. | |||||||||||
| DMP Systems : | |||||||||||
| 32-CPU IBM RS/6000 SP | |||||||||||
| 8-CPU C-DAC Param 10000 | |||||||||||
| |
8-CPU HP C200 Cluster. | ||||||||||
| Programming on SMP Systems at SERC | |||||||||||
|
|||||||||||
Further help could be obtained through man pages in the respective system. |
|||||||||||
| Programming on DMP Systems at SERC | |||||||||||
As mentioned before, programming on DMP systems involves inserting appropriate MPI or PVM calls in the serial code (Fortran/C) to enable message passing between different processes. MPI and PVM are available in all the DMP systems at SERC. Following documents provide introduction to MPI programming (Note : these links can only be accessed from the IISc Campus. Disable your proxy settings before you click on these links.) : |
|||||||||||
| MPI Tutorial (reproduced with kind permission of Maui High Performance Computing Center). | |||||||||||
| Hitchhikers Guide to the Parallel Environment in IBM SP | |||||||||||
| MPI Subroutine reference for IBM SP | |||||||||||
| |
MPICH : a Public Domain Implementation of MPI | ||||||||||
| The
IBM RS/6000 SP has some additional parallel programming
utilities (like parallel debuggers,trace visulaization tool
etc.) details of which can be found in the following document
(accessible only from the IISc Campus) : |
|||||||||||
| |
IBM Parallel Environment : Operation & Use | ||||||||||
For
further assistance, please contact HelpDesk@SERC by E-mail
or phone (#444 within SERC). |
|||||||||||