面向Cilk的并行遞歸程序優(yōu)化技術(shù)研究
發(fā)布時(shí)間:2020-12-13 22:00
隨著多核體系結(jié)構(gòu)的出現(xiàn)和快速發(fā)展,如何在多核體系結(jié)構(gòu)上進(jìn)行簡(jiǎn)單高效的并行程序設(shè)計(jì)以充分利用多核所提供的并行性已變得日益重要。然而要在傳統(tǒng)的并行程序語(yǔ)言上編寫出高效的并行程序,程序員需要對(duì)底層細(xì)節(jié)和程序結(jié)構(gòu)有清晰的認(rèn)識(shí)。因此,需要有一種新的編程模型既能簡(jiǎn)單的實(shí)現(xiàn)并行,同時(shí)又能高效的執(zhí)行。有研究指出利用分治法和遞歸模型能在實(shí)現(xiàn)這一目的的過程中起到很大的作用。目前有一種簡(jiǎn)單的基于線程的并行程序設(shè)計(jì)語(yǔ)言——Cilk能自然的實(shí)現(xiàn)并行遞歸。作為對(duì)C語(yǔ)言的精簡(jiǎn)擴(kuò)展,程序員在編寫Cilk程序時(shí),更多的關(guān)注于開發(fā)并行性和局部性,而不用關(guān)心底層的調(diào)度和負(fù)載均衡。但是我們研究中發(fā)現(xiàn),在并行度遠(yuǎn)高于處理器個(gè)數(shù)的情況下,特別是并行遞歸程序,會(huì)因?yàn)榕缮^多的例程導(dǎo)致過多的開銷,甚至使并行程序的性能還不如串行程序,因此需要通過降低這部分開銷來優(yōu)化Cilk并行遞歸程序,以提高其性能。本文根據(jù)不同并行遞歸問題的計(jì)算過程,總結(jié)出其輔助性能模型。在該模型下,能推斷出例程派生開銷對(duì)程序性能的影響,進(jìn)一步的可以推斷出減少這部分開銷后對(duì)并行遞歸程序的性能影響。本文首先對(duì)Cilk程序進(jìn)行靜態(tài)優(yōu)化,包含并行度優(yōu)化和負(fù)載均衡優(yōu)化。并行...
【文章來源】:國(guó)防科技大學(xué)湖南省 211工程院校 985工程院校
【文章頁(yè)數(shù)】:83 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
計(jì)算fib(4)流程圖
當(dāng)限制例程數(shù)最大值小于某臨界點(diǎn)時(shí),第一次任務(wù)竊取后計(jì)算終會(huì)一直以串行副本執(zhí)行計(jì)算,而其他例程的計(jì)算任務(wù) fi得該例程是整個(gè)計(jì)算過程中執(zhí)行計(jì)算時(shí)間最長(zhǎng)的例程。在程其他處理器會(huì)不停的執(zhí)行任務(wù)竊取而且不斷失敗,從而從根果。此節(jié)點(diǎn)也就位于關(guān)鍵路徑之上,即便是在無(wú)窮多個(gè)處理如此,這也是導(dǎo)致'T 增加的根源所在,其結(jié)果必然導(dǎo)致負(fù)載夠大的 NUMTHREADS 也能解決這個(gè)問題,但是這樣的后果例程,會(huì)在一定程度上對(duì)提高性能起到副作用,這與優(yōu)化的,需要針對(duì)這個(gè)問題進(jìn)一步優(yōu)化。原來的優(yōu)化方法降低了工作能,但是卻降低了均衡,F(xiàn)在需要在原來限制例程派生數(shù)的,從而進(jìn)一步的提高性能。 靜態(tài)優(yōu)化:例程深度優(yōu)化出了優(yōu)化后程序還存在的均衡問題,本節(jié)將進(jìn)一步提高均衡
種基于線程的并行程序設(shè)計(jì)語(yǔ)言,能較好的應(yīng)用于共過添加幾個(gè)關(guān)鍵字來指出并實(shí)現(xiàn)并行,不需要額外的體系結(jié)構(gòu)中,不僅主存共享,一般而言末級(jí) Cache 也常適合在目前的多核處理器上進(jìn)行并行程序設(shè)計(jì)。在據(jù)重用模型后,我們將提出面向 Cilk 的并行遞歸程序4.1 基于例程的并行遞歸數(shù)據(jù)重用模型的模型中,并行執(zhí)行體的調(diào)度單位將是并行子遞歸例例程的并行遞歸數(shù)據(jù)重用;诶痰牟⑿羞f歸數(shù)據(jù)并行子遞歸之間的關(guān)系。在 Cilk 程序中,并行子遞歸,因此,面向 Cilk 應(yīng)用的并行遞歸數(shù)據(jù)重用理論將在間的關(guān)系。通過下圖可以看出基于例程的并行遞歸數(shù)的并行遞歸數(shù)據(jù)重用模型的關(guān)系。
本文編號(hào):2915245
【文章來源】:國(guó)防科技大學(xué)湖南省 211工程院校 985工程院校
【文章頁(yè)數(shù)】:83 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
計(jì)算fib(4)流程圖
當(dāng)限制例程數(shù)最大值小于某臨界點(diǎn)時(shí),第一次任務(wù)竊取后計(jì)算終會(huì)一直以串行副本執(zhí)行計(jì)算,而其他例程的計(jì)算任務(wù) fi得該例程是整個(gè)計(jì)算過程中執(zhí)行計(jì)算時(shí)間最長(zhǎng)的例程。在程其他處理器會(huì)不停的執(zhí)行任務(wù)竊取而且不斷失敗,從而從根果。此節(jié)點(diǎn)也就位于關(guān)鍵路徑之上,即便是在無(wú)窮多個(gè)處理如此,這也是導(dǎo)致'T 增加的根源所在,其結(jié)果必然導(dǎo)致負(fù)載夠大的 NUMTHREADS 也能解決這個(gè)問題,但是這樣的后果例程,會(huì)在一定程度上對(duì)提高性能起到副作用,這與優(yōu)化的,需要針對(duì)這個(gè)問題進(jìn)一步優(yōu)化。原來的優(yōu)化方法降低了工作能,但是卻降低了均衡,F(xiàn)在需要在原來限制例程派生數(shù)的,從而進(jìn)一步的提高性能。 靜態(tài)優(yōu)化:例程深度優(yōu)化出了優(yōu)化后程序還存在的均衡問題,本節(jié)將進(jìn)一步提高均衡
種基于線程的并行程序設(shè)計(jì)語(yǔ)言,能較好的應(yīng)用于共過添加幾個(gè)關(guān)鍵字來指出并實(shí)現(xiàn)并行,不需要額外的體系結(jié)構(gòu)中,不僅主存共享,一般而言末級(jí) Cache 也常適合在目前的多核處理器上進(jìn)行并行程序設(shè)計(jì)。在據(jù)重用模型后,我們將提出面向 Cilk 的并行遞歸程序4.1 基于例程的并行遞歸數(shù)據(jù)重用模型的模型中,并行執(zhí)行體的調(diào)度單位將是并行子遞歸例例程的并行遞歸數(shù)據(jù)重用;诶痰牟⑿羞f歸數(shù)據(jù)并行子遞歸之間的關(guān)系。在 Cilk 程序中,并行子遞歸,因此,面向 Cilk 應(yīng)用的并行遞歸數(shù)據(jù)重用理論將在間的關(guān)系。通過下圖可以看出基于例程的并行遞歸數(shù)的并行遞歸數(shù)據(jù)重用模型的關(guān)系。
本文編號(hào):2915245
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2915245.html
最近更新
教材專著