EPSRC Reference: |
GR/J11850/01 |
Title: |
SHARED ENVIRONMENTS FOR DISTRIBUTED COMPUTING |
Principal Investigator: |
Fourman, Professor MP |
Other Investigators: |
|
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: |
|
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
|
Impacts |
Description |
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk |
Summary |
|
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 |