您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

基于滑動(dòng)窗口的多核程序數(shù)據(jù)競(jìng)爭(zhēng)硬件檢測(cè)算法

大?。?/span>0.54 MB 人氣: 2018-02-07 需要積分:2

  數(shù)據(jù)競(jìng)爭(zhēng)是引起多核程序發(fā)生并發(fā)錯(cuò)誤的主要原因。針對(duì)現(xiàn)有基于硬件的happens-before數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法硬件開(kāi)銷大的問(wèn)題,提出了一種輕量級(jí)的內(nèi)存競(jìng)爭(zhēng)硬件檢測(cè)算法,該算法利用滑動(dòng)窗口技術(shù)動(dòng)態(tài)檢測(cè)程序執(zhí)行過(guò)程中發(fā)生的距離較近、更易引發(fā)并發(fā)錯(cuò)誤的數(shù)據(jù)競(jìng)爭(zhēng)。考慮競(jìng)爭(zhēng)距離的大小,將并發(fā)線程片段細(xì)分為加鎖并發(fā)競(jìng)爭(zhēng)域和包含線程近期執(zhí)行序列的未加鎖并發(fā)競(jìng)爭(zhēng)域,用一對(duì)交替移動(dòng)的可重寫滑動(dòng)窗口保存未加鎖并發(fā)競(jìng)爭(zhēng)域內(nèi)的內(nèi)存操作指令,用一個(gè)大小可變的可重寫滑動(dòng)窗口保存加鎖并發(fā)競(jìng)爭(zhēng)域內(nèi)的內(nèi)存操作指令,當(dāng)來(lái)自遠(yuǎn)程的共享訪問(wèn)與窗口內(nèi)的內(nèi)存訪問(wèn)發(fā)生沖突時(shí),檢測(cè)到數(shù)據(jù)競(jìng)爭(zhēng)。在硬件實(shí)現(xiàn)結(jié)構(gòu)中,僅為每個(gè)處理器核添加3對(duì)較小尺寸的硬件簽名寄存器來(lái)保存并發(fā)競(jìng)爭(zhēng)域內(nèi)的數(shù)據(jù)地址,無(wú)需更改原有的cache -致性協(xié)議,帶來(lái)的帶寬開(kāi)銷低,能夠快速地檢測(cè)多核程序并發(fā)執(zhí)行過(guò)程中發(fā)生的動(dòng)態(tài)數(shù)據(jù)競(jìng)爭(zhēng),為多核程序開(kāi)發(fā)和生產(chǎn)運(yùn)行階段的并發(fā)錯(cuò)誤診斷提供有效的指導(dǎo)信息。

基于滑動(dòng)窗口的多核程序數(shù)據(jù)競(jìng)爭(zhēng)硬件檢測(cè)算法

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?