Title :
Applying data speculation in modulo scheduled loops
Author :
Mahadevan, Uma ; Nomura, Kevin ; Ju, Roy Dz-ching ; Hank, Rick
Author_Institution :
Hewlett-Packard Co., Cupertino, CA, USA
Abstract :
Modulo scheduling is an effective instruction scheduling technique for exploiting ILP in modern microprocessors with wide machine resources. As with any instruction scheduling technique, its effectiveness is constrained by both the source program dependencies as deduced by the compiler and the resources available in the target machine. Data speculation is a technique for eliminating memory dependencies in the instruction dependence graph with demonstrated benefits in acyclic scheduling. Therefore, by applying data speculation in modulo scheduled loops we are able to achieve higher degrees of instruction level parallelism. This paper addresses a number of key issues in applying data speculation to modulo scheduling: effectively identifying the additional instructions required to recover from misspeculation, ensuring full recoverability of instructions speculated across multiple stages and possibly executed speculatively multiple times on-the-fly, and coloring rotating registers for speculated instructions and instructions in recovery blocks. We implemented the framework proposed in this paper and demonstrated its effectiveness through experimental results
Keywords :
parallel architectures; processor scheduling; program compilers; ILP; compiler; data speculation; instruction scheduling; modulo scheduled loops; Collaborative software; Collaborative work; Computer architecture; Hardware; Microprocessors; Processor scheduling; Production; Program processors; Runtime; Scheduling algorithm;
Conference_Titel :
Parallel Architectures and Compilation Techniques, 2000. Proceedings. International Conference on
Conference_Location :
Philadelphia, PA
Print_ISBN :
0-7695-0622-4
DOI :
10.1109/PACT.2000.888341