| M. Moudgill and J. Moreno, Run-time Detection and Recovery from Incorrectly Ordered Memory Operations, Report No. RC 20857, IBM T.J. Watson |
....by providing more reliable information in the common case. However, the speculative nature of our schemes causes the analysis results to be not always correct. This means that any optimization performed using this speculative analysis will be speculative as well. Speculative optimizations [21, 17, 22, 20, 27] have been widely used in the compiler world for reducing the overall execution time of programs. The key idea behind speculation is breaking the original program sequence by executing a (possibly unsafe) better reordering of instructions, corresponding to the most likely execution paths. Since ....
....Discussion of speculative optimizations as well as check and recovery mechanisms are, however, beyond of the scope of this paper. In general, speculative alias analysis is particularly well suited to be used in combination with speculative optimizations based on reordering memory operations [21, 17, 22, 27], including those related to the IA 64 architecture [5] An example of such optimizations can be seen in Figure 6. By using the new status of likely independent (see Section 3.3) our speculative disambiguator not only provides information about which instructions are likely to be moved, but ....
[Article contains additional citation context not shown here]
M. Moudgill and J. H. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. Technical Report RC-2085.
....pair of memory instructions. I1 . store r3, r1) use r4 load (r2) r4 store r3, r1) I1 beq r1, r2 I2 I2 . use r0 load (r2) r0 store r3, r1) I1 I2 use r4 bne r0, r4 load (r2) r4 I2 . a) b) c) True False False Figure 5. Reorderingmemory operations [20]: a) original sample sequence; recovery based reordering by using (b) interference test, c) coherence test. reliable information in the common case. However, the speculative nature of our schemes causes the analysis results to be not always correct. That is, optimization performed using ....
....interference test, c) coherence test. reliable information in the common case. However, the speculative nature of our schemes causes the analysis results to be not always correct. That is, optimization performed using speculative analysis will be speculative as well. Speculative optimizations [19, 15, 20, 18, 25] have been widely used in the compiler world for reducing the overall execution time of programs. The key idea behind speculation is breaking the original program sequence by executing a (possibly unsafe) better reordering of instructions, corresponding to the most likely execution paths. Since ....
[Article contains additional citation context not shown here]
M. Moudgill and J. H. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. Technical Report RC-2085.
....of the programmer specified variables exhibit predictable behavior at runtime. Our implementation automates this process, identifying candidates for profiling, and then choosing among these candidates for optimization. There is a large body of work relating to value prediction and speculation [10 14, 18 20]. This involves using a combination of compiler generated information and runtime information. For example, a load instruction will often load the same value as it loaded the previous time it was executed. Predictable instructions such as these can be speculatively executed, and then checked at a ....
M. Moudgill and J. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. Technical report, IBM Research, May 1997.
....the load is known to be non speculative. The check instruction checks the speculative load s conflict bit in the MCB; if not set, the speculation was correct, otherwise the load was mis speculated. A similar approach for software based speculative load execution was proposed by Moudgill and Moreno [29]. Instead of using a hardware buffer to check addresses, they check values. They allow loads to be speculatively scheduled above stores, and in addition they execute the load in its original location. They then check the value of the speculative load with the correct value. If they are different a ....
....scheduled above stores, and in addition they execute the load in its original location. They then check the value of the speculative load with the correct value. If they are different a recovery sequence must be executed. Value profiling could support the approach of Moudgill and Moreno [29] to only reschedule loads with a high invariance. This could potentially decrease the number of mis speculated loads. 6 II.B Compiler Analysis for Dynamic Compilation Dynamic compilation and adaptive execution are emerging directions for compiler research which provide improved execution ....
M. Moudgill and J. H. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. IBM Research Report, May 1997.
....compiler inserts a check instruction at the point where the load is known to be non speculative. The check instruction checks to see if a store wrote to the same address since the speculative load was executed. If the speculation was incorrect, recover code has to be executed. Moudgill and Moreno [25] proposed a similar approach but instead of comparing addresses as in the MCB approach, they compare the speculated value and the real value of the load. They speculatively execute the load and its dependent instructions, and they also re execute the load in its original location. They then check ....
M. Moudgill and J. H. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. IBM Research Report, May 1997.
....compiler inserts a check instruction at the point where the load is known to be non speculative. The check instruction checks to see if a store wrote to the same address since the speculative load was executed. If the speculation was incorrect, recover code has to be executed. Moudgill and Moreno [11] proposed a similar approach but instead of comparing addresses as in the MCB approach, they compare the speculated value and the real value of the load. They speculatively execute the load and its dependent instructions, and they also re execute the load in its original location. They then check ....
M. Moudgill and J. H. Moreno, "Run-time detection and recovery from incorrectly reordered memory operations." IBM Research Report, May 1997.
No context found.
M. Moudgill and J. Moreno, Run-time Detection and Recovery from Incorrectly Ordered Memory Operations, Report No. RC 20857, IBM T.J. Watson
No context found.
M. Moudgill and J. H. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. Technical Report RC-2085.
No context found.
M. Moudgill and J. H. Moreno. Run-time detection and recovery from incorrectly reordered memory operations. In IBM research report RC 20857 (91318), May 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC