【摘要】:在云計算環(huán)境下,非一致性內(nèi)存訪問NUMA(Non-Uniform Memory Access)架構(gòu)運用的越來越廣泛。當(dāng)單線程多任務(wù)的程序運行在NUMA系統(tǒng)上時,會遇到數(shù)據(jù)本地性和共享資源沖突兩個問題。而當(dāng)多線程程序運行在NUMA系統(tǒng)上時,會使上述的兩個問題變得更加復(fù)雜:1)多線程程序的共享數(shù)據(jù)會導(dǎo)致不同節(jié)點之間產(chǎn)生遠(yuǎn)端訪問,破壞NUMA系統(tǒng)本地性;2)當(dāng)多個線程同時讀取同一個NUMA節(jié)點上的內(nèi)存數(shù)據(jù)時,會競爭該節(jié)點上的共享資源,導(dǎo)致嚴(yán)重的緩存以及互聯(lián)總線沖突。另外,多線程程序還會帶來關(guān)鍵線程的問題。具有更多遠(yuǎn)端內(nèi)存訪問的線程成為系統(tǒng)中的關(guān)鍵線程,這些關(guān)鍵線程會影響整個程序的性能并增加程序運行期間的能量消耗。以往的研究主要關(guān)注提升NUMA系統(tǒng)的性能,很少考慮節(jié)省NUMA系統(tǒng)的能耗。圍繞上述若干問題,針對“基于NUMA架構(gòu)的多線程程序性能和能耗研究”課題,開展了以下四個方面的研究:針對NUMA系統(tǒng)中出現(xiàn)的內(nèi)存訪問延遲過高的現(xiàn)象,提供給程序員一個工具檢測并分析NUMA系統(tǒng)中的性能瓶頸。通過分析系統(tǒng)中的延遲信息,該工具能做出三種判斷:1)如果共享數(shù)據(jù)的訪問延遲要高于私有數(shù)據(jù)的訪問延遲,那么系統(tǒng)中的共享數(shù)據(jù)會導(dǎo)致較大數(shù)目的遠(yuǎn)端訪問;2)如果系統(tǒng)中存在異常高的內(nèi)存訪問延遲,那么系統(tǒng)中很有可能發(fā)生共享資源沖突;3)如果各線程之間的遠(yuǎn)端內(nèi)存訪問數(shù)目差異較大,那么遠(yuǎn)端內(nèi)存訪問數(shù)目最多的線程會成為影響整個程序性能的關(guān)鍵線程。在檢測并分析出這些性能瓶頸之后,采用簡便和通用的NUMA系統(tǒng)優(yōu)化技術(shù)能夠提升多線程程序的性能。針對關(guān)鍵線程導(dǎo)致NUMA系統(tǒng)性能下降的現(xiàn)象,提出一種對稱式調(diào)度機制來均衡多線程之間的遠(yuǎn)端內(nèi)存訪問數(shù)目。在NUMA環(huán)境中,程序數(shù)據(jù)對于某些線程來說是本地數(shù)據(jù),對于其他線程來說則是遠(yuǎn)端數(shù)據(jù)。具有遠(yuǎn)端內(nèi)存訪問較多的線程會比其他線程運行地更慢,成為影響整個多線程程序性能的關(guān)鍵線程。通過對稱式線程調(diào)度機制,將線程對稱地匹配到所有的處理器節(jié)點上,可以平衡所有線程的遠(yuǎn)端內(nèi)存訪問次數(shù),使每個線程具有相似的本地和遠(yuǎn)端數(shù)據(jù)訪問數(shù)目。這樣,所有的線程幾乎會同時達(dá)到線程同步點,避免關(guān)鍵線程拖累性能的情況發(fā)生。針對多線程程序在NUMA系統(tǒng)上運行時性能和能耗的關(guān)系,提出一個性能提升和能耗增長的線性負(fù)相關(guān)性模型。在模型中分別考慮以下兩種假設(shè):實際加速比趨近于常量,以及實際加速比趨近于線性加速比。基于性能和能耗之間關(guān)系,可以指導(dǎo)NUMA系統(tǒng)進(jìn)行動態(tài)調(diào)優(yōu):根據(jù)多線程程序性能可擴展性的好壞,增加/減少該程序所使用的節(jié)點數(shù),可以在滿足能耗預(yù)算/性能要求前提下提升性能或者節(jié)省能耗。進(jìn)一步研究發(fā)現(xiàn),影響性能和能耗之間關(guān)系的因素包括:遠(yuǎn)端內(nèi)存訪問開銷、線程間同步開銷和負(fù)載非均衡開銷。其中,由關(guān)鍵和非關(guān)鍵線程完成時間不一致引起的同步開銷是導(dǎo)致程序性能/能耗可擴展性變差的主要原因之一。針對NUMA系統(tǒng)上關(guān)鍵線程和非關(guān)鍵線程的完成時間不同,提出一種動態(tài)頻率調(diào)整策略來降低整個系統(tǒng)的能耗。在NUMA系統(tǒng)中,關(guān)鍵線程需要訪問更多的遠(yuǎn)端內(nèi)存,運行時間比非關(guān)鍵線程更長。因此,程序的執(zhí)行時間是由關(guān)鍵線程決定的。在不延長程序整體執(zhí)行時間的前提下,通過降低非關(guān)鍵線程所在的CPU核心頻率,使關(guān)鍵線程和非關(guān)鍵線程同時達(dá)到多線程程序的同步點,可以節(jié)省非關(guān)鍵線程的能量消耗。通過使用基于關(guān)鍵線程的預(yù)測機制,進(jìn)而能夠有效地實施動態(tài)頻率調(diào)整策略,從而節(jié)省更多的能耗。
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:博士
【學(xué)位授予年份】:2016
【分類號】:TP332
【參考文獻(xiàn)】
相關(guān)期刊論文 前10條
1 任彤;傅杰;靳國杰;;基于NUMA架構(gòu)的解釋器訪存優(yōu)化設(shè)計與實現(xiàn)[J];高技術(shù)通訊;2015年07期
2 廖彬;傅杰;靳國杰;王一光;王磊;章隆兵;王劍;;NUMA結(jié)構(gòu)的高效實時穩(wěn)定的垃圾回收算法[J];高技術(shù)通訊;2015年02期
3 顧堅;劉偉;;面向NUMA集群的代數(shù)多重網(wǎng)格算法優(yōu)化[J];計算機科學(xué);2014年06期
4 王睿伯;盧錫城;盧凱;王紹剛;;面向CC-NUMA體系結(jié)構(gòu)的事務(wù)內(nèi)存沖突規(guī)避方法[J];計算機學(xué)報;2011年04期
5 王躍清;黃燁;王翰虎;陳梅;;混合結(jié)構(gòu)數(shù)據(jù)庫中基于頁遷移的存儲分層算法[J];計算機應(yīng)用;2010年11期
6 潘國騰;竇強;謝倫國;;基于目錄的Cache一致性協(xié)議的可擴展性研究[J];計算機工程與科學(xué);2008年06期
7 許立;羅軍;盧凱;;具有節(jié)點親近能力的NUMA調(diào)度算法[J];計算機工程;2006年01期
8 楊夢夢,盧凱,盧錫城;內(nèi)存管理系統(tǒng)對NUMA的支持及優(yōu)化[J];計算機工程;2005年16期
9 龐立會,陳渝;一種CC-NUMA系統(tǒng)模擬環(huán)境的研究與實現(xiàn)[J];計算機工程;2005年03期
10 陳渝,nudt.edu.cn,李春江,楊學(xué)軍,陳福接;CC-NUMA并行系統(tǒng)通信優(yōu)化的變換技術(shù)[J];軟件學(xué)報;2000年04期
,
本文編號:
2593769
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2593769.html