Hostname: page-component-7c8c6479df-ws8qp Total loading time: 0 Render date: 2024-03-29T12:25:50.565Z Has data issue: false hasContentIssue false

An overview of the Flagship system

Published online by Cambridge University Press:  07 November 2008

John A. Keane
Affiliation:
Centre for Novel Computing, Department of Computer Science, University of Manchester, Manchester, M13 9PL, UK (e-mail: jak@uk.ac.man.cs)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The Flagship Project1 was a research collaboration between the University of Manchester, Imperial College London and International Computers Ltd. The project was unusual in that it aimed to produce a complete computing system based on a declarative programming style. Three areas of a declarative system were addressed: (1) programming languages and programming environments; (2) the machine architecture and computational models; and (3) the software environment. This overview paper discusses each of these areas, the intention being to present the project as a coherent whole.

Type
Articles
Copyright
Copyright © Cambridge University Press 1994

References

Almasi, G. S. and Gottlieb, A. (1989) Highly Parallel Computing. Benjamin/Cummings.Google Scholar
Arvind, X. and Brock, J. D. (1984) Resource Managers in Functional Programming. J. Parallel and Distributed Computing, 1 (1): 521.CrossRefGoogle Scholar
Atkinson, M. P., Bailey, P., Cockshott, W. P., Chisholm, K. J. and Morrison, R. (1983) The PS-algol Reference Manual, Persistent Programming Research Report 4, University of Glasgow & University of St Andrews.Google Scholar
Banach, R., Sargeant, J., Watson, I., Watson, P. and Woods, V. (1988) The Flagship Project. In Proc. IEE/BCS UK IT 88, 242245.Google Scholar
Banach, R. and Watson, P. (1989) Dealing with state on Flagship: The MONSTR computational model. In Jesshope, C. and Reinartz, K. D. (editors), CONPAR 88, Cambridge University Press, 595604.Google Scholar
Boddy, G. S. (1988) The use of VDM within the Alvey Flagship project. In Bloomfield, R., Marshall, L. and Jones, R. (editors), VDM – The Way Ahead, LNCS, vol. 328, Springer-Verlag, 153160.CrossRefGoogle Scholar
Broughton, P., Thomson, C. M., Leunig, S. R. and Prior, S. (1987) Designing system software for parallel declarative systems. ICL Technical J., 5 (3): 541554.Google Scholar
Burstall, R. M., MacQueen, D. B. and Sanella, D. T. (1980) HOPE: An experimental applicative language. Technical Report CSR-62-80, Department of Computing Science, University of Edinburgh.Google Scholar
Cheese, A. B. (1990) A distributed model of computation for combinatory code. In Zedan, H. S. M. (editor), Distributed Computer Systems, Butterworths, 161171.CrossRefGoogle Scholar
Darlington, J. and Reeve, M. (1981) ALICE: A multiprocessor reduction machine for the parallel evaluation of applicative languages. In Proc. ACM Conf. on Functional Programming and Computer Architecture, 6575.Google Scholar
Darlington, J. (1987) Software development using functional programming languages. ICL Technical J., 5 (3): 492508.Google Scholar
Darlington, J. and While, L. (1987) Controlling the behaviour of functional language systems. In Kahn, G. (editor), Functional Programming Languages and Computer Architectures, LNCS, vol. 274, Springer-Verlag, 278300.CrossRefGoogle Scholar
Darlington, J. and Guo, Y. (1989) Narrowing and unification in functional programming – an evaluation mechanism for absolute set abstraction. In Dershowitz, N. (editor), Rewriting Techniques and Applications, LNCS, vol. 355, Springer-Verlag, 92108.CrossRefGoogle Scholar
Darlington, J., Khoshnevisan, K., McLoughlin, L., Perry, N., Pull, H., Sephton, K. and While, L. (1989 a) An introduction to the Flagship programming environment. In Jesshope, C. R. and Reinartz, K. D. (editors), CONPAR 88, Cambridge University Press, 108115.Google Scholar
Darlington, J., Harrison, P., Khoshnevisan, H., McLoughlin, L., Perry, N., Pull, H., Reeve, M., Sephton, K., While, L. and Wright, S. (1989 b) A functional programming environment supporting execution, partial execution and transformation. In Odijik, E., Rem, M. and Syre, J.-C. (editors), PARLE '89 Parallel Architectures and Languages Europe volume 1, LNCS, vol. 365, Springer-Verlag, 286305.CrossRefGoogle Scholar
Darlington, J., Field, A. J., Harrison, P. G., Harper, D., Jouret, G. K., Kelly, P. J., Sephton, K. and Sharp, D. W. (1991) Structured parallel functional programming. In Glaser, H. and Hartel, P. (editors), Proc. Workshop on Parallel Implementation of Functional Languages, Technical Report CSTR 91-07, Department of Electronics and Computer Science, University of Southampton, 3151.Google Scholar
Dennis, J. B. (1981) Data Should Not Change: A Model for a Computer System. MIT Laboratory for Computer Science, Cambridge, MA.Google Scholar
Derbyshire, M. H. (1990) Mark scan garbage collection on a distributed architecture. J. Lisp and Symbolic Computation, 3: 135170.CrossRefGoogle Scholar
Field, A. J. and Harrison, P. G. (1988) Functional Programming. Addison-Wesley.Google Scholar
Glauert, J. R. W., Hammond, K., Kennaway, J. R. and Papodopoulos, G. A. (1989) Using DACTL to implement declarative languages. In Jesshope, C. R. and Reinartz, K. D. (editors), CONPAR 88, Cambridge University Press, 116124.Google Scholar
Greenberg, M. I. (1989) An Investigation into Architectures for a Parallel Packet Reduction Machine. PhD Thesis, University of Manchester.Google Scholar
Greenberg, M. I. & Woods, V. (1990) FLAGSHIP – a parallel reduction machine for declarative programming. Computing & Control Engineering J., 1 (2): 8186.CrossRefGoogle Scholar
Harrison, P. G. (1987) Functional Inversion. In Proc. Workshop on Parallel Evaluation and Mixed Computation, North-Holland.Google Scholar
Hilditch, A. S. & Thomson, C. M. (1989) Distributed Deadlock Detection: Algorithms and Proofs. Technical Report UMCS-89-6-1, Department of Computer Science, University of Manchester.Google Scholar
Hilditch, A. S. and Thomson, C. M. (1990) Distributed Relational Queries: Structures for Locking and Access. Technical Report UMCS-90-8-1, Department of Computer Science, University of Manchester.Google Scholar
Hoare, C. A. R. (1985) Communicating Sequential Processes. Prentice-Hall.Google Scholar
Holdsworth, S. (1988) The Implementation of Layers of Abstraction of Serialisability in a Parallel Packet Rewrite Machine. Transfer Report, University of Manchester.Google Scholar
Holdsworth, S., Keane, J. A. and Mayes, K. R. (1989) Aspects of protection on the Flagship machine. ICL Technical J., 6 (4): 757777.Google Scholar
Hudak, P., Peyton Jones, S. and Wadler, P. (editors) (1992) Report on the Programming Language Haskell, Version 1.2.CrossRefGoogle Scholar
Hughes, R. M. J. 1982. Graph Reduction with Super-Combinators. Technical Monograph PRG-28, Oxford University Computing Laboratory.Google Scholar
Jones, C. B. (1983) Tentative steps towards a development method for interfering programs. ACM TOPLAS, 5 (4): 596619.CrossRefGoogle Scholar
Jones, C. B. (1990) Systematic Software Development Using VDM. 2nd Ed.Prentice Hall.Google Scholar
Jones, S. B. and Sinclair, A. F. (1991) On input and output in functional languages. In Banâtre, J-P., Jones, S. B. and Le Métayer, D. (editors), Prospects for Functional Programming in Software Engineering, Esprit Research Reports Project 302 Volume 1, Springer-Verlag, 139171.Google Scholar
Keane, J. A. (1989) Aspects of Binding in a Declarative System. MSc Thesis, University of Manchester.Google Scholar
Keane, J. A. (1990 a). The Flagship Declarative System. Technical Report UMCS-90-2-1, Department of Computer Science, University of Manchester.Google Scholar
Keane, J. A. (1990 b). Distributed Binding Mechanisms in the Flagship System. Technical Report UMCS-90-8-2, Department of Computer Science, University of Manchester.Google Scholar
Keane, J. A. and Hussak, W. (1992) The use of formal methods in parallel operating systems. In Proc. CompSAC 92, IEEE Press, 245250.Google Scholar
Keane, J. A. and Mayes, K. R. (1992) Resource management on a packet-based parallel graph reduction machine. In Proc. CONPAR 92 – VAPP V, LNCS, vol. 634, Springer-Verlag, 417422.CrossRefGoogle Scholar
Keller, R. M. (1987) Rediflow architecture prospectus. In Thakkar, S. S. (editor), Selected Reprints on Dataflow and Reduction Architectures, IEEE Press, 366394.Google Scholar
Kennaway, J. R. and Sleep, M. R. (1984) The ‘Language First’ approach. In Chambers, F. B., Duce, D. A. and Jones, G. P. (editors), Distributed Computing. APIC Studies in Data Processing, 11124.Google Scholar
Kewley, J. M. and Glynn, K. (1990) Evaluation annotations for Hope+. In Davis, K. and Hughes, R. J. M. (editors), Functional Programming, Glasgow, 1989, Springer-Verlag, 329337.Google Scholar
Khoshnevisan, H. (1988) Efficient Memo-Table Management Strategies. Department of Computing, Imperial College London.Google Scholar
Khoshnevisan, H. and Sephton, K. (1989) InvX: An automatic function inversion. In Dershowitz, N. (editor), Rewriting Techniques and Applications, LNCS, vol. 355, Springer-Verlag, 564568.CrossRefGoogle Scholar
Kirkham, C. (1990) The MANCHESTER DATAFLOW project. In Fountain, T. J. and Shute, M. J. (editors). Multiprocessor Computer Architecture. North-Holland, 141153.Google Scholar
Leunig, S. R. (1987) Abstract Data Types in the Flagship System Software. Flagship Document FLAG/DD/303.xxx, ICL.Google Scholar
Leunig, S. R. (1988) Design Description of the System Software. Flagship Document FLAG/DD/3SD.016, ICL.Google Scholar
Liu, F. (1990) Absolute set abstraction and its evaluation mechanism. In Plasmeijer, M. (editor), Implementations of Functional Languages on Parallel Architectures. Technical Report No. 90–16, University of Nijmegen, 321352.Google Scholar
McLoughlin, L. and Hayes, E. S. (1990) Imperative effects from a pure functional language. In Davis, K. and Hughes, R. J. M. (editors), Functional Programming, Glasgow, 1989, Springer-Verlag, 157169.Google Scholar
Mago, G. and Stanat, D. F. (1989) The FFP machine. In Milutinovic, V. M. (editor), High Level Language Computer Architecture. Computer Science Press, 430468.Google Scholar
Mayes, K. R., Keane, J. A. and Holdsworth, S. (1991) The Structure of the Flagship System Software. Technical Report UMCS-91-11-1, Department of Computer Science, University of Manchester.Google Scholar
Michie, D. (1968) 'Memo' functions and machine learning. Nature, 218: 1922.CrossRefGoogle Scholar
Perry, N. (1987 a) HOPE +. IC/FPR/LANG/2.5.1/7, Department of Computing, Imperial College.Google Scholar
Perry, N. (1987 b) HOPE +C. IC/FPR/LANG/2.5.1/21, Department of Computing, Imperial College.Google Scholar
Peyton Jones, S. L. (1987) The Implementation of Functional Programming Languages. Prentice-Hall.Google Scholar
Peyton Jones, S. L., Clack, C. and Salkild, J. (1989) High-performance parallel graph reduction. In Odijik, E., Rem, M. and Syre, J.-C. (editors), PARLE '89 Parallel Architectures and Languages Europe Vol. 1, LNCS, vol. 365, Springer-Verlag, 193206.CrossRefGoogle Scholar
Reeve, M. and Wright, S. (1990) The experimental ALICE machine. In Fountain, T. J. and Shute, M. J. (editors), Multiprocessor Computer Architecture. North-Holland, 3956.Google Scholar
Robertson, I. B. (1990) Hope+ on Flagship. In Davis, K. and Hughes, R. J. M. (editors), Functional Programming, Glasgow, 1989, Springer-Verlag, 296307.Google Scholar
Sargeant, J. (1987) Load Balancing, Locality and Parallelism Control in Fine-Grain Parallel Machines. Technical Report UMCS-86-11-5, Department of Computer Science, University of Manchester.Google Scholar
Sargeant, J. and Watson, I. (1991) Some experiments in controlling the dynamic behaviour of parallel functional programs. In Glaser, H. and Hartel, P. (editors), Proc. Workshop on Parallel Implementation of Functional Languages. Technical Report CSTR 91-07, Department of Electronics and Computer Science, University of Southampton, 103121.Google Scholar
Sharifi, M. (1991) An Investigation into the Attributes of General Purpose Parallel Programming Models. PhD Thesis, University of Manchester.Google Scholar
Sleep, M. R. and Kennaway, J. R. (1984) The Zero Assignment Parallel Processor (ZAPP) project. In Duce, D. A. (editor), Distributed Computing Systems Programme, Peter Peregrinus, 250269.Google Scholar
Syed-Mustaffa, S. M. S. (1992) A model for OR-Parallel Prolog execution using graph reduction. In Brough, D. R. (editor), Logic Programming – New Frontiers. Intellect Books, 227252.CrossRefGoogle Scholar
Tan, G. and Woods, V. (1990) Load balancing and multiprogramming in the flagship parallel reduction machine. In Proc. PARBASE-90, IEEE Press, 560.Google Scholar
Thomson, C. M. (1987) PRM Definition. Flagship Document FLAG/DD/101.001, ICL.Google Scholar
Townsend, P. (1987) Flagship hardware and implementation. ICL Technical J., 5 (3): 575594.Google Scholar
Trinder, P. W. (1989) A Functional Database. DPhil Thesis, Oxford University.Google Scholar
Turner, D. A. (1979) A new implementation technique for applicative languages. Software Practice and Experience, 9 (1): 3149.CrossRefGoogle Scholar
U. S. Department of Defense Security Center, (1983) Trusted Computer System Evaluation Criteria. CSC-STD-001-83.Google Scholar
Watson, P. (1986) The Parallel Reduction of Lambda Calculus Expressions. PhD Thesis, University of Manchester.Google Scholar
Watson, I., Watson, P. & Woods, V. (1986) Parallel data-driven graph reduction. In Woods, J. V. (editor), Fifth Generation Computer Architectures. North-Holland, 203220.Google Scholar
Watson, I. (1987 a) Environments and Contexts. Flagship Document FS/MU/IW/013-87, University of Manchester.Google Scholar
Watson, P. (1987 b) The Flagship Basic Execution Mechanism. Flagship Document FS/MU/PW/018-87, University of Manchester.Google Scholar
Watson, P. (1987 c) A Supercombinator Model of Computation. Flagship Document FS/MU/PW/021-87, University of Manchester.Google Scholar
Watson, P. and Watson, I. (1987) An efficient garbage collection scheme for parallel computer architectures. In de Bakker, J. W., Nijman, A. J. and Treleaven, P. C. (editors), PARLE Volume 2, LNCS, vol. 259. Springer-Verlag, 432443.Google Scholar
Watson, I., Sargeant, J., Watson, P. and Woods, V. (1989) The Flagship parallel machine. In Jesshope, C. R. and Reinartz, K. D. (editors), CONPAR 88, Cambridge University Press, 125133.Google Scholar
Watson, P. (1990) The FLAGSHIP parallel machine. In Fountain, T. J. and Shute, M. J. (editors), Multiprocessor Computer Architecture. North-Holland, 5781.Google Scholar
Watson, P. and Watson, I. (1990) Evaluating declarative languages on a parallel graph reduction machine. In David, G., Boute, R. T. and Shriver, B. D. (editors), Declarative System. North-Holland, 165188.Google Scholar
Ye, X., Warboys, B. C. and Keane, J. A. (1990) Specification and verification of a distributed recovery algorithm for functional languages. In Proc. 20th Int. Symp. on Fault-Tolerant Computing – FTCS 20,IEEE Press, 307314.Google Scholar
Ye, X. F. and Keane, J. A. (1992) Token scheme: An algorithm for distributed termination detection and its proof of correctness. In van Leeuwen, J. (editor), Information Processing 92 – Volume 1: Algorithms, Software, Architecture. North-Holland, 357364.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.