mpC: a multi-paradigm programming language for massively parallel computers

  • Authors:
  • Alexey L. Lastovetsky

  • Affiliations:
  • Institute for System Programming, Russian Academy of Sciences, 25, Bolshaya Kommunisticheskaya str., Moscow 109004, Russia

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Currently, programming systems for distributed memory machines are limited to either task parallelism or data parallelism. The mpC programming language and its programming system support both task and data parallelism, allows both static and dynamic process and communication structures, enables optimizations aimed at both communication and computation, and supports modular parallel programming and the development of a library of parallel programs. The mpC language is an ANSI C superset. It is based on the notion of network comprising processor nodes of different types connected with links of different lengths. The mpC language has facilities for description of network topology, for creating and discarding networks, for distribution data and computations over networks, for writing of functions that can be called on networks of the proper topology and so on. The paper presents basic principles underlying the mpC language and outlines its programming system.