基于滑動窗口的多核程序數據競爭硬件檢測算法
大?。?/span>0.54 MB 人氣: 2018-02-07 需要積分:2
數據競爭是引起多核程序發(fā)生并發(fā)錯誤的主要原因。針對現有基于硬件的happens-before數據競爭檢測方法硬件開銷大的問題,提出了一種輕量級的內存競爭硬件檢測算法,該算法利用滑動窗口技術動態(tài)檢測程序執(zhí)行過程中發(fā)生的距離較近、更易引發(fā)并發(fā)錯誤的數據競爭。考慮競爭距離的大小,將并發(fā)線程片段細分為加鎖并發(fā)競爭域和包含線程近期執(zhí)行序列的未加鎖并發(fā)競爭域,用一對交替移動的可重寫滑動窗口保存未加鎖并發(fā)競爭域內的內存操作指令,用一個大小可變的可重寫滑動窗口保存加鎖并發(fā)競爭域內的內存操作指令,當來自遠程的共享訪問與窗口內的內存訪問發(fā)生沖突時,檢測到數據競爭。在硬件實現結構中,僅為每個處理器核添加3對較小尺寸的硬件簽名寄存器來保存并發(fā)競爭域內的數據地址,無需更改原有的cache -致性協議,帶來的帶寬開銷低,能夠快速地檢測多核程序并發(fā)執(zhí)行過程中發(fā)生的動態(tài)數據競爭,為多核程序開發(fā)和生產運行階段的并發(fā)錯誤診斷提供有效的指導信息。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%