A Process Oriented Approach to Solving Problems of Parallel Decomposition and Distribution

Dimmich, Damian J. (2009) A Process Oriented Approach to Solving Problems of Parallel Decomposition and Distribution. Doctor of Philosophy (PhD) thesis, Computing. (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL


Abstract This thesis argues that there is a modern, broad and growing need for programming languages and tools supporting highly concurrent complex systems. It claims traditional approaches based on threads and locks, are non-compositional and do not scale. Instead, it focuses on occam-pi, a derivative from classical Transputer occam whose process oriented concurrency model is based on a combination of the formal algebras of Hoare's Communicating Sequential Processes and Milner's pi-calculus. The advent of hybrid processors such as STI's Cell Broadband Engine, which consists of a PowerPC core and eight vector co-processors on a single die, NVidia's graphics-processor based CUDA architecture and Intel's upcoming Larabee require new programming paradigms in order to be used effectively. occam-pi's compositional concurrency model simplifies the management of complexity of concurrent programs and is capable of filling the technological gap that the new processors are creating in terms of the lack of expressiveness of concurrency in current programming languages. occam-pi's formalised basis allows reasoning about programs using formal methods techniques and avoids common concurrency errors though compile-time verification. The Transterpreter, a new portable runtime for occam-pi reduced the cost of porting occam-pi to new platforms to a minimum. Further extensions to the Transterpreter enable hardware-specific enhancements to the support library, making it possible to implement and evaluate occam-pi on new platforms in a relatively short time. The work reported in this thesis makes use of this ability and presents implementations of the Transterpreter on new and interesting processors, evaluating the use of process oriented concurrency as a programming model on such processors. Additional infrastructure that is required to make occam-pi useful on such architectures is presented, such as interfacing with legacy languages, thereby providing support for existing libraries and device drivers. Furthermore techniques for making use of vector processing capabilities that are offered by these new architectures are described. This thesis claims that the work presented makes a useful contribution to simplifying the design and construction of complex systems through the use of concurrency. By enabling both the language and the runtime to support new architectures through libraries, device drivers and direct access to hardware, it enables that contribution for learners and advanced engineers working with novel hardware.

Item Type: Thesis (Doctor of Philosophy (PhD))
Uncontrolled keywords: determinacy analysis, Craig interpolants
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Programming Languages and Systems Group
Depositing User: D.J. Dimmich
Date Deposited: 21 Sep 2012 09:49
Last Modified: 01 Jul 2014 14:43
Resource URI: https://kar.kent.ac.uk/id/eprint/30601 (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year