操作系統(tǒng)對多核處理器支持方法課件_第1頁
操作系統(tǒng)對多核處理器支持方法課件_第2頁
操作系統(tǒng)對多核處理器支持方法課件_第3頁
操作系統(tǒng)對多核處理器支持方法課件_第4頁
操作系統(tǒng)對多核處理器支持方法課件_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、操作系統(tǒng)對多核處理器的支持方法dlut085/6/7周一晚1outline并行計(jì)算機(jī)訪存模型調(diào)度與中斷輸入輸出系統(tǒng)存儲管理與文件系統(tǒng)虛擬化技術(shù)平臺虛擬化資源虛擬化2UMA(均勻存儲訪問)模型物理存儲器被所有節(jié)點(diǎn)共享;所有節(jié)點(diǎn)訪問任意存儲單元的時(shí)間相同;發(fā)生訪存競爭時(shí),仲裁策略平等對待每個(gè)節(jié)點(diǎn),即每個(gè)節(jié)點(diǎn)機(jī)會均等;各節(jié)點(diǎn)的CPU可帶有局部私有高速緩存;外圍I/O設(shè)備也可以共享,且每個(gè)節(jié)點(diǎn)有平等的訪問權(quán)利。當(dāng)前對稱多處理器共享存儲并行計(jì)算機(jī)SMP均采用這種模型(一臺機(jī)器上多個(gè)CPU)3NUMA(非均勻存儲訪問)模型物理存儲器被所有節(jié)點(diǎn)共享,任意節(jié)點(diǎn)可以直接訪問任意內(nèi)存模塊;節(jié)點(diǎn)訪問內(nèi)存模塊的速度不

2、同,訪問本地存儲模塊的速度一般是訪問其它節(jié)點(diǎn)內(nèi)存模塊的3倍以上;發(fā)生訪存競爭時(shí),仲裁策略對節(jié)點(diǎn)可能是不等價(jià)的;各節(jié)點(diǎn)的CPU可帶有局部私有高速緩存 (cache);外圍I/O設(shè)備也可以共享,但對各節(jié)點(diǎn)是不等價(jià)的。SGI Origin系列并行計(jì)算機(jī),采用基于cache目錄一致性的非均勻訪存模型(CCNUMA),設(shè)計(jì)了專門的硬件,保證在任意時(shí)刻各節(jié)點(diǎn)cache中數(shù)據(jù)與全局內(nèi)存數(shù)據(jù)的一致性。4COMA(全高速緩存存儲訪問)模型各處理器節(jié)點(diǎn)中沒有存儲層次結(jié)構(gòu),全部高速緩存組成了全局地址空間;利用分布的高速緩存目錄D進(jìn)行遠(yuǎn)程高速緩存的訪問;COMA中的高速緩存容量一般都大于2級高速緩存容量使用COMA時(shí)

3、,數(shù)據(jù)開始時(shí)可以任意分配,因?yàn)樵谶\(yùn)行時(shí)它最終會被遷移到要用到它的地方。5NORMA(非遠(yuǎn)程存儲訪問)模型所有存儲器都是私有的,僅能由其本地處理器訪問;基于消息傳遞的并行計(jì)算機(jī),每個(gè)節(jié)點(diǎn)都是由一臺處理器、本地存儲器和I/O外設(shè)組成的自治計(jì)算機(jī)。絕大多數(shù)NORMA都不支持遠(yuǎn)程存儲器的訪問;在DSM(分布式共享內(nèi)存)中,NORMA就消失了。6構(gòu)建并行機(jī)系統(tǒng)的不同存儲結(jié)構(gòu)7outline并行計(jì)算機(jī)訪存模型調(diào)度與中斷輸入輸出系統(tǒng)存儲管理與文件系統(tǒng)虛擬化技術(shù)平臺虛擬化資源虛擬化8多核操作系統(tǒng)中進(jìn)程的分配與調(diào)度進(jìn)程的分配將進(jìn)程分配到合理的物理核上,因?yàn)椴煌暮嗽诠蚕硇院蜌v史運(yùn)行情況下都是不同的。有的物理核能

