John R. Davy

Learn 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)
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)
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)
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)
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)
We describe a methodology for modelling the performance of parallel algorithmic skeletons and illustrate it using a new skeleton which supports set membership classiication problems in Constructive Solid Geometry. These problems are characterised by potentially unbalanced tree structures with data-dependent computations at the nodes. The skeleton achieves(More)