mpC parallel programming language


mpC background

mpC programming language has been developed in the Institute for System Programming of the Russian Academy of Sciences in the second half of 1990s. mpC parallel programming environment runs on variety clones of Unix such as Linux, FreeBSD, Solaris, HP-UX. Its development was funded with numerous grants of the different government institution from USA, Russia, and France. The mpC parallel programming language was recognized as one of the most significant achievements of the Russian Academy of Sciences in the field of computer science for the last 15 years. Free Unix version is available from ISP's web site since end of 1996 and became popular in the world parallel computing community.

mpC overview

The mpC programming language is specially designed to write efficient and portable parallel programs. The main idea underlying mpC is that an mpC-based application explicitly defines an abstract network and distributes data, computations and communications over the network. The mpC programming system uses this information to map the abstract network to any real executing network in such a way that ensures efficient running of the application on this real network. This mapping is performed in run time and based on information about performances of processors and links of the real network, dynamically adapting the program to the executing network.

In mpC you deal with a kind of resource named computing space. Computing space is a set of virtual processors, which are mapped to processes of parallel program at runtime. The way mpC treats computing space is similar to the way C treats memory. In mpC you can allocate parts of computing space by defining networks; just like in C you can allocate memory blocks.

Fore more information on mpC programming language see http://www.ispras.ru/~mpc