4、夠共享二級cache,而有的卻是獨(dú)立的。進(jìn)程間數(shù)據(jù)共享分配給有共享二級cache的核,提升命中率。9多核下操作系統(tǒng)調(diào)度的研究熱點(diǎn)程序的并行研究;多進(jìn)程的時(shí)間相關(guān)性研究;任務(wù)的分配與調(diào)度;緩存的錯(cuò)誤共享;一致性訪問研究;進(jìn)程間通信;多處理器核內(nèi)部資源競爭;。 。10任務(wù)的分配單核:只有一個(gè)核的資源可以使用不存在核的任務(wù)分配問題;多核:多個(gè)進(jìn)程如何在各個(gè)核中分配?均勻分配?一起分配到一個(gè)核?按照一定的算法分配?受底層系統(tǒng)結(jié)構(gòu)影響SMP架構(gòu)只共享內(nèi)存CMP架構(gòu)也會共享二級緩存11任務(wù)的調(diào)度各個(gè)核一致的調(diào)度算法各個(gè)核獨(dú)立的調(diào)度算法進(jìn)程是否一直運(yùn)行在同一個(gè)核?還是遷移?怎樣調(diào)度實(shí)時(shí)任務(wù)和普通任務(wù)(優(yōu)先級

5、不同)?系統(tǒng)是否要進(jìn)行負(fù)載均衡?調(diào)度策略(單核)多核呢?先來先服務(wù)FCFS最短作業(yè)優(yōu)先SJF優(yōu)先級調(diào)度輪轉(zhuǎn)法RR多級隊(duì)列調(diào)度12Linux 2.6內(nèi)核的調(diào)度算法時(shí)間復(fù)雜度O(1)(1)系統(tǒng)為每個(gè)處理器都維護(hù)一個(gè)單獨(dú)的就緒隊(duì)列活動(dòng)的就緒隊(duì)列:包含當(dāng)前時(shí)間片還有剩余的就緒任務(wù)擴(kuò)展的就緒隊(duì)列:包含那些時(shí)間片已經(jīng)用完的,重新分配時(shí)間片的就緒任務(wù)。(2)任務(wù)的調(diào)度是基于優(yōu)先級調(diào)度的每個(gè)處理器上的任務(wù)共有140個(gè)優(yōu)先級,每個(gè)就緒任務(wù)的優(yōu)先級通過散列函數(shù)直接映射到處理器的位圖數(shù)據(jù)結(jié)構(gòu)上,通過位圖的find-first-bit可以找到優(yōu)先級最高的執(zhí)行(3)活動(dòng)就緒隊(duì)列和擴(kuò)展就緒隊(duì)列通過指針轉(zhuǎn)換(4)負(fù)載均衡一

6、個(gè)core的任務(wù)結(jié)束,轉(zhuǎn)而處理其他最忙core上的任務(wù)若所有core都有任務(wù),則每200ms檢查是否均衡13多核調(diào)度算法對任務(wù)的分配進(jìn)行優(yōu)化。使同一應(yīng)用程序的任務(wù)盡量在一個(gè)核上執(zhí)行,以便達(dá)到有共享數(shù)據(jù)的任務(wù)盡量在一個(gè)核上面運(yùn)行,而共享數(shù)據(jù)量少或者沒有的任務(wù)在不同核上進(jìn)行。對任務(wù)的共享數(shù)據(jù)優(yōu)化。由于CMP體系結(jié)構(gòu)共享二級緩存,可以考慮改變?nèi)蝿?wù)在內(nèi)存中的數(shù)據(jù)分布,使任務(wù)在執(zhí)行時(shí)盡量增加二級緩存的命中率。對任務(wù)的負(fù)載均衡優(yōu)化。當(dāng)任務(wù)在調(diào)度時(shí),出現(xiàn)了負(fù)載不均衡,考慮將較忙處理器中與其他任務(wù)最不相關(guān)的任務(wù)遷移,以達(dá)到數(shù)據(jù)的沖突量小。14outline并行計(jì)算機(jī)訪存模型調(diào)度與中斷輸入輸出系統(tǒng)存儲管理與文件

7、系統(tǒng)虛擬化技術(shù)平臺虛擬化資源虛擬化15高級編程中斷控制器APIC是基于中斷控制器分散在兩個(gè)基礎(chǔ)功能單元本地單元以及I/O單元的分布式體系結(jié)構(gòu)。在多核系統(tǒng)中,多個(gè)本地和I/O APIC單元能夠作為一個(gè)整體通過ICC總線互相操作。APIC發(fā)揮的功能有:接受來自處理器中斷引腳中的內(nèi)部或外部I/O APIC的中斷,然后將這些中斷發(fā)送給處理器核處理。在多核處理器系統(tǒng)中,接收發(fā)送核內(nèi)中斷消息。多核體系處理器中,必須將中斷處理分發(fā)給一組核處理。當(dāng)系統(tǒng)中有多個(gè)核在并行執(zhí)行時(shí),必須有一個(gè)能夠接收到的中斷分發(fā)給能夠提供服務(wù)的核的機(jī)制。16APIC通過中斷命令寄存器(ICR)來接收和發(fā)送IPI消息,ICR提供如下功

