版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
多核技術(shù)分析匯報人:成都研究所日期:2007-11-13?2006,ZTECorporation.Allrightsreserved.目錄多核相關(guān)概念SMP關(guān)鍵技術(shù)多核應(yīng)用模式多核軟件設(shè)計要素多核相關(guān)概念單核結(jié)構(gòu)、多處理器結(jié)構(gòu)以及多核結(jié)構(gòu)之間的簡單對比多核相關(guān)概念SMP:指在兩個相似(或相同)的處理器通過一條高速通道連接,并且共享外設(shè)和存儲器空間的體系結(jié)構(gòu)上,運行同一個操作系統(tǒng)實例,上層應(yīng)用對于多CPU、線程多實例無需了解,由操作系統(tǒng)自動協(xié)調(diào)運行,并管理共享資源。AMP:在一個由兩顆或者多顆相同或者不同的處理器通過各種通信通道連接(比如可以將一個MCU(MainControlUnit)和一個DSP集成在一起),在邏輯上共享或者獨占外設(shè)、存儲器的體系架構(gòu)上,運行不同的操作系統(tǒng)實例,相互之間通過TIPC(TransparentInter-ProcessCommunication)等機(jī)制通訊。往往是用于主控處理單元與各種專業(yè)協(xié)處理器協(xié)同工作的情形。多核:是一種處理器的結(jié)構(gòu),在一個芯片上集成了多個處理器核心。一般各個核有獨立的L1cache,但共享L2Cache,同時,也共享存儲器、外設(shè)。SMT(HT):同時多線程技術(shù)(在intel稱為超線程技術(shù)),是在CPU中提供多個半獨立的處理器單元,其中寄存器獨立,但共享L1cache和ALU單元,其目的是提高ALU的利用率,提升CPU效率。從物理上來看,是一個類多CPU體系。當(dāng)然各芯片廠家實現(xiàn)方案可能不同。多處理器:由多顆相同或者不同的獨立完整的CPU通過通信通道連接,可共享也可獨立擁有存儲器、外設(shè)。多核相關(guān)概念CPU數(shù)量執(zhí)行單元(ALU)體系結(jié)構(gòu)狀態(tài)信息(寄存器)Cache總線/內(nèi)存/中斷/外設(shè)應(yīng)用模式/操作系統(tǒng)需求說明單內(nèi)核/多線程單個,復(fù)用單個,復(fù)用1套,復(fù)用1套,共用共用通過延遲隱藏提升系統(tǒng)性能SMT/HT(超線程)單個,復(fù)用單個,復(fù)用多套,并行1套,共用共用SMP通過延遲隱藏提升系統(tǒng)性能。性能提升有限多核多個,獨立并行運行多個,獨立并行運行多套,并行1套或者多套,共享或者獨立一般為共用,也可分段使用SMP/AMP真正并行,理論上可達(dá)到核數(shù)N的加速比多處理器多個,獨立運行多個獨立運行多套,獨立多套獨立一般為獨立使用,也可共用內(nèi)存AMP/SMP并行,理論上可達(dá)到CPU數(shù)N的加速比SMP關(guān)鍵技術(shù)之一SMP調(diào)度Core1………………………調(diào)度代碼優(yōu)先級1Ready線程隊列優(yōu)先級2……優(yōu)先級n線程A線程B線程C線程D優(yōu)先級1Block線程隊列優(yōu)先級2……優(yōu)先級n線程X線程Y線程Z線程QCore2Core3Core4調(diào)度點裝載執(zhí)行掃描線程隊列裝載線程執(zhí)行調(diào)度點調(diào)度點調(diào)度點裝載執(zhí)行掃描線程隊列裝載線程執(zhí)行裝載執(zhí)行掃描線程隊列裝載線程執(zhí)行裝載執(zhí)行掃描線程隊列裝載線程執(zhí)行調(diào)度點掃描線程隊列裝載執(zhí)行裝載線程執(zhí)行單核調(diào)度多核調(diào)度同步技術(shù)描述作用范圍CPU獨立變量每個CPU單獨使用各自私有的變量結(jié)構(gòu)AllCPUs原子操作對計數(shù)變量的原子修改操作AllCPUs內(nèi)存柵欄(barrier)避免對CPU指令操作的重排序LocalCPUorAllCPUsSpinlock基于忙等的鎖方式AllCPUs信號量基于阻塞的鎖方式(sleep)AllCPUs本地中斷鎖在本CPU上實現(xiàn)中斷屏蔽LocalCPU讀-拷貝-更新鎖(RCU)對通過指針訪問共享數(shù)據(jù)結(jié)構(gòu)的一種無鎖機(jī)制AllCPUsSMP關(guān)鍵技術(shù)之二共享資源互斥保護(hù)SMP關(guān)鍵技術(shù)之三中斷管理多核應(yīng)用模式AMP:每個核運行獨立的OS,或者同種OS的獨立實例;SMP:一個OS的單一實例同時管理所有CPU,所有應(yīng)用可以浮動到其中任一個去運行;BMP:一個OS的單一實例同時管理所有CPU,但可以將某些應(yīng)用或者線程鎖定在指定的CPU上運行,實際上是SMP的一種特例;多核應(yīng)用模式擴(kuò)展性已有單核代碼遷移效率總體研發(fā)效率及成本性能適用場景AMP差較高要維護(hù)多個版本,甚至多種操作系統(tǒng)實現(xiàn),需要多種工具支持,效率低,成本高可以采用不同的操作系統(tǒng)來實現(xiàn)非對稱性業(yè)務(wù),實時響應(yīng)能力強并行性差,嚴(yán)重非對稱性業(yè)務(wù),關(guān)注有序性的業(yè)務(wù)SMP好差,主要是編程理念有變化,遷移成本高版本維護(hù)簡單,有較好的研發(fā)工具支持,效率高,成本低并行性業(yè)務(wù)處理性能高,ThrougthPut最佳,實時響應(yīng)能力不能保證并行性程序較高,負(fù)荷對稱型業(yè)務(wù)。BMP較好較高,BMP有時做為SMP的過渡,但可能不能充分發(fā)揮多核優(yōu)勢同SMP同SMP與SMP類似,適用于已有單核應(yīng)用遷移到SMP的過渡階段多核軟件開發(fā)總體要求架構(gòu)方面:提升軟件并行性算法級(使用并行算法、使用OpenMP編程)任務(wù)級(流水線、多實例)合理規(guī)劃資源分配(中斷資源分配、處理器分配)編程方面:選用適當(dāng)?shù)耐绞侄慰刂奇i粒度充分認(rèn)識多核帶來的程序并發(fā)性提高(同時多任務(wù)運行、關(guān)中斷將不確保安全的同步)下層支撐平臺提供支持:多種類型同步手段(spinLock,讀寫鎖、全局中斷鎖…)快速核間通訊手段(IPI機(jī)制)并發(fā)任務(wù)管理,二級調(diào)度任務(wù)間的同步性分解子系統(tǒng)---將系統(tǒng)業(yè)務(wù)分解為相對獨立的幾個子系統(tǒng),盡量減少它們的藕合性;流水線---將耗用CPU大的業(yè)務(wù)流程分解為更細(xì)粒度的流水線,一個線程處理一步。在流水線的不同階段存在著不同的數(shù)據(jù)集。盡量減少上下流程的共享資源競爭沖突;多實例化---將耗用CPU大的業(yè)務(wù)流程設(shè)計為可并行的、多實例化的多線程或者多進(jìn)程,并盡量減少多實例間的共享資源競爭沖突;其中又包含兩種模式:工作線程
----一個主線程創(chuàng)建幾個線程并行執(zhí)行工作流。工作線程數(shù)目應(yīng)與CPU核數(shù)目相當(dāng),這樣每個核都可以處理相同份額的工作。主線程則監(jiān)控協(xié)調(diào)工作線程的工作。對等體
----一個線程創(chuàng)建其他線程,并做為對等體參與分擔(dān)工作。多核軟件設(shè)計要素之一業(yè)務(wù)流程并行化多核軟件設(shè)計要素之一業(yè)務(wù)流程并行化優(yōu)點:流程清楚,實現(xiàn)方式簡單,可以最大程度地減少互斥操作;缺點:如果各部分的處理負(fù)荷嚴(yán)重不對稱,則無法利用多核的優(yōu)勢;由于分解的流水線數(shù)量與處理器數(shù)量有關(guān)系,不利于各種多核體系上的移植、擴(kuò)展,比如2核擴(kuò)展為4核;分解子系統(tǒng):系統(tǒng)業(yè)務(wù)分解為多個子系統(tǒng);分配綁定到多核上,各自獨立運行;多核軟件設(shè)計要素之一業(yè)務(wù)流程并行化優(yōu)點:流程清楚,實現(xiàn)方式簡單,可以最大程度地減少互斥操作;缺點:如果各部分的處理負(fù)荷嚴(yán)重不對稱,則無法利用多核的優(yōu)勢;由于分解的流水線數(shù)量與處理器數(shù)量有關(guān)系,不利于各種多核體系上的移植、擴(kuò)展,比如2核擴(kuò)展為4核;流水線:關(guān)鍵業(yè)務(wù)流程串行化;分配綁定到多核上;多核軟件設(shè)計要素之一業(yè)務(wù)流程并行化優(yōu)點:操作系統(tǒng)自動調(diào)度,最大程度上實現(xiàn)負(fù)荷均衡;與具體多核體系架構(gòu)無關(guān),移植擴(kuò)展方便;缺點:要求線程負(fù)荷盡量均勻、粒度更細(xì),需要對現(xiàn)有系統(tǒng)進(jìn)行分析改造;線程多實例對于編程設(shè)計要求較高;多實例化:關(guān)鍵業(yè)務(wù)流程多實例化;由操作系統(tǒng)動態(tài)調(diào)度到多核上執(zhí)行;多核軟件設(shè)計要素之二合理規(guī)劃共享資源分配同一外設(shè)獨占式訪問,減少外設(shè)訪問沖突;不同外設(shè)負(fù)荷均分到不同CPU,提高響應(yīng)速度;APIC可實現(xiàn)中斷輪轉(zhuǎn)到各CPU,對于處理性能要求極高的外設(shè),也可以由APIC將負(fù)荷分擔(dān)到多個核上多核軟件設(shè)計要素之三
充分考慮單/多核共享資源互斥保護(hù)方式的差異利用同等優(yōu)先級FIFO調(diào)度機(jī)制來保證共享資源互斥將不再可靠;低優(yōu)先級任務(wù)也可能會與高優(yōu)先級任務(wù)并行運行,搶奪共享資源;鎖中斷在多核中將不能保證安全的同步共享資源互斥保護(hù)?流程有序性?解決方法:通過合適的、顯式的同步互斥機(jī)制來保證;將相關(guān)任務(wù)鎖定在同一個核內(nèi)運行,保持與單核相同的調(diào)度運行方式;由主線程來監(jiān)控協(xié)調(diào)各工作線程的工作;多核軟件設(shè)計要素之四
進(jìn)程/線程多實例并非越多越好進(jìn)程/線程增多,調(diào)度效率受到影響,進(jìn)程/線程切換開銷、Cache命中率都會影響到系統(tǒng)性能解決方法:一般情況下,進(jìn)程/線程多實例數(shù)量與核數(shù)相同時,效率可以達(dá)到最佳;對于并發(fā)度很高的業(yè)務(wù),從設(shè)計與實現(xiàn)流程清晰的角度出發(fā),仍然適合采用大量的多實例線程多核軟件設(shè)計要素之五
線程飄移or線程綁定線程/進(jìn)程飄移可充分利用SMP操作系統(tǒng)的調(diào)度能力,實現(xiàn)多核間完全的負(fù)荷均衡,可保證平滑地多核擴(kuò)展能力;線程/進(jìn)程綁定可減少切換開銷,提高Cache命中率,甚至保證既有單核軟件系統(tǒng)以最小代價遷移到多核上;解決方法:對于提供不同業(yè)務(wù)功能的多個線程,或者處理流程前后相關(guān)性密切的線程,適合于使用線程綁定;對于提供相同業(yè)務(wù)的多實例并行線程,處理流程前后相關(guān)性弱的線程,適合于使用線程自動調(diào)度,就可能出現(xiàn)線程飄移;多核軟件設(shè)計要素之六
盡量減少共享數(shù)據(jù)的訪問沖突共享數(shù)據(jù)的訪問沖突是制約多核性能提升的一個重要因素,信號量會引起線程阻塞以及切換開銷,自旋鎖會導(dǎo)致CPU短時間空轉(zhuǎn),原子操作會導(dǎo)致總線短暫鎖止;解決方法:通過優(yōu)化的數(shù)據(jù)結(jié)構(gòu)設(shè)計,比如多實例化數(shù)據(jù),僅在不得已的情況下才進(jìn)行沖突數(shù)據(jù)訪問(例如Linux2.6改進(jìn)的每CPU線程調(diào)度隊列);使用類環(huán)形隊列結(jié)構(gòu),產(chǎn)生者與消費者獨立操作,減少互斥;使用讀寫鎖;多核產(chǎn)品演進(jìn)步驟第一步:架構(gòu)層面演進(jìn)多模塊(多實例)方式AMP方式基本思路:任務(wù)與CPU進(jìn)行靜態(tài)綁定分配,屏蔽軟件編程上對多核的感知第二步:代碼層面演進(jìn)多線程SMP負(fù)載平衡根據(jù)對多核技術(shù)的理解過程,產(chǎn)品向多核演進(jìn)可以采用逐步深入的步驟:AMP應(yīng)用解決方案一控制層:實現(xiàn)信令、協(xié)議交互、操作維護(hù)管理,業(yè)務(wù)較為豐富,一般采用通用RTOS;數(shù)據(jù)層:實現(xiàn)高效率數(shù)據(jù)處理、轉(zhuǎn)發(fā),一般采用短小精悍的特殊OS,甚至是單任務(wù)OS。但考慮到編程效率、維護(hù)成本,也可以采用裁剪過的通用RTOS;Core1控制層Core2數(shù)據(jù)層Core3數(shù)據(jù)層Core4數(shù)據(jù)層AMP應(yīng)用解決方案二業(yè)務(wù)擴(kuò)展層:提供豐富靈活的業(yè)務(wù)擴(kuò)展能力,良好的用戶交互性,一般采用通用嵌入式OS,甚至包括GUI能力,如WINCE、Linux等;基本服務(wù)層:提供設(shè)備的基本業(yè)務(wù)能力,強調(diào)穩(wěn)定、高可用、高響應(yīng)能力,如手機(jī)中的編解碼、移動信令處理;Core1業(yè)務(wù)擴(kuò)展層Core2基本服務(wù)層AMP應(yīng)用解決方案支撐層需提供支持為通用RTOS和特種OS提供統(tǒng)一的OSS封裝層,主要是TIPC、分布式擴(kuò)展機(jī)制,盡量屏蔽上層應(yīng)用與異種OS的相關(guān)性;為各種OS提供統(tǒng)一、方便的開發(fā)工具(調(diào)試、調(diào)優(yōu));SMP/BMP應(yīng)用解決方案不考慮多進(jìn)程地址空間隔離情形,只是多線程調(diào)度運行,則需解決:應(yīng)用層:線程調(diào)度運行方式,共享資源互斥保護(hù)機(jī)制;OSS:封裝多種互斥保護(hù)機(jī)制,如自旋鎖;考慮多進(jìn)程地址空間隔離情形,則還需解決:應(yīng)用層:全局?jǐn)?shù)據(jù)共享訪問;OSS:提供進(jìn)程間通訊機(jī)制,需改進(jìn)分布式通訊機(jī)制、內(nèi)存分配機(jī)制、版本管理、任務(wù)監(jiān)控;SMP/BMP應(yīng)用解決方案一單進(jìn)程多線程模式一、產(chǎn)品應(yīng)用進(jìn)程鎖定在某核上應(yīng)用層:基本無變化,仍然在一個地址空間運行,優(yōu)先級調(diào)度方式、共享資源互斥保護(hù)機(jī)制、通信方式都延續(xù)。可以逐步分離各模塊為多進(jìn)程;OSS:基本無變化;二、產(chǎn)品應(yīng)用進(jìn)程不鎖定在某核上,即線程可自由調(diào)度到各核上運行應(yīng)用層:考慮線程調(diào)度運行方式變化帶來的影響,共享資源互斥保護(hù)機(jī)制;OSS:提供多種互斥保護(hù)機(jī)制;SMP/BMP應(yīng)用解決方案二多進(jìn)程多線程模式應(yīng)用層:需改造全局?jǐn)?shù)據(jù)共享訪問機(jī)制,共享資源互斥保護(hù)機(jī)制,調(diào)整線程優(yōu)先級運作方式;OSS:需要實現(xiàn)多實例,改造內(nèi)存管理、進(jìn)程間通訊、分布式通訊、互斥保護(hù)機(jī)制、版本管理方式、任務(wù)監(jiān)控方式;在性能需求較強的場合,可能需要內(nèi)核任務(wù)管理;反之,出于安全性考慮,則可以將所有模塊都放到用戶態(tài);多核開發(fā)支持手段---調(diào)試調(diào)試AMP調(diào)試,需要同時對多個CPU進(jìn)行調(diào)試,各CPU可能運行不同的OSSMP調(diào)試,smp線程并發(fā)性加強,需要支持線程、進(jìn)程多種調(diào)試方式KIDE支持多target調(diào)試,已掌握調(diào)試器核心技術(shù),可以方便擴(kuò)展到多OS上;KIDE支持線程級、進(jìn)程級、系統(tǒng)級調(diào)試模式,可以靈活切換多核開發(fā)支持手段---性能調(diào)優(yōu)性能分析 多核的效率建立在并發(fā)的基礎(chǔ)上,并發(fā)效率的調(diào)優(yōu),需要性能分析工具的支持:鎖性能(獲取、阻塞、等待時間….)調(diào)度性能軟件流程并發(fā)度分析KProfile與KLinux,KID
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新進(jìn)員工質(zhì)量意識培訓(xùn)
- 信用社人力資源新工培訓(xùn)
- 數(shù)控車削加工技術(shù) 課件 項目二 制定數(shù)控車削工藝
- 山東省淄博市第一中學(xué)2024-2025學(xué)年高三上學(xué)期期中考試語文試卷含答案
- T-YNZYC 0079-2023 綠色藥材 蜘蛛香栽培技術(shù)規(guī)程
- T-YNRZ 025-2024 瓜類蔬菜育苗技術(shù)規(guī)程
- 廣西桂林市永??h2024-2025學(xué)年上學(xué)期八年級數(shù)學(xué)期中考試卷(無答案)
- 區(qū)域經(jīng)濟(jì)發(fā)展
- 高考?xì)v史二輪復(fù)習(xí)通史版選修四中外歷史人物評說課
- 2024年山東省臨沂市中考英語試題含解析
- 人教版七年級數(shù)學(xué)上冊期中測試卷-附帶有答案
- DB3714-T 0004-2021 肉種鴨強制換羽技術(shù)規(guī)程
- 《智能建造導(dǎo)論》 課件全套 劉占省 第1-12章 智能建造的興起-中國智能建造之路
- 樹立信心主題班會課件1
- 臨床醫(yī)學(xué)中的病患隨訪與健康教育
- 量子天線技術(shù)初探
- 山東省濟(jì)南市2023-2024學(xué)年三年級上學(xué)期期中數(shù)學(xué)試卷
- 2023~2024學(xué)年度上期高中2022級期中聯(lián)考數(shù)學(xué)參考答案及評分標(biāo)準(zhǔn)
- 全國優(yōu)質(zhì)課一等獎高中物理必修一《曲線運動》課件
- 初一年級班級日志記載表(詳)
- 小學(xué)道德與法治-10《吃飯有講究》教學(xué)設(shè)計學(xué)情分析教材分析課后反思
評論
0/150
提交評論