多核系統(tǒng)下并行節(jié)點(diǎn)復(fù)制垃圾收集算法研究
發(fā)布時(shí)間:2021-11-01 23:24
隨著面向?qū)ο笳Z(yǔ)言和程序設(shè)計(jì)方法的廣泛使用,垃圾收集日益受到重視。垃圾收集,即自動(dòng)內(nèi)存管理,是指運(yùn)行時(shí)系統(tǒng)負(fù)責(zé)自動(dòng)回收無(wú)用對(duì)象的一種―廢料‖回收機(jī)制。當(dāng)代流行語(yǔ)言如Java、C#語(yǔ)言等都具有垃圾收集功能。垃圾收集機(jī)制的出現(xiàn),使程序員只需專注于對(duì)象的分配,而無(wú)需考慮對(duì)象何時(shí)被銷毀,垃圾對(duì)象的回收由垃圾收集器在后臺(tái)動(dòng)態(tài)地完成而毋須程序員干預(yù)。垃圾收集避免了內(nèi)存泄漏和不正確的內(nèi)存操作(如懸掛引用)引起的軟件錯(cuò)誤,提高了軟件健壯性。然而,垃圾收集器回收垃圾對(duì)象時(shí)造成用戶程序反應(yīng)遲緩,一定程度上影響了用戶程序效率和用戶體驗(yàn)。因此,如何縮短垃圾回收時(shí)間,提高垃圾收集器效率,對(duì)于提高用戶程序執(zhí)行效率和改善用戶體驗(yàn)具有重要的應(yīng)用價(jià)值。近年來(lái),多核CPU和多核GPU日益普及,以及它們并行計(jì)算性能的提高,為垃圾收集并行化提供了堅(jiān)實(shí)的硬件基礎(chǔ)。在多核系統(tǒng)下,本文基于Lisp 2算法提出了一種新穎的節(jié)點(diǎn)復(fù)制算法以及該算法的并行化算法,并分別給出了該并行化算法在多核CPU和多核GPU下的一個(gè)實(shí)現(xiàn)。圍繞多核系統(tǒng)下并行節(jié)點(diǎn)復(fù)制垃圾收集算法研究,本文重點(diǎn)完成了以下工作:(1)深入研究了常用垃圾收集算法。通過(guò)查閱大量的垃...
【文章來(lái)源】:河南師范大學(xué)河南省
【文章頁(yè)數(shù)】:66 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
垃圾收集器在ApacheHarmony虛擬機(jī)中的層次本圖來(lái)源于開(kāi)源軟件ApacheHarmony[4]
3.3 垃圾收集增強(qiáng)了軟件的健壯性支持垃圾收集的軟件,無(wú)用對(duì)象的回收由系統(tǒng)在后臺(tái)自動(dòng)地統(tǒng)一回收。這樣一種回?zé)o用對(duì)象的機(jī)制,消除了程序員手動(dòng)釋放無(wú)用對(duì)象可能造成的內(nèi)存錯(cuò)誤如內(nèi)存泄漏memory leak)和懸掛引用(dangling reference)。垃圾收集消除了內(nèi)存泄漏現(xiàn)象。如下面的示意程序,出現(xiàn)了內(nèi)存泄漏現(xiàn)象。程序在90行申請(qǐng)了n個(gè)整數(shù)的內(nèi)存空間,然后輸入n個(gè)整數(shù)進(jìn)行排序,排序完畢后把這n個(gè)數(shù)出,然而不幸的是程序返回前忘記了把這n個(gè)整數(shù)的內(nèi)存空間歸還給操作系統(tǒng),造成內(nèi)存泄漏現(xiàn)象。操作系統(tǒng)也不回收這片內(nèi)存空間--因?yàn)椴僮飨到y(tǒng)認(rèn)為這片內(nèi)存空間還使用中。如果這是一個(gè)訪問(wèn)量繁重的服務(wù)器,每次客戶訪問(wèn)都造成一片內(nèi)存泄漏,那總有一個(gè)時(shí)刻服務(wù)器內(nèi)存會(huì)枯竭而崩潰。即使服務(wù)器不崩潰,也會(huì)由于可用于分配的存越來(lái)越少而導(dǎo)致服務(wù)器性能降低。這些都不是我們所期望的?上驳氖,垃圾收集出現(xiàn)避免了內(nèi)存泄漏現(xiàn)象的發(fā)生。
的出現(xiàn)避免了內(nèi)存泄漏現(xiàn)象的發(fā)生。圖 1-2 內(nèi)存泄漏(memory leak)示意圖垃圾收集消除了懸掛引用(dangling reference)現(xiàn)象。如圖1-3所示的那樣,程序在89-91行分配了3個(gè)node類型的內(nèi)存空間,指針p、q、r指向了這些內(nèi)存空間,指針q和s指向了相同的對(duì)象。然后,在某個(gè)時(shí)刻(101行)程序刪除了q所指對(duì)象的空間。在稍后某個(gè)
【參考文獻(xiàn)】:
期刊論文
[1]CUDA平臺(tái)下多核GPU高性能并行編程研究[J]. 吳長(zhǎng)茂,張聰品,張慧云,王娟. 河南機(jī)電高等專科學(xué)校學(xué)報(bào). 2011(01)
[2]CUDA平臺(tái)下LISP2算法垃圾收集并行研究[J]. 張聰品,吳長(zhǎng)茂,趙理莉. 計(jì)算機(jī)工程與應(yīng)用. 2010(33)
[3]FLSP:一個(gè)高效的系統(tǒng)級(jí)垃圾收集算法[J]. 盧凱,周旭,遲萬(wàn)慶. 計(jì)算機(jī)工程與科學(xué). 2010(11)
[4]多核系統(tǒng)下并行節(jié)點(diǎn)復(fù)制垃圾收集算法[J]. 張聰品,吳長(zhǎng)茂,趙理莉. 計(jì)算機(jī)應(yīng)用. 2010(11)
[5]并發(fā)垃圾收集器及其調(diào)度方法的研究[J]. 周尋. 計(jì)算機(jī)應(yīng)用與軟件. 2010(09)
[6]垃圾收集器實(shí)時(shí)化的研究[J]. 張寧,張春宇,楊霞,熊光澤,廖勇. 微電子學(xué)與計(jì)算機(jī). 2010(01)
[7]一種新的適用于面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的保守式垃圾收集機(jī)制[J]. 謝之易. 計(jì)算機(jī)應(yīng)用與軟件. 2008(01)
[8]一種基于神經(jīng)網(wǎng)絡(luò)的垃圾收集調(diào)度方法[J]. 李偉明,李之棠. 小型微型計(jì)算機(jī)系統(tǒng). 2007(07)
[9]改進(jìn)的自適應(yīng)分代式垃圾收集[J]. 肖德寶,李偉,彭菲,陳健明. 華中師范大學(xué)學(xué)報(bào)(自然科學(xué)版). 2005(04)
[10]基于嵌入式Java虛擬機(jī)的垃圾回收算法[J]. 諶寧,覃征. 計(jì)算機(jī)應(yīng)用. 2005(01)
博士論文
[1]基于攜帶證明的代碼的垃圾收集過(guò)程驗(yàn)證[D]. 林春曉.中國(guó)科學(xué)技術(shù)大學(xué) 2008
碩士論文
[1]一種內(nèi)存泄漏檢測(cè)技術(shù)的研究和實(shí)現(xiàn)[D]. 王皓.北京交通大學(xué) 2008
[2]Java虛擬機(jī)的內(nèi)存管理策略的研究[D]. 趙立成.電子科技大學(xué) 2007
本文編號(hào):3470882
【文章來(lái)源】:河南師范大學(xué)河南省
【文章頁(yè)數(shù)】:66 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
垃圾收集器在ApacheHarmony虛擬機(jī)中的層次本圖來(lái)源于開(kāi)源軟件ApacheHarmony[4]
3.3 垃圾收集增強(qiáng)了軟件的健壯性支持垃圾收集的軟件,無(wú)用對(duì)象的回收由系統(tǒng)在后臺(tái)自動(dòng)地統(tǒng)一回收。這樣一種回?zé)o用對(duì)象的機(jī)制,消除了程序員手動(dòng)釋放無(wú)用對(duì)象可能造成的內(nèi)存錯(cuò)誤如內(nèi)存泄漏memory leak)和懸掛引用(dangling reference)。垃圾收集消除了內(nèi)存泄漏現(xiàn)象。如下面的示意程序,出現(xiàn)了內(nèi)存泄漏現(xiàn)象。程序在90行申請(qǐng)了n個(gè)整數(shù)的內(nèi)存空間,然后輸入n個(gè)整數(shù)進(jìn)行排序,排序完畢后把這n個(gè)數(shù)出,然而不幸的是程序返回前忘記了把這n個(gè)整數(shù)的內(nèi)存空間歸還給操作系統(tǒng),造成內(nèi)存泄漏現(xiàn)象。操作系統(tǒng)也不回收這片內(nèi)存空間--因?yàn)椴僮飨到y(tǒng)認(rèn)為這片內(nèi)存空間還使用中。如果這是一個(gè)訪問(wèn)量繁重的服務(wù)器,每次客戶訪問(wèn)都造成一片內(nèi)存泄漏,那總有一個(gè)時(shí)刻服務(wù)器內(nèi)存會(huì)枯竭而崩潰。即使服務(wù)器不崩潰,也會(huì)由于可用于分配的存越來(lái)越少而導(dǎo)致服務(wù)器性能降低。這些都不是我們所期望的?上驳氖,垃圾收集出現(xiàn)避免了內(nèi)存泄漏現(xiàn)象的發(fā)生。
的出現(xiàn)避免了內(nèi)存泄漏現(xiàn)象的發(fā)生。圖 1-2 內(nèi)存泄漏(memory leak)示意圖垃圾收集消除了懸掛引用(dangling reference)現(xiàn)象。如圖1-3所示的那樣,程序在89-91行分配了3個(gè)node類型的內(nèi)存空間,指針p、q、r指向了這些內(nèi)存空間,指針q和s指向了相同的對(duì)象。然后,在某個(gè)時(shí)刻(101行)程序刪除了q所指對(duì)象的空間。在稍后某個(gè)
【參考文獻(xiàn)】:
期刊論文
[1]CUDA平臺(tái)下多核GPU高性能并行編程研究[J]. 吳長(zhǎng)茂,張聰品,張慧云,王娟. 河南機(jī)電高等專科學(xué)校學(xué)報(bào). 2011(01)
[2]CUDA平臺(tái)下LISP2算法垃圾收集并行研究[J]. 張聰品,吳長(zhǎng)茂,趙理莉. 計(jì)算機(jī)工程與應(yīng)用. 2010(33)
[3]FLSP:一個(gè)高效的系統(tǒng)級(jí)垃圾收集算法[J]. 盧凱,周旭,遲萬(wàn)慶. 計(jì)算機(jī)工程與科學(xué). 2010(11)
[4]多核系統(tǒng)下并行節(jié)點(diǎn)復(fù)制垃圾收集算法[J]. 張聰品,吳長(zhǎng)茂,趙理莉. 計(jì)算機(jī)應(yīng)用. 2010(11)
[5]并發(fā)垃圾收集器及其調(diào)度方法的研究[J]. 周尋. 計(jì)算機(jī)應(yīng)用與軟件. 2010(09)
[6]垃圾收集器實(shí)時(shí)化的研究[J]. 張寧,張春宇,楊霞,熊光澤,廖勇. 微電子學(xué)與計(jì)算機(jī). 2010(01)
[7]一種新的適用于面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的保守式垃圾收集機(jī)制[J]. 謝之易. 計(jì)算機(jī)應(yīng)用與軟件. 2008(01)
[8]一種基于神經(jīng)網(wǎng)絡(luò)的垃圾收集調(diào)度方法[J]. 李偉明,李之棠. 小型微型計(jì)算機(jī)系統(tǒng). 2007(07)
[9]改進(jìn)的自適應(yīng)分代式垃圾收集[J]. 肖德寶,李偉,彭菲,陳健明. 華中師范大學(xué)學(xué)報(bào)(自然科學(xué)版). 2005(04)
[10]基于嵌入式Java虛擬機(jī)的垃圾回收算法[J]. 諶寧,覃征. 計(jì)算機(jī)應(yīng)用. 2005(01)
博士論文
[1]基于攜帶證明的代碼的垃圾收集過(guò)程驗(yàn)證[D]. 林春曉.中國(guó)科學(xué)技術(shù)大學(xué) 2008
碩士論文
[1]一種內(nèi)存泄漏檢測(cè)技術(shù)的研究和實(shí)現(xiàn)[D]. 王皓.北京交通大學(xué) 2008
[2]Java虛擬機(jī)的內(nèi)存管理策略的研究[D]. 趙立成.電子科技大學(xué) 2007
本文編號(hào):3470882
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3470882.html
最近更新
教材專著