Journal on Communications ›› 2016, Vol. 37 ›› Issue (9): 10-19.doi: 10.11959/j.issn.1000-436x.2016173

• Papers • Previous Articles     Next Articles

Hardware data race detection algorithm based on sliding windows

Su-xia ZHU1,2,De-yun CHEN1,2,Zhen-zhou JI3,Guang-lu SUN1   

  1. 1 School of Computer Science and Technology,Harbin University of Technology,Harbin 150080,China
    2 Postdoctoral Research Station,School of Computer Science and Technology,Harbin University of Technology,Harbin 150080,China
    3 School of Computer Science and Technology,Harbin Institute of Technology,Harbin 150001,China
  • Online:2016-09-25 Published:2016-09-28
  • Supported by:
    The National Natural Science Foundation of China for Youths;Heilongjiang Province Science Foundation for Youths;The China Postdoctoral Science Foundation;The National Basic Research Program of China

Abstract:

Data race is a major factor which causes multi-core programs to produce concurrent bugs.To address the high hardware cost in happens-before detection proposals,a light-weight hardware data race detection approach based on sliding window technology was proposed.It used sliding windows to save recent memory instructions in thread execution and dynamically detected data races with small race distance which more easily lead to concurrent bugs.Considering the race distance,parallel thread segments were subdivided into concurrent race regions with lock and concurrent race regions without lock.A pair of alternate rewritable sliding windows was used to store the memory instructions in concurrent race region without lock,and a sliding window with variable size was used to store the memory instructions in concurrent race region with lock.When there was a conflict between a remote sharing access and memory accesses in sliding windows,a data race was detected.In the hardware implementation,the addresses of the data in sliding windows were automatically encoded into three hardware signatures with small size.Data races can be detected quickly without modifying the L1 cache and cache coherence protocol messages.This approach supplies efficient guidance to help users to diagnose concurrency bugs occurred in the development and production run of multi-core programs,achieving smaller hardware and bandwidth overhead.

Key words: data race, sliding window, hardware signature, concurrency bug, multi-core program

No Suggested Reading articles found!