When parallelising a program, a common method is for a programmer to determine areas suitable for parallel execution themselves. With tools like PVM (Parallel Virtual Machine), Linda, Orca and Concurrent C, this is fairly easy, but there is a great reliance on the programmer to know what is available in terms of resources. As well as breaking a program up into parallel components, a decision as what platform the resultant program will execute on has to be decided. A distributed operating system has an advantage over other operating systems through the simple yet powerful mechanisms provided. Designing and implementing a compiler that can detect areas of possible parallelisation, automatically and utilise resources made available in a distributed computing system are the main goals of this research. By using such a compiler, parallel execution can and will become more widely used. Without the need for programmers to be retrained or re-taught to program in a parallel manner. The uptake of distributed systems will also benefit because of low cost per performance ratio that is inherent in such a system.- iii-
|
690
|
PVM: A framework for parallel distributed computing. Concurrency: Practice and Experience
– Sunderam
- 1990
|
|
645
|
Distributed Operating Systems
– Tanenbaum
- 1995
|
|
389
|
Introduction To Parallel Computing: Design And Analysis
– Kumar, Grama, et al.
- 1994
|
|
204
|
Programming languages for distributed computing systems
– Bal, Steiner, et al.
- 1989
|
|
141
|
How to Write Parallel Programs: A First Course
– Carriero, Gelernter
- 1990
|
|
116
|
Parallel Programming and Compilers
– Polychronopoulos
- 1988
|
|
112
|
Distributed Operating Systems: The Logical Design
– Goscinski
- 1991
|
|
110
|
Real-time systems and their programming languages
– Burns, Wellings
- 1990
|
|
97
|
The PARADIGM Compiler for Distributed-Memory Message Passing Multicomputers
– Banerjee, Chandy, et al.
- 1994
|
|
71
|
Applications experience with Linda
– Carriero, Gelernter
- 1988
|
|
70
|
Programming Distributed Systems
– Bal
- 1990
|
|
39
|
ªThe Structure of Parafrase-2: An Advanced Parallelizing Compiler for C and Fortran,º
– Polychronopoulos, Girkar, et al.
- 1990
|
|
37
|
Automatic Detection of Parallelism: A Grand Challenge for High-Performance Computing
– Blume, Eigenmann, et al.
- 1994
|
|
31
|
Exploiting the parallelism available in loops
– Lilja
- 1994
|
|
28
|
Principles of Concurrent and Distributed Programming
– Ben-Ari
- 1990
|
|
26
|
An Introduction to the MPI Standard
– Dongarra, Otto, et al.
- 1995
|
|
20
|
The Polaris internal representation
– Faigin, Hoeflinger, et al.
- 1994
|
|
14
|
Design and implementation of parallel make
– Baalbergen
- 1988
|
|
14
|
Extracting task-level parallelism
– Girkar, Polychronopoulos
- 1995
|
|
14
|
C 3 : A parallel model for coarse-grained machines
– Hambrusch, Khokhar
- 1996
|
|
10
|
The RHODOS Microkernel, Kernel Servers and Their Cooperation
– Paoli, Goscinski, et al.
- 1995
|
|
8
|
Using and porting GNU CC", Free Software Foundation
– Stallman
- 1990
|
|
8
|
Structured Computer Organisation
– Tanenbaum
- 1984
|
|
7
|
Languages and Compilers for Parallel Computing
– Gelernter, Nicolau, et al.
- 1990
|
|
7
|
A Comparison of Two Distributed Systems
– Douglis, Kaashoek, et al.
- 1991
|
|
7
|
Memory Spaces for the RHODOS Multi-threaded Microkernel System
– Hobbs, Wickham, et al.
- 1995
|
|
7
|
lex & yacc," O'Reilly & Associates
– Levine, Mason, et al.
- 1992
|
|
6
|
An Overview of Process Management in the RHODOS System
– Paoli, Goscinski
- 1994
|
|
6
|
Towards a Global Computer: Improving the Overall Distributed System Performance and the Computational Services Provided to Users by Employing Global Scheduling and Parallel Execution, ARC
– Goscinski, Zhou
- 1994
|
|
6
|
High-Level Languages and Their Compilers
– Watson
- 1989
|
|
5
|
A hierarchical approach to instruction-level parallelization
– Novack, Nicolau
- 1995
|
|
4
|
A data-parallel FP compiler
– Walinsky, Banerjee
- 1994
|
|
3
|
Space Based Distributed Shared Memory on RHODOS
– Silcock, Goscinski
- 1996
|
|
2
|
A Survey of Basic Issues of Parallel Execution on a Distributed System
– Evans, Goscinski
- 1995
|
|
2
|
Automatic Identification of Parallel Units and Synchronisation Points in Programs
– Evans, Goscinski
- 1997
|
|
2
|
Symbolic analysis for parallelising compilers
– Haghighat, Polychronopoulos
- 1996
|
|
2
|
Using Knowledge-Based Techniques for Parallelisation on Parallelising Compilers
– Yang, Tseng, et al.
- 1995
|
|
1
|
Advanced Compiler Optimisations for Sparse Computations
– Bik, Wijshoff
- 1995
|
|
1
|
Identification of Course-grained Units of Parallelism in Programs & their Parallel Execution on Distributed Systems
– Goscinski
|
|
1
|
A Testbed Compiler Capable of Taking Maximum Advantage of Parallelism in Sequential Programs
– Goscinski
|
|
1
|
A Parallel Execution Environment Supporting Parallel Processing on Distributed Systems
– Goscinski
|
|
1
|
Distributing C Compiles", Australian Unix Users
– Grey
- 1993
|
|
1
|
Teaching Compiler Theory", Private conversation
– Webb
- 1995
|