Limits of control flow on parallelism
- 1 April 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 20 (2) , 46-57
- https://doi.org/10.1145/146628.139702
Abstract
This paper discusses three techniques useful in relaxing the constraints imposed by control flow on parallelism: control dependence analysis, executing multiple flows of control simultaneously, and speculative execution. We evaluate these techniques by using trace simulations to find the limits of parallelism for machines that employ different combinations of these techniques. We have three major results. First, local regions of code have limited parallelism, and control dependence analysis is useful in extracting global parallelism from different parts of a program. Second, a superscalar processor is fundamentally limited because it cannot execute independent regions of code concurrently. Higher performance can be obtained with machines, such as multiprocessors and dataflow machines, that can simultaneously follow multiple flows of control. Finally, without speculative execution to allow instructions to execute before their control dependences are resolved, only modest amounts of parallelism can be obtained for programs with complex control flow.Keywords
This publication has 12 references indexed in Scilit:
- Limits of instruction-level parallelismPublished by Association for Computing Machinery (ACM) ,1991
- Global instruction scheduling for superscalar machinesPublished by Association for Computing Machinery (ACM) ,1991
- Limits on multiple instruction issuePublished by Association for Computing Machinery (ACM) ,1989
- Comparing software and hardware schemes for reducing the cost of branchesPublished by Association for Computing Machinery (ACM) ,1989
- SIMP (Single Instruction stream/Multiple instruction Pipelining): a novel high-speed single-processor architecturePublished by Association for Computing Machinery (ACM) ,1989
- An efficient method of computing static single assignment formPublished by Association for Computing Machinery (ACM) ,1989
- A VLIW architecture for a trace scheduling compilerIEEE Transactions on Computers, 1988
- Instruction issue logic for high-performance, interruptable pipelined processorsPublished by Association for Computing Machinery (ACM) ,1987
- Measuring the Parallelism Available for Very Long Instruction Word ArchitecturesIEEE Transactions on Computers, 1984
- Trace Scheduling: A Technique for Global Microcode CompactionIEEE Transactions on Computers, 1981