基于弱內(nèi)存一致性的多線程確定性執(zhí)行技術(shù)研究
發(fā)布時(shí)間:2022-01-06 23:39
近年來(lái),隨著多核處理器的快速發(fā)展,人們廣泛的使用并行技術(shù)來(lái)滿足對(duì)程序性能提升的需求。由此,帶來(lái)了諸多并行編程問(wèn)題,本文就是研究其中之一,確定性問(wèn)題。它給并行程序的編寫,調(diào)試,測(cè)試帶來(lái)諸多不便,同時(shí)降低了程序的可靠性。本文針對(duì)國(guó)產(chǎn)飛騰平臺(tái)上的共享內(nèi)存多線程程序,提出了一種確定性執(zhí)行技術(shù),并設(shè)計(jì)實(shí)現(xiàn)了確定性執(zhí)行系統(tǒng)DetRT以代替Pthread運(yùn)行時(shí)庫(kù)。首先,本文研究了確定性問(wèn)題的來(lái)源,將其分為數(shù)據(jù)競(jìng)爭(zhēng)和同步競(jìng)爭(zhēng)。在論證弱內(nèi)存一致性對(duì)確定性執(zhí)行系統(tǒng)性能提升價(jià)值的基礎(chǔ)上,使用TSO弱內(nèi)存一致性。本文提出了一種基于弱內(nèi)存一致性的確定性執(zhí)行技術(shù),該技術(shù)采用串行階段和并行階段交替執(zhí)行的方式,以同步操作為階段分割的依據(jù)。并行階段時(shí)線程間內(nèi)存隔離,串行階段時(shí)同步各線程的內(nèi)存修改。本文針對(duì)飛騰平臺(tái)應(yīng)用程序特征提出了兩點(diǎn)改進(jìn)技術(shù),一是提出串行階段部分并行化技術(shù),將使用不同同步操作的線程劃分到不同的相關(guān)線程組中,線程組內(nèi)串行,組間并行,解決因同步操作串行執(zhí)行導(dǎo)致的性能下降問(wèn)題;二是提出一種性能指導(dǎo)標(biāo)記技術(shù),讓長(zhǎng)并行距離線程跳過(guò)指定串行階段,解決并行階段的負(fù)載不均衡問(wèn)題,給編程階段性能優(yōu)化帶來(lái)了新方法。本文采...
【文章來(lái)源】:哈爾濱工業(yè)大學(xué)黑龍江省 211工程院校 985工程院校
【文章頁(yè)數(shù)】:73 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
功能測(cè)試(datarace)偽代碼示意圖
哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文是因?yàn)椴僮飨到y(tǒng)對(duì)線程的調(diào)度切換具有不確定性,導(dǎo)致不不同;確定性執(zhí)行系統(tǒng) DetRT 下執(zhí)行時(shí),由于進(jìn)行了內(nèi)存tal 和 Array 的競(jìng)爭(zhēng),而且多個(gè)線程最終提交內(nèi)存時(shí)順序時(shí)是相同的,保證了多線程程序在遇到數(shù)據(jù)競(jìng)爭(zhēng)時(shí)保證確定功能測(cè)試程序 lockuse 是存在同步鎖競(jìng)爭(zhēng)的情況,偽代碼如兩個(gè)共享內(nèi)存變量,線程分別在未獲得互斥鎖時(shí)及互斥鎖進(jìn)行寫入。
測(cè)試程序cond-signal在確定性多線程運(yùn)行時(shí)庫(kù)D序,每一次運(yùn)行的結(jié)果都相同。表 4-6 測(cè)試程序 cond-signal 測(cè)試示例表(DetRT 確定性) 條件變量喚醒順序0 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 1
【參考文獻(xiàn)】:
期刊論文
[1]多線程程序數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)和驗(yàn)證方法研究綜述![J]. 禹振,楊振,蘇小紅,王甜甜. 智能計(jì)算機(jī)與應(yīng)用. 2017(03)
[2]確定性并行技術(shù)[J]. 周旭,盧凱,陳沉. 計(jì)算機(jī)學(xué)報(bào). 2015(05)
[3]并發(fā)缺陷暴露、檢測(cè)與規(guī)避研究綜述[J]. 蘇小紅,禹振,王甜甜,馬培軍. 計(jì)算機(jī)學(xué)報(bào). 2015(11)
博士論文
[1]面向多線程程序的確定性并行關(guān)鍵技術(shù)研究[D]. 陳沉.國(guó)防科學(xué)技術(shù)大學(xué) 2015
[2]面向多核/眾核體系結(jié)構(gòu)的確定性并行關(guān)鍵技術(shù)研究[D]. 周旭.國(guó)防科學(xué)技術(shù)大學(xué) 2013
本文編號(hào):3573375
【文章來(lái)源】:哈爾濱工業(yè)大學(xué)黑龍江省 211工程院校 985工程院校
【文章頁(yè)數(shù)】:73 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
功能測(cè)試(datarace)偽代碼示意圖
哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文是因?yàn)椴僮飨到y(tǒng)對(duì)線程的調(diào)度切換具有不確定性,導(dǎo)致不不同;確定性執(zhí)行系統(tǒng) DetRT 下執(zhí)行時(shí),由于進(jìn)行了內(nèi)存tal 和 Array 的競(jìng)爭(zhēng),而且多個(gè)線程最終提交內(nèi)存時(shí)順序時(shí)是相同的,保證了多線程程序在遇到數(shù)據(jù)競(jìng)爭(zhēng)時(shí)保證確定功能測(cè)試程序 lockuse 是存在同步鎖競(jìng)爭(zhēng)的情況,偽代碼如兩個(gè)共享內(nèi)存變量,線程分別在未獲得互斥鎖時(shí)及互斥鎖進(jìn)行寫入。
測(cè)試程序cond-signal在確定性多線程運(yùn)行時(shí)庫(kù)D序,每一次運(yùn)行的結(jié)果都相同。表 4-6 測(cè)試程序 cond-signal 測(cè)試示例表(DetRT 確定性) 條件變量喚醒順序0 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 10 1 2 3 4 5 6 7 8 9 10 11 12 1
【參考文獻(xiàn)】:
期刊論文
[1]多線程程序數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)和驗(yàn)證方法研究綜述![J]. 禹振,楊振,蘇小紅,王甜甜. 智能計(jì)算機(jī)與應(yīng)用. 2017(03)
[2]確定性并行技術(shù)[J]. 周旭,盧凱,陳沉. 計(jì)算機(jī)學(xué)報(bào). 2015(05)
[3]并發(fā)缺陷暴露、檢測(cè)與規(guī)避研究綜述[J]. 蘇小紅,禹振,王甜甜,馬培軍. 計(jì)算機(jī)學(xué)報(bào). 2015(11)
博士論文
[1]面向多線程程序的確定性并行關(guān)鍵技術(shù)研究[D]. 陳沉.國(guó)防科學(xué)技術(shù)大學(xué) 2015
[2]面向多核/眾核體系結(jié)構(gòu)的確定性并行關(guān)鍵技術(shù)研究[D]. 周旭.國(guó)防科學(xué)技術(shù)大學(xué) 2013
本文編號(hào):3573375
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3573375.html
最近更新
教材專著