Parallel Programming Languages

Parallel programming languages are languages designed to program algorithms and applications on parallel computers. Parallel processing is a great opportunity for developing high performance systems and solving large problems in many application areas. During the last few years parallel computers ranging from tens to thousands of computing elements became commercially available. They continue to gain recognition as powerful tools in scientific research, information management, and engineering applications. This trend is driven by parallel programming languages and tools that contribute to make parallel computers useful in supporting a broad range of applications. Many models and languages have been designed and implemented to allow the design and development of applications on parallel computers. Parallel programming languages (called also concurrent languages) allow the design of parallel algorithms as a set of concurrent actions mapped onto different computing elements. The cooperation between two or more actions can be performed in many ways according to the selected language. The design of programming languages and software tools for parallel computers is essential for wide diffusion and efficient utilization of these novel architectures. High-level languages decrease both the design time and the execution time of parallel applications, and make it easier for new users to approach parallel computers.

Here are enclosed the slides (in Italian) of an invited lecture on "Languages and Models for Parallel and Distributed Computing" given at CNSCE'98 held in Cuernavaca (Mexico) and the slides (in English) of a tutorial on "Recent Advances in Parallel Programming Tools and Languages" taught at the PDCN'98 conference held in Brisbane (Australia).
The aim of these lectures is to give an overview of the major concurrent programming approaches designed in the last decade to program parallel computers. They discuss a set of representative languages and paradigms designed to support different models of parallelism. Both parallel languages currently used to develop parallel applications in many areas from numerical to symbolic computing and new parallel programming languages that will be used to program parallel computers in the near future are surveyed.

You may find additional information in this web page. If you are interested to learn more on parallel programming languages or to receive a report which describes them, please send a request to talia@si.deis.unical.it.

 


© Domenico Talia, DEIS, UNICAL, Rende, Italy.