Accelerating Data Race Detection with Minimal Hardware Support

  • Rodrigo Gonzalez-Alberquilla
  • Karin Strauss
  • Luis Ceze
  • Luis Piñuel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6852)

Abstract

We propose a high performance hybrid hardware/software solution to race detection that uses minimal hardware support. This hardware extension consists of a single extra instruction, StateChk, that simply returns the coherence state of a cache block without requiring any complex traps to handlers. To leverage this support, we propose a new algorithm for race detection. This detection algorithm uses StateChk to eliminate many expensive operations. We also propose a new execution schedule manipulation heuristic to achieve high coverage rapidly. This approach is capable of detecting virtually all data races detected by a traditional happened-before data race detection approach, but at significantly lower space and performance overhead.

Keywords

Software Layer Cache Coherence Coherence State Data Race Cache Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Flanagan, C., Freund, S.N.: FastTrack: Efficient and Precise Dynamic Race Detection. In: Conference on Programming Language Design and Implementation (2009)Google Scholar
  2. 2.
    Lamport, L.: Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM (1978)Google Scholar
  3. 3.
    Lu, S., et al.: AVIO: Detecting Atomicity Violations via Access-Interleaving Invariants. In: International Conference on Architectural Support for Programming Languages and Operating Systems (2006)Google Scholar
  4. 4.
    Lucia, B., et al.: Conflict Exceptions: Providing Simple Concurrent Language Semantics with Precise Hardware Exceptions. In: International Symposium on Computer Architecture (2010)Google Scholar
  5. 5.
    Luk, C.-K., et al.: Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In: Conference on Programming Language Design and Implementation (2005)Google Scholar
  6. 6.
    Manson, J., Pugh, W., Adve, S.: The Java Memory Model. In: Symposium on Principles of Programming Languages (2005)Google Scholar
  7. 7.
    Martinez, J., et al.: Cherry: Checkpointed Early Resource Recycling in Out-of-order Microprocessors. In: International Symposium on Microarchitecture (2002)Google Scholar
  8. 8.
    Min, S.L., Choi, J.-D.: An Efficient Cache-based Access Anomaly Detection Scheme. In: International Conference on Architectural Support for Programming Languages and Operating Systems (1991)Google Scholar
  9. 9.
    Muzahid, A., et al.: SigRace: Signature-Based Data Race Detection. In: International Symposium on Computer Architecture (2009)Google Scholar
  10. 10.
    Nagarajan, V., Gupta, R.: ECMon: Exposing Cache Events for Monitoring. In: International Symposium on Computer Architecture (2009)Google Scholar
  11. 11.
    Nelson, C., Boehm, H.-J.: Concurrency Memory Model. C++ standards committee paper (October 2007)Google Scholar
  12. 12.
    Prvulovic, M.: CORD: Cost-effective (and Nearly Overhead-free) Order-recording and Data Race Detection. In: International Symposium on High Performance Computer Architecture (2006)Google Scholar
  13. 13.
    Prvulovic, M., Torrellas, J.: ReEnact: Using Thread-Level Speculation Mechanisms to Debug Data Races in Multithreaded Codes. In: International Symposium on Computer Architecture (2003)Google Scholar
  14. 14.
    Ronsse, M., De Bosschere, K.: RecPlay: a fully integrated practical record/replay system. ACM Transactions on Computer Systems 17, 2 (1999)CrossRefGoogle Scholar
  15. 15.
    Savage, S., et al.: Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Transactions on Computer Systems 15, 4 (1997)CrossRefGoogle Scholar
  16. 16.
    Woo, S., et al.: The SPLASH-2 Programs: Characterization and Methodological Considerations. In: International Symposium on Computer Architecture (1995)Google Scholar
  17. 17.
    Yu, Y., Rodeheffer, T., Chen, W.: RaceTrack: Efficient Detection of Data Race Conditions via Adaptive Tracking. In: Symposium on Operating Systems Principles (2005)Google Scholar
  18. 18.
    Zhou, P., et al.: HARD: Hardware-Assisted Lockset-based Race Detection. In: International Symposium on High Performance Computer Architecture (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Rodrigo Gonzalez-Alberquilla
    • 1
  • Karin Strauss
    • 2
    • 3
  • Luis Ceze
    • 3
  • Luis Piñuel
    • 1
  1. 1.Univ. Complutense de MadridMadridSpain
  2. 2.Microsoft ResearchRedmondUSA
  3. 3.University of WashingtonSeattleUSA

Personalised recommendations