We intend to develop a tool that can automatically convert programs written in OpenMP sharedmemory parallel applications to MPI for execution in distributed memory systems.This will make it convenient to code in OpenMP and deploy the application to distributed system under MPI.
MPI is the predominant method for programming distributed memory parallel computers. It has been quite successful in achieving high performance, scalability and portability but it has always been criticized of being too lowlevel and difficult to use. The structure of the program drastically changes when it is parallelized using MPI compared to that of its original sequential version. It also places the extra burden of datatoprocess mapping and remote access on the programmer, as the only mechanism available for MPI is via message passing.
OpenMP is the de facto method and language extension for programming sharedmemory parallel computers. Programs written using OpenMP can be parallelized stepwise from a sequential program. OpenMP programs resemble their original sequential versions but the only variation is the introduction of directives and clauses required for parallel execution.
The scalability of sharedmemory systems is quite limited when compared with the distributed memory systems. The threshold for the shared memory systems is about 32 processors (current technology) crossing which the performance may not increase.Therefore, in order to build highly efficient parallel systems involving a large number of computer systems, it is desirable to use distributed memory systems.
This tool will be developed using visual C++ for windows XP/VISTA platform. The tool is intended for conversion of code in C with OpenMP to OpenMP to MS-MPI. It’s a source to source translation tool.
1. Microsoft Visual studio professional/Team Edition 2005.
2. Microsoft Windows Compute Cluster Server (CCS) 2003 edition(for execution) , for developing the tool we can make use of Microsoft Compute Cluster Pack SDK .