基于同步關(guān)系的并行動態(tài)數(shù)據(jù)競爭檢測方法研究.pdf_第1頁
已閱讀1頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、多核平臺的普及使得并行軟件滲入到計算領(lǐng)域的方方面面,由于軟件并行度的提高,多線程之間的數(shù)據(jù)競爭檢測為軟件調(diào)試帶來巨大挑戰(zhàn)。數(shù)據(jù)競爭檢測是一種通過分析并行程序的源代碼或者運行時信息來識別數(shù)據(jù)競爭的調(diào)試方法,廣泛應(yīng)用于并行軟件調(diào)試。然而,隨著并行軟件復(fù)雜度的提高,現(xiàn)有的檢測方法或者檢測精度極低,或者檢測開銷太高,并且沒有充分利用多核硬件資源。
  基于同步關(guān)系的并行動態(tài)數(shù)據(jù)競爭檢測方法采用在線跟蹤加離線檢測的兩階段檢測方式,針對并行程

2、序的并行結(jié)構(gòu)特點,充分利用多核硬件的并行計算能力提高檢測的效率。在線跟蹤通過過濾和合并內(nèi)存訪問,有效地降低了實際記錄的數(shù)據(jù)量,使得后期對記錄數(shù)據(jù)進行快速的離線分析成為可能。離線分析階段利用傳統(tǒng)的向量時鐘決定內(nèi)存訪問的先后發(fā)生關(guān)系(Happens-before Relation),避免檢測具有先后發(fā)生關(guān)系的內(nèi)存訪問,對可能產(chǎn)生數(shù)據(jù)競爭的內(nèi)存訪問采用優(yōu)化的區(qū)間重疊算法找出造成競爭的內(nèi)存訪問對。此外,檢測階段充分利用檢測算法內(nèi)在的并行性,將檢

3、測任務(wù)分割成多個小的任務(wù)并分配到多個工作者線程中,以此實現(xiàn)檢測階段的加速。
  根據(jù)上述原理,基于Linux操作系統(tǒng)和Pin二進制插樁框架,采用C++語言實現(xiàn)了一個針對OpenMP并行程序的數(shù)據(jù)競爭檢測工具。與現(xiàn)有的開源工具相比,該工具能夠檢測到內(nèi)存密集型OpenMP程序中所有實際發(fā)生的數(shù)據(jù)競爭和一部分潛在競爭,并且不會產(chǎn)生誤報。試驗結(jié)果顯示,基于上述原理實現(xiàn)的原型系統(tǒng)的檢測精度與商業(yè)檢測工具 Inspector接近,并且至少比其

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論