版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、隨著多核/眾核處理器的出現(xiàn),計(jì)算機(jī)的處理能力得到大幅增強(qiáng)。為了充分地發(fā)揮多核/眾核處理器強(qiáng)大的計(jì)算能力,多線程編程技術(shù)應(yīng)運(yùn)而生,但同時(shí)也引入了線程間通信問(wèn)題,因此,設(shè)計(jì)出了鎖同步機(jī)制來(lái)協(xié)調(diào)線程間的通信。在多線程編程語(yǔ)言中,鎖同步機(jī)制的核心理念是保證不同線程對(duì)同一共享資源的沖突訪問(wèn)以互斥的方式進(jìn)行。盡管鎖同步機(jī)制保證了線程間通信的正確性,但由于多線程程序運(yùn)行時(shí)調(diào)度的隨機(jī)性與復(fù)雜性,在程序動(dòng)態(tài)執(zhí)行的過(guò)程中,現(xiàn)有的鎖同步機(jī)制也同時(shí)帶來(lái)了大量的
2、非沖突型互斥執(zhí)行,即不當(dāng)鎖同步。不當(dāng)鎖同步指由同一鎖保護(hù)的多個(gè)臨界區(qū)并未同時(shí)訪問(wèn)同一共享資源。程序運(yùn)行時(shí)形成的不當(dāng)鎖同步帶來(lái)了諸多負(fù)面影響:1)在程序性能影響方面,由于不當(dāng)鎖同步保護(hù)的多個(gè)臨界區(qū)沒(méi)有對(duì)同一共享資源進(jìn)行沖突訪問(wèn),因此這些臨界區(qū)原本可并行執(zhí)行,然而鎖同步機(jī)制的互斥保護(hù)使得它們以串行的方式執(zhí)行,因此影響了多線程程序的性能。特別地,在鎖密集型的多線程程序中存在著大量的不當(dāng)鎖同步,這對(duì)多線程程序的性能造成了嚴(yán)重的影響。2)在數(shù)據(jù)競(jìng)
3、爭(zhēng)檢測(cè)方面,現(xiàn)階段主流的動(dòng)態(tài)數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法大都基于Happens-Before(HB)關(guān)系實(shí)現(xiàn)。該檢測(cè)方法通常對(duì)不同線程間的解鎖和加鎖事件形成偏序時(shí)序關(guān)系,但凡兩個(gè)程序事件沒(méi)有偏序關(guān)系同時(shí)又沖突訪問(wèn)了同一共享資源,那么它們便構(gòu)成一個(gè)數(shù)據(jù)競(jìng)爭(zhēng)。然而,由于不當(dāng)鎖同步可并行化的特征,HB模型的強(qiáng)邊界時(shí)序關(guān)系通常會(huì)漏掉大量的數(shù)據(jù)競(jìng)爭(zhēng)。此外,不當(dāng)鎖同步在程序動(dòng)態(tài)執(zhí)行過(guò)程中有指數(shù)量級(jí)變化的可能性,因此高效地識(shí)別不當(dāng)鎖同步并非一件易事。圍繞上述若干
4、鎖同步相關(guān)問(wèn)題,開(kāi)展了“多線程鎖同步運(yùn)行時(shí)特征分析與調(diào)優(yōu)機(jī)制研究”的課題,主要包括以下三方面:
在特征研究方面,首次對(duì)多線程鎖同步運(yùn)行時(shí)特征進(jìn)行了系統(tǒng)的分析,特別是不當(dāng)鎖同步運(yùn)行時(shí)的特征分析。具體來(lái)說(shuō),以若干真實(shí)的(real-world)多線程程序(例如 OpenLDAP、mysql、pbzip2、transmissionBT、handbrake)為基準(zhǔn)程序,對(duì)它們中的鎖同步進(jìn)行測(cè)試、跟蹤、收集,通過(guò)觀察進(jìn)一步對(duì)鎖同步運(yùn)行時(shí)特
5、征進(jìn)行總結(jié),具體包括:鎖同步特征分類及其表現(xiàn)形式、產(chǎn)生原因、系統(tǒng)影響、防范策略和可能的修復(fù)措施等。特征研究同時(shí)揭示了11個(gè)鎖同步運(yùn)行時(shí)特征相關(guān)的新觀察,基于收集到的觀察結(jié)果探討了其所折射的研究蘊(yùn)意。通過(guò)對(duì)多線程鎖同步運(yùn)行時(shí)特征研究,加強(qiáng)了對(duì)不當(dāng)鎖同步的認(rèn)識(shí)與理解,對(duì)解決不當(dāng)鎖同步的程序影響有著重要的指導(dǎo)意義。
在性能調(diào)試方面,針對(duì)不當(dāng)鎖同步所造成的性能影響問(wèn)題,提出了基于記錄/重放技術(shù)的性能調(diào)試方法—PerfPlay。該方法的
6、核心思想如下:首先,記錄下含有不當(dāng)鎖同步性能問(wèn)題的原始程序執(zhí)行軌跡文件;其次,利用拓?fù)鋱D分析技術(shù)消除其中的不當(dāng)鎖同步執(zhí)行序列,使之變?yōu)椴缓胁划?dāng)鎖同步性能問(wèn)題的程序執(zhí)行軌跡文件;接著,對(duì)原始和修改后的程序執(zhí)行軌跡文件重放;最后,對(duì)比分析兩次重放結(jié)果進(jìn)而定量分析出不當(dāng)鎖同步所造成的凈性能損耗。實(shí)驗(yàn)結(jié)果表明,PerfPlay方法:1)有著很高的性能穩(wěn)定性與性能精確性,進(jìn)而保證了重放分析的性能保真度;2)以低(<4.3%)運(yùn)行時(shí)鎖集開(kāi)銷,推薦
7、的不當(dāng)鎖同步代碼段有很高的優(yōu)化價(jià)值;3)案例分析的結(jié)果也進(jìn)一步逆向證明了PerfPlay在發(fā)掘不當(dāng)鎖同步方面的有效性。
在數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方面,提出了面向不當(dāng)鎖同步的弱時(shí)序邊界Happens-Before關(guān)系—ULCP-HB,ULCP-HB關(guān)系改善了傳統(tǒng)HB關(guān)系的強(qiáng)時(shí)序邊界特點(diǎn),其能穿透不當(dāng)鎖同步交錯(cuò)解鎖和加鎖事件之間形成的偏序關(guān)系并使之并行化。為了實(shí)現(xiàn) ULCP-HB關(guān)系,結(jié)合不當(dāng)鎖同步運(yùn)行時(shí)特征,進(jìn)一步提出了在線啟發(fā)式分析與離
8、線重排序分析相結(jié)合的輕量級(jí)數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法,該方法在幾乎不引入額外運(yùn)行時(shí)開(kāi)銷的情況下能夠發(fā)掘出因不當(dāng)鎖同步而隱藏的數(shù)據(jù)競(jìng)爭(zhēng)。實(shí)驗(yàn)表明,相比于HB檢測(cè)方法,ULCP-HB能發(fā)掘出額外19.8%的數(shù)據(jù)競(jìng)爭(zhēng);且在幾乎不引入(<4.45%)運(yùn)行時(shí)分析開(kāi)銷的情況下,能夠節(jié)約51.0%重排序開(kāi)銷和52.3%執(zhí)行軌跡文件大小。
綜上所述,圍繞多線程程序動(dòng)態(tài)運(yùn)行過(guò)程中產(chǎn)生的不當(dāng)鎖同步現(xiàn)象,從基礎(chǔ)研究(即多線程鎖同步運(yùn)行時(shí)特征研究)和擴(kuò)展研究(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 葉輪運(yùn)行時(shí)葉片載荷分析
- STL運(yùn)行時(shí)concept的研究與實(shí)現(xiàn).pdf
- 軟件行為運(yùn)行時(shí)驗(yàn)證研究.pdf
- 運(yùn)行時(shí)的存儲(chǔ)組織與分配
- 參數(shù)化運(yùn)行時(shí)驗(yàn)證研究與工具實(shí)現(xiàn).pdf
- 實(shí)時(shí)系統(tǒng)的運(yùn)行時(shí)驗(yàn)證研究.pdf
- SPARQL運(yùn)行時(shí)查詢優(yōu)化算法研究.pdf
- Android虛擬機(jī)運(yùn)行時(shí)技術(shù)的分析與評(píng)測(cè).pdf
- 基于運(yùn)行時(shí)的程序執(zhí)行模型研究.pdf
- 服務(wù)系統(tǒng)運(yùn)行時(shí)質(zhì)量監(jiān)控與評(píng)價(jià)方法.pdf
- 基于變量跟蹤的運(yùn)行時(shí)錯(cuò)誤現(xiàn)場(chǎng)分析工具研究.pdf
- 組態(tài)監(jiān)控軟件的WEB運(yùn)行時(shí).pdf
- microsoftvbscript運(yùn)行時(shí)錯(cuò)誤代碼大全
- 支持多策略的組合服務(wù)運(yùn)行時(shí)環(huán)境自適應(yīng)機(jī)制研究.pdf
- 《衛(wèi)星運(yùn)行時(shí)間》教學(xué)設(shè)計(jì)
- 人體經(jīng)絡(luò)運(yùn)行時(shí)間表
- 衛(wèi)星運(yùn)行時(shí)間教學(xué)設(shè)計(jì)
- 衛(wèi)星運(yùn)行時(shí)間說(shuō)課稿(定)
- 基于AOP的運(yùn)行時(shí)分析工具的研究和實(shí)現(xiàn).pdf
- 城市快速路運(yùn)行時(shí)間可靠度研究.pdf
評(píng)論
0/150
提交評(píng)論