The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - January/February (2008 vol.28)
pp: 21-31
Ravi Rajwar , Intel
Naveen Neelakantam , University of Illinois at Urbana-Champaign
ABSTRACT
Hardware support for atomic execution can both greatly simplify the implementation of existing speculative compiler optimizations and enable new ones. Given current technology trends, this hardware and software cooperation is a compelling approach; such optimizations can simultaneously improve single-thread performance and reduce power consumption in both sequential and multithreaded applications.
INDEX TERMS
compiler-architecture interactions, architecture, atomicity, checkpoint, compiler, isolation, Java, optimization, speculation
CITATION
Ravi Rajwar, Suresh Srinivas, Uma Srinivasan, Naveen Neelakantam, "Hardware Atomicity: An Effective Abstraction for Reliable Software Speculation", IEEE Micro, vol.28, no. 1, pp. 21-31, January/February 2008, doi:10.1109/MM.2008.7
REFERENCES
1. S.M. Blackburn et al., "The DaCapo Benchmarks: Java Benchmarking Development and Analysis," Proc. 21st Ann. ACM SIGPLAN Conf. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 06), ACM Press, 2006, pp. 169-190.
2. R. Muth and S. Debray, "Partial Inlining," tech. report, Dept. of Computer Science, Univ. of Arizona, 1997.
3. H. Akkary, R. Rajwar, and S.T. Srinivasan, "Checkpoint Processing and Recovery: Towards Scalable Large Instruction Window Processors," Proc. 36th Ann. IEEE/ACM Int'l Symp. Microarchitecture (MICRO 03), IEEE CS Press, 2003, pp. 423-434.
4. N. Neelakantam et al., "Hardware Atomicity for Reliable Software Speculation," Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA 07), IEEE CS Press, 2007, pp. 174-185.
5. K. Kawachiya, A. Koseki, and T. Onodera, "Lock Reservation: Java Locks Can Mostly Do Without Atomic Operations," Proc. 17th Ann. ACM SIGPLAN Conf. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 02), ACM Press, 2002, pp. 130-141.
6. J. Manson, W. Pugh, and S.V. Adve, "The Java Memory Model," Proc. 32nd ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages (POPL 05), ACM Press, 2005, pp. 378-391.
7. R. Rajwar and J.R. Goodman, "Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution," Proc. 34th Ann. IEEE/ACM Int'l Symp. Microarchitecture (MICRO 01), IEEE CS Press, 2001, pp. 294-305.
8. C. Zilles and N. Neelakantam, "Reactive Techniques for Controlling Software Speculation," Proc. Int'l Symp. Code Generation and Optimization (CGO 05), ACM Press, 2005, pp. 305-316.
9. J.R. Larus and R. Rajwar, Transactional Memory, Morgan and Claypool, 2006.
10. S. Melvin and Y. Patt, "Enhancing Instruction Scheduling with a Block-Structured ISA," Int'l J. Parallel Programming, vol. 23, no. 3, 1995, pp. 221-243.
11. S.J. Patel and S.S. Lumetta, "rePLay: A Hardware Framework for Dynamic Optimization," IEEE Trans. Computers, vol. 50, no. 6, 2001, pp. 590-608.
12. J.C. Dehnert et al., "The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-Life Challenges," Proc. Int'l Symp. Code Generation and Optimization (CGO), ACM Press, 2003, pp. 15-24.
13. W.A. Wulf, "Compilers and Computer Architecture," Computer, vol. 14, no. 7, 1981, pp. 41-47.
30 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool