Skip to main content
Kent Academic Repository

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) (KAR id:30601)

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.
Official URL:
http://www.cs.kent.ac.uk/pubs/2009/3058

Abstract

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: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: D.J. Dimmich
Date Deposited: 21 Sep 2012 09:49 UTC
Last Modified: 16 Nov 2021 10:08 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/30601 (The current URI for this page, for reference purposes)

University of Kent Author Information

Dimmich, Damian J..

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.