Modelling communication and synchronization in parallel programming languages

Dennis Freidel · 1984

This thesis presents the design of a new programming language to support constructing hierarchies of parallel processes. This design was carried out in a methodical fashion and was based on a detailed examination of interprocess communication in other programming languages. This detailed examination was carried out using a model of interprocess communication based on a logical network consisting of two kinds of objects: communication lists represents the process' abilities to access interprocess information paths and interface objects represent the information paths. The model describes the two kinds of events upon the interprocess information paths: manipulative events manipulate the process/interface topology, and communication events transfer information between processes and interface objects. These two types of events represent the two views of the information paths by the processes. The manipulative events consider the abilities of processes to create and change the bindings between interfaces and communication lists. The communication events consider the actual use of the interfaces for information transfer. This two step approach separates the topology manipulation from the communication issues and encapsulates the synchronization and information flow considerations. Abstract data types are used to make the manipulative events more precise and amenable to verification. Shared data abstractions are used to help describe the communication events. This two step modelling method is then applied to two message-passing languages with infinite buffers (Kahn and MacQueen's Language and Cospol), a message-passing language with finite buffers (RED), a synchronous message-passing language (CSP), and an external procedure call language (Ada). These languages are then compared and a parallel process facility for a new language AHPPL (A Hierarchical Parallel Programming Language) is described using the model. The semantics of the new facility make the manipulative events symmetrical and less complex and create flexibility with a reduction of complexity in both communication events and the shared data abstraction.

Read the paper · More papers on PaperTik