EPSRC logo

Details of Grant 

EPSRC Reference: GR/J11850/01
Principal Investigator: Fourman, Professor MP
Other Investigators:
Gilmore, Professor S Ibbett, Professor R
Researcher Co-Investigators:
Project Partners:
Department: Sch of Informatics
Organisation: University of Edinburgh
Scheme: Standard Research (Pre-FEC)
Starts: 01 February 1994 Ends: 31 July 1997 Value (£): 204,996
EPSRC Research Topic Classifications:
Parallel Computing
EPSRC Industrial Sector Classifications:
Related Grants:
Panel History:  
Summary on Grant Application Form
We wish to investigate a shared memory ( shared environment ) model of distributed computation using the Standard ML language as the starting point. Processes are lightweight threads under the control of the language runtime system. Communications primitives are added to the language to allow interprocess communication. Values are passed over dynamically-created channels. Channels themselves are values, and so may be passed between processes, allowing highly dynamic systems to be built. Other communications mechanisms, possibly based on SML-like pattern matching, may be considered.The shared environment aspect of the model leads to new problems involving store management. The distribution of computation opens the possibilities of novel compiler optimisations; since channels are first-class, enabling such optimisations poses complex dataflow issues. Distribution also raises issues of load balancing that can be addressed by an efficient implementation. Progress:David Matthews has implemented a version of Poly/ML with an rfork primitive that allows processes to run on remote machines. Communications primitives send and receive allow processes to send values back and forth. Matthews and Thierry LeSergent have designed a store management facility that combines garbage collection local to a machine, and global garbage collection. Some reasonably large programs have been run, with significant speedups. The store management facility, known as LEMMA, is written in C and can be used as an application program interface (API) in its own right. LeSergent, along with his doctoral supervisor Bernard Berthomieu, have described how to perform dynamic load balancing, and presented some empirical results for their algorithm. Paul Steckler has investigated static analysis issues arising out of the separate compilation of code, and has designed an analysis to determine when the use of channels is restricted to the machine on which they are created. Steckler and Matthews are implementing this analysis for the Poly/ML compiler, and hope to realise large communications speedups.
Key Findings
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Potential use in non-academic contexts
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Description This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Date Materialised
Sectors submitted by the Researcher
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Project URL:  
Further Information:  
Organisation Website: http://www.ed.ac.uk