8、能:發(fā)送中斷到其他處理器核允許處理器核轉(zhuǎn)發(fā)收到的其不服務(wù)的中斷到其他處理器核來服務(wù)給處理器核自身發(fā)送中斷(一次自中斷)傳遞特殊IPI(核內(nèi)中斷)到其他處理器核,比如啟動(dòng)IPI消息IPI消息可以用來啟動(dòng)處理器核或者分配工作任務(wù)到不同的處理器核IPI消息能夠用來在系統(tǒng)時(shí)或者系統(tǒng)執(zhí)行的廣泛功能單元中分發(fā)中斷到不同的處理器核。17多核高級可編程中斷控制器 APIC18outline并行計(jì)算機(jī)訪存模型調(diào)度與中斷輸入輸出系統(tǒng)存儲管理與文件系統(tǒng)虛擬化技術(shù)平臺虛擬化資源虛擬化19多核下存儲管理相對變化較少,主要改進(jìn):為了充分使用多核的運(yùn)算能力,很多庫函數(shù)都要做成非阻塞調(diào)用方式的,但這樣會導(dǎo)致數(shù)據(jù)沖突或不同步的

9、問題,所以必須保證數(shù)據(jù)同步機(jī)制。事務(wù)內(nèi)存管理機(jī)制:能夠協(xié)調(diào)程序,在并行運(yùn)行的同時(shí),保證數(shù)據(jù)的同步。為了提供內(nèi)存分配的效率,可以使用多線程內(nèi)存分配,這樣可以提高效率,降低cache沖突,特別有利于空間核時(shí)間關(guān)聯(lián)性強(qiáng)的內(nèi)存操作。20outline并行計(jì)算機(jī)訪存模型調(diào)度與中斷輸入輸出系統(tǒng)存儲管理與文件系統(tǒng)虛擬化技術(shù)平臺虛擬化資源虛擬化21虛擬化技術(shù):是指對計(jì)算機(jī)資源進(jìn)行的抽象,是在系統(tǒng)、應(yīng)用或用戶與資源進(jìn)行交互時(shí),對計(jì)算機(jī)資源的物理特性進(jìn)行隱藏的一種技術(shù)。分類: (1)平臺虛擬化:由指定硬件平臺上的宿主軟件來實(shí)行,為其他軟件提供一個(gè)模擬的計(jì)算機(jī)環(huán)境。其他軟件通常都是完整的操作系統(tǒng),就像安裝在獨(dú)立的硬

10、件平臺上一樣運(yùn)行。 (2)資源虛擬化:它是被擴(kuò)展到具體系統(tǒng)資源的虛擬化,它涉及資源的合并、劃分以及簡化的模擬等作用。22平臺虛擬化:模擬模擬:虛擬機(jī)模擬完成的硬件,允許針對完全不同的CPU的未經(jīng)修改的操作系統(tǒng)直接運(yùn)行。模擬的實(shí)現(xiàn)需要廣泛的技術(shù),從狀態(tài)機(jī)到全虛擬平臺的動(dòng)態(tài)編譯。這種方法長期以來被用來在新處理器可用之前對軟件進(jìn)行開發(fā)。Virtual PC、QEMU等 23平臺虛擬化原始虛擬和全虛擬虛擬機(jī)模擬足夠的硬件來保證未修改的為相同CPU設(shè)計(jì)的操作系統(tǒng)獨(dú)立運(yùn)行。VMware、Win4BSD等部分虛擬虛擬機(jī)模擬多個(gè)但并非所有底層硬件環(huán)境,特別是地址空間這樣的環(huán)境支持資源共享和進(jìn)程獨(dú)立,但是不允許獨(dú)立的客體操作系統(tǒng)實(shí)例Windows、Linux等24平臺虛擬化類虛擬操作系統(tǒng)級虛擬應(yīng)用程序虛擬 25資源虛擬化針對平臺虛擬化到具體系統(tǒng)資源的虛擬

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論