面向多線程程序的并行運(yùn)行時(shí)驗(yàn)證
發(fā)布時(shí)間:2020-12-31 07:51
現(xiàn)代操作系統(tǒng)、嵌入式系統(tǒng)、航電系統(tǒng)等安全關(guān)鍵系統(tǒng)一般都使用C/C++語(yǔ)言進(jìn)行開(kāi)發(fā),因此針對(duì)C程序的運(yùn)行時(shí)驗(yàn)證技術(shù)研究變得非常重要。主流的運(yùn)行時(shí)驗(yàn)證技術(shù)主要針對(duì)程序的內(nèi)存安全性和形式化規(guī)約進(jìn)行檢測(cè),首先通過(guò)對(duì)C程序中與內(nèi)存操作和規(guī)約相關(guān)的代碼進(jìn)行插樁,然后編譯運(yùn)行插樁后的C程序來(lái)驗(yàn)證原程序是否滿(mǎn)足內(nèi)存安全性和給定的規(guī)約。但是現(xiàn)有技術(shù)存在許多局限性。一方面,現(xiàn)有技術(shù)大都只能處理單線程的C程序,在多線程C程序的情況下,可能引起對(duì)運(yùn)行時(shí)信息的競(jìng)爭(zhēng)訪問(wèn)問(wèn)題,從而導(dǎo)致錯(cuò)誤的驗(yàn)證結(jié)果。另一方面,針對(duì)形式化規(guī)約的運(yùn)行時(shí)驗(yàn)證技術(shù)大都通過(guò)串行的方式處理多監(jiān)控器,在規(guī)約數(shù)量較多的情況下,多監(jiān)控器的串行運(yùn)行會(huì)導(dǎo)致運(yùn)行時(shí)性能大大降低。針對(duì)以上的兩個(gè)局限性,本文主要研究面向多線程C程序的運(yùn)行時(shí)驗(yàn)證技術(shù)和多監(jiān)控器的并行驗(yàn)證技術(shù)。具體工作和創(chuàng)新點(diǎn)包括:首先,針對(duì)內(nèi)存安全性問(wèn)題,我們提出了面向多線程C程序的運(yùn)行時(shí)驗(yàn)證算法。該算法采用有鎖哈希表或無(wú)鎖哈希表對(duì)指針元數(shù)據(jù)進(jìn)行插入、查找和刪除等操作,使得插樁后的多線程C程序可以并發(fā)地對(duì)指針元數(shù)據(jù)進(jìn)行訪問(wèn),從而實(shí)現(xiàn)對(duì)多線程C程序內(nèi)存安全性的運(yùn)行時(shí)驗(yàn)證。第二,針對(duì)形式化規(guī)約的驗(yàn)證...
【文章來(lái)源】:南京航空航天大學(xué)江蘇省 211工程院校
【文章頁(yè)數(shù)】:80 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
單線程下內(nèi)存安全存取的哈希表性能分析
圖 6. 1 單線程下內(nèi)存安全存取的哈希表性能分析中縱坐標(biāo)的單位是秒,實(shí)驗(yàn)數(shù)據(jù)是十次結(jié)果的平均值。A 表示使用希表;B 表示本文中可擴(kuò)展的哈希表(其中 CAS 原子操作換成賦值;D 表示無(wú)鎖可擴(kuò)充哈希表。圖中節(jié)點(diǎn)數(shù)表示哈希表進(jìn)行存取的節(jié)程情況下 B 哈希表運(yùn)行時(shí)負(fù)載是 A 哈希表的 5 倍左右,D 哈希表運(yùn)行的 5 倍左右。這是因?yàn)?B、D 哈希表存在遞歸桶元素的插入和鏈表存取時(shí)直接通過(guò)數(shù)組進(jìn)行鏈表訪問(wèn),不需要遞歸創(chuàng)建桶元素。這個(gè)擴(kuò)展的哈希表性能有所降低。程情況下哈希表存取實(shí)驗(yàn)中,因?yàn)?A 哈希表和 B 哈希表沒(méi)有進(jìn)行并多線程情況下進(jìn)行哈希表的存取操作。我們將 C、D 兩種哈希表進(jìn)。012345A B C D節(jié)點(diǎn)數(shù) 1000000300000時(shí)間/us
圖 6. 3 形式化規(guī)約并行運(yùn)行時(shí)驗(yàn)證性能 中時(shí)間單位是秒,記錄的時(shí)間值是進(jìn)行 10 次結(jié)果統(tǒng)計(jì)之后取平均值少個(gè)驗(yàn)證線程。如果采用串行的方式運(yùn)行,性能最差。但是隨著線一個(gè)遞減的趨勢(shì),結(jié)果和我們的預(yù)期不同。這是因?yàn)楸緦?shí)驗(yàn)的硬件持超線程模式,一個(gè)處理器可以同時(shí)運(yùn)行兩個(gè)線程。當(dāng)超過(guò) 4 個(gè)線爭(zhēng)同一個(gè)處理器資源。同一時(shí)刻一個(gè)處理器也只是在運(yùn)行兩個(gè)線程 4 個(gè)線程時(shí),才是真正意義上的并行運(yùn)算。從上圖的可知,在 3 個(gè)與一個(gè)主線程的情況下,運(yùn)行的時(shí)間最短。在最優(yōu)情況下對(duì)該實(shí)驗(yàn)的運(yùn)行的總時(shí)間由原來(lái)的 51.51s 變?yōu)?23.53s。程序的性能提升了百分串行運(yùn)行時(shí)驗(yàn)證的執(zhí)行時(shí)間和形式化規(guī)約的并行運(yùn)行時(shí)驗(yàn)證的執(zhí)行并行運(yùn)行時(shí)驗(yàn)證之后的工具性能提升明顯?偨Y(jié)們首先采用 SARD 測(cè)試集進(jìn)行 SoftBoundCets、Criuser 和 Movec 的工具對(duì)于多線程 C 程序內(nèi)存安全問(wèn)題檢測(cè)的有效性,并采用 Miben
【參考文獻(xiàn)】:
博士論文
[1]面向千萬(wàn)億次CPU-GPU異構(gòu)系統(tǒng)的編程模型與性能優(yōu)化關(guān)鍵技術(shù)研究[D]. 王鋒.國(guó)防科學(xué)技術(shù)大學(xué) 2013
本文編號(hào):2949261
【文章來(lái)源】:南京航空航天大學(xué)江蘇省 211工程院校
【文章頁(yè)數(shù)】:80 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
單線程下內(nèi)存安全存取的哈希表性能分析
圖 6. 1 單線程下內(nèi)存安全存取的哈希表性能分析中縱坐標(biāo)的單位是秒,實(shí)驗(yàn)數(shù)據(jù)是十次結(jié)果的平均值。A 表示使用希表;B 表示本文中可擴(kuò)展的哈希表(其中 CAS 原子操作換成賦值;D 表示無(wú)鎖可擴(kuò)充哈希表。圖中節(jié)點(diǎn)數(shù)表示哈希表進(jìn)行存取的節(jié)程情況下 B 哈希表運(yùn)行時(shí)負(fù)載是 A 哈希表的 5 倍左右,D 哈希表運(yùn)行的 5 倍左右。這是因?yàn)?B、D 哈希表存在遞歸桶元素的插入和鏈表存取時(shí)直接通過(guò)數(shù)組進(jìn)行鏈表訪問(wèn),不需要遞歸創(chuàng)建桶元素。這個(gè)擴(kuò)展的哈希表性能有所降低。程情況下哈希表存取實(shí)驗(yàn)中,因?yàn)?A 哈希表和 B 哈希表沒(méi)有進(jìn)行并多線程情況下進(jìn)行哈希表的存取操作。我們將 C、D 兩種哈希表進(jìn)。012345A B C D節(jié)點(diǎn)數(shù) 1000000300000時(shí)間/us
圖 6. 3 形式化規(guī)約并行運(yùn)行時(shí)驗(yàn)證性能 中時(shí)間單位是秒,記錄的時(shí)間值是進(jìn)行 10 次結(jié)果統(tǒng)計(jì)之后取平均值少個(gè)驗(yàn)證線程。如果采用串行的方式運(yùn)行,性能最差。但是隨著線一個(gè)遞減的趨勢(shì),結(jié)果和我們的預(yù)期不同。這是因?yàn)楸緦?shí)驗(yàn)的硬件持超線程模式,一個(gè)處理器可以同時(shí)運(yùn)行兩個(gè)線程。當(dāng)超過(guò) 4 個(gè)線爭(zhēng)同一個(gè)處理器資源。同一時(shí)刻一個(gè)處理器也只是在運(yùn)行兩個(gè)線程 4 個(gè)線程時(shí),才是真正意義上的并行運(yùn)算。從上圖的可知,在 3 個(gè)與一個(gè)主線程的情況下,運(yùn)行的時(shí)間最短。在最優(yōu)情況下對(duì)該實(shí)驗(yàn)的運(yùn)行的總時(shí)間由原來(lái)的 51.51s 變?yōu)?23.53s。程序的性能提升了百分串行運(yùn)行時(shí)驗(yàn)證的執(zhí)行時(shí)間和形式化規(guī)約的并行運(yùn)行時(shí)驗(yàn)證的執(zhí)行并行運(yùn)行時(shí)驗(yàn)證之后的工具性能提升明顯?偨Y(jié)們首先采用 SARD 測(cè)試集進(jìn)行 SoftBoundCets、Criuser 和 Movec 的工具對(duì)于多線程 C 程序內(nèi)存安全問(wèn)題檢測(cè)的有效性,并采用 Miben
【參考文獻(xiàn)】:
博士論文
[1]面向千萬(wàn)億次CPU-GPU異構(gòu)系統(tǒng)的編程模型與性能優(yōu)化關(guān)鍵技術(shù)研究[D]. 王鋒.國(guó)防科學(xué)技術(shù)大學(xué) 2013
本文編號(hào):2949261
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2949261.html
最近更新
教材專(zhuān)著