Skip to main navigation Skip to search Skip to main content

Tuning lock-based multicore program based on sliding windows to tolerate data race

  • Suxia Zhu
  • , Zhigang Chen*
  • , Guanglu Sun
  • *Corresponding author for this work
  • Harbin University of Science and Technology
  • School of Mechatronics Engineering, Harbin Institute of Technology

Research output: Contribution to journalArticlepeer-review

Abstract

Because in-house debugging and test are difficult to discover all potential data races in multicore programs, it is necessary and significant to tolerate the potential data races in the production-run phase to secure the correct execution. However, the existing tolerating methods are limited to some kinds of data races. This paper proposes a new data-race tolerating approach, which can detect and adjust the data races whether it is in the protection of critical section or lack of protection to improve the correctness of multicore programs. It uses sliding windows to accommodate the memory instructions in critical section or recent memory instructions lack of protection and detects the potential data races which are more likely to cause errors. Then, by delaying the critical reversion points, data races are adjusted to reduce the probability of software failure. To implement the tolerating approach, the current multicore processor need not change its original cache coherence protocol and just adds very little hardware. Simulation results show that it brings low hardware, low bandwidth overhead, and negligible slowdown.

Original languageEnglish
Pages (from-to)7872-7894
Number of pages23
JournalJournal of Supercomputing
Volume75
Issue number12
DOIs
StatePublished - 1 Dec 2019
Externally publishedYes

Keywords

  • Concurrency bug
  • Data-race detection and tolerance
  • Multicore program
  • Sliding window

Fingerprint

Dive into the research topics of 'Tuning lock-based multicore program based on sliding windows to tolerate data race'. Together they form a unique fingerprint.

Cite this