John R. Davy

Learn More
This paper describes a strategy for the structuring and analysis of parallel code, using shared abstract data types (SADTs). SADTs are used to provide both scalability, and a way of supporting modular and portable code development. An example of their usage is presented for a dynamic load balancing method. A framework for performance analysis is described,(More)
This paper demonstrates the utility of typed shared data abstractions as an effective high-level means of structuring and coordinating parallel programs. Access to data shared by concurrent processes is expressed through operations of shared abstract data types (SADTs). SADTs abstract low-level concerns of communication and synchronization. The exposition(More)
Several authors have proposed the use of algorithmic skeletons as a high-level, machine-independent means of developing parallel programs. This paper addresses the question of modelling the performance of such skeletons. The execution time for a skeleton is presented as a generic higher order complexity function. Instantiation of the skeletion with a(More)
Conventionally, interaction in Parallel and Distributed systems is achieved through the use of either Message Passing or Shared Memory. This paper presents the case for an alternative mechanism supporting high-performance sharing in applications; Shared Abstract Data-types (SADTs). An example of the class of SADTs, a highly concurrent FIFO queue, is used to(More)
Modern parallel processing machines are becoming more scalable through advances in network technology. It is now important to have a scalable computational model to support the design and analysis of algorithms. This paper describes a practical implementation of the WPRAM model, which has been used at Leeds for a number of years. The distinctive features of(More)