Hardware extraction of low-level concurrency from sequential instruction streams (parallelism, implementation, architecture, dependencies, semantics)
The thesis presents hardware solutions to low-level (semantic) concurrency extraction. In the fir... more The thesis presents hardware solutions to low-level (semantic) concurrency extraction. In the first solution the focus is on reducing control-flow inhibitors of concurrency in sequential instruction streams. A theory of reduced procedural dependencies is outlined, based on traditional code's branch domains (the code between a branch and its target), and a hardware execution algorithm is described. In the second solution, the focus is on the reduction of data-flow inhibitors of concurrency in sequential instruction streams. A set of semantic dependencies are demonstrated to be necessary and sufficient for sequential instruction streams. This minimal set, combined with restrictive array accesses, is used by the second solution. The reduced procedural dependency algorithm of the first solution is combined with a new reduced data dependency algorithm to yield a new (more costly) machine model executing standard sequential code in a data-flow-like manner. Also considered is a conceptually simple form of branch prediction used in conjunction with the second model. The two solutions are evaluated in terms of performance and hardware cost and delay. Different variations of data and procedural dependency models are simulated using a wide range of benchmarks as input. The performance results are presented and analyzed, showing both gains and areas for further improvement.
Uploads
Papers by Gus Uht