Parallel incremental compilation. Doctoral thesis
The time it takes to compile a large program has been a bottleneck in the software development process. When an interactive programming environment with an incremental compiler is used, compilation speed becomes even more important, but existing incremental compilers are very slow for some types of program changes. We describe a set of techniques that enable incremental compilation to exploit fine-grained concurrency in a shared-memory multi-processor and achieve asymptotic improvement over sequential algorithms. Because parallel non-incremental compilation is a special case of parallel incremental compilation, the design of a parallel compiler is a corollary of our result. Instead of running the individual phases concurrently, our design specifies compiler phases that are mutually sequential. However, each phase is designed to exploit fine-grained parallelism. By allowing each phase to present its output as a complete structure rather than as a stream of data, we can apply techniques such as parallel prefix and parallel divide-and-conquer, and we can construct applicative data structures to achieve sublinear execution time. Parallel algorithms for each phase of a compiler are presented to demonstrate that a complete incremental compiler can achieve execution time that is asymptotically less than sequential algorithms.
- Research Organization:
- Rochester Univ., NY (USA). Dept. of Computer Science
- OSTI ID:
- 6133898
- Report Number(s):
- AD-A-228726/6/XAB; TR-349; CNN: N00014-82-K-0193
- Resource Relation:
- Other Information: Thesis
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parallel-programming paradigms. Doctoral thesis
Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)
Related Subjects
PARALLEL PROCESSING
ALGORITHMS
ARRAY PROCESSORS
COMPILED DATA
INTERACTIONS
PROGRAMMING
REAL TIME SYSTEMS
STREAMS
TASK SCHEDULING
DATA
DATA PROCESSING
INFORMATION
MATHEMATICAL LOGIC
NUMERICAL DATA
PROCESSING
SURFACE WATERS
990200* - Mathematics & Computers