The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - January/February (2009 vol.29)
pp: 73-83
Brandon Lucia , University of Washington
Joseph Devietti , University of Washington
Luis Ceze , University of Washington
Karin Strauss , AMD and University of Washington
ABSTRACT
<p>Hardware can play a significant role in improving reliability of multithreaded software. Recent architectural proposals arbitrarily group consecutive dynamic memory operations into atomic blocks to enforce coarse-grained memory ordering, providing implicit atomicity. The authors of this article observe that implicit atomicity probabilistically hides atomicity violations by reducing the number of interleaving opportunities between memory operations. They propose Atom-Aid, which creates implicit atomic blocks intelligently instead of arbitrarily, dramatically reducing the probability that atomicity violations will manifest themselves.</p>
INDEX TERMS
atomicity violations, dynamic memory, parallel programming
CITATION
Brandon Lucia, Joseph Devietti, Luis Ceze, Karin Strauss, "Atom-Aid: Detecting and Surviving Atomicity Violations", IEEE Micro, vol.29, no. 1, pp. 73-83, January/February 2009, doi:10.1109/MM.2009.1
REFERENCES
1. S. Lu et al., "Learning from Mistakes: A Comprehensive Study on Real World Concurrency Bug Characteristics," Proc. 13th Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS 08), ACM Press, 2008, pp. 329-339.
2. M. Xu, R. Bodik, and M.D. Hill, "A Serializability Violation Detector for Shared-Memory Server Programs," Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI 05), 2005, pp. 1-14.
3. S. Savage et al., "Eraser: A DynamicData Race Detector for Multi-threaded Programs," ACM Trans. Computer Systems, vol. 30, no. 4, Nov. 1997, article no. 20.
4. M. Prvulovic and J. Torrellas, "ReEnact: Using Thread-Level Speculation Mechanisms to Debug Data Races in Multithreaded Codes," Proc. 30th Ann. Int'l Symp. Computer Architecture (ISCA 03), ACM Press, 2003. pp. 110-121.
5. C. Flanagan and S. Qadeer, "A Type and Effect System for Atomicity," Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI 03), ACM Press, 2003, pp. 338-349.
6. M. Herlihy and J.E.B. Moss, "Transactional Memory: Architectural Support for Lock-Free Data Structures," Proc. 20th Ann. Int'l Symp. Computer Architecture (ISCA 93), IEEE CS Press, 1993, pp. 289-300.
7. S. Lu et al., "AVIO: Detecting Atomicity Violations via Access Interleaving Invariants," Proc. Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS 06), ACM Press, 2006, pp. 37-48.
8. L. Ceze et al., "BulkSC: Bulk Enforcement of Sequential Consistency," Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA 07), ACM Press, 2007, pp. 278-289.
9. T.F. Wenisch et al., "Mechanisms for Store-Wait-Free Multiprocessors," Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA 07), ACM Press, 2007, pp. 266-277.
10. E. Vallejo et al., "Implementing Kilo-instruction Multiprocessors," Proc. Int'l Conf. Pervasive Services (ICPS 05), IEEE CS Press, 2005, pp. 325-336.
11. B. Lucia et al., "Atom-Aid: Detecting and Surviving Atomicity Violations," Proc. 35th Int'l Symp. Computer Architecture (ISCA 35), IEEE CS Press, 2008, pp. 277-288.
12. C.K. Luk et al., "Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation," Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI 05), ACM Press, 2005, pp. 190-200.
13. L. Ceze et al., "Bulk Disambiguation of Speculative Threads in Multiprocessors," Proc. 33rd Ann. Int'l Symp. Computer Architecture (ISCA 06), ACM Press, 2006, pp. 227-238.
17 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool