多核、眾核技術(shù)課件_第1頁
多核、眾核技術(shù)課件_第2頁
多核、眾核技術(shù)課件_第3頁
多核、眾核技術(shù)課件_第4頁
多核、眾核技術(shù)課件_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、章節(jié)安排:第一章 多核/眾核概念及發(fā)展第二章 多核/眾核處理器的關(guān)鍵技術(shù)第三章 多核技術(shù)研究的主要內(nèi)容、及難點(diǎn)第四章 典型多核芯片分析第五章 多核平臺(tái)下并行程序設(shè)計(jì)作者作者:劉甜:劉甜1.1 多核(多核(Multi-core )多核處理器也叫多微處理器核心,是指在一枚處理器中集成兩個(gè)或多個(gè)完整的計(jì)算引擎(內(nèi)核) 。這些核心可以分別獨(dú)立運(yùn)行程序指令,利用并行計(jì)算的能力,可以加快程序的運(yùn)行速度,提供多任務(wù)能力,由此得到的結(jié)果就是性能大幅超過單核處理器1.2 眾眾核核(ManyCore)眾核處理器比多核(MultiCore)處理器中的處理內(nèi)核數(shù)量還要多,計(jì)算能力更強(qiáng)大。當(dāng)一個(gè)芯片集成的核心數(shù)達(dá)到十幾

2、,幾百甚至幾千時(shí),多核則變成眾核,而manycore的區(qū)別不僅在于核心數(shù)量上多于multicore,另一個(gè)區(qū)別則是mulicore的核心是每顆完全相同的X86處理器核心,而manycore則是X86處理器內(nèi)專門為這類工作設(shè)計(jì)的核心以達(dá)至加速。1.概念2.由來 背景多核的由來多核的由來:為什么有多核處理器?多核技術(shù)的開發(fā)源于工程師們認(rèn)識(shí)到僅僅提高單核芯片(one chip)的速度會(huì)產(chǎn)生過多熱量,且無法帶來相應(yīng)的性能改善。多核處理器出現(xiàn)最本質(zhì)的原因是一個(gè)經(jīng)驗(yàn)定律和三個(gè)限制。摩爾定律摩爾定律:每個(gè)芯片上集成的晶體管數(shù)(集成度)會(huì)每十八個(gè)月翻一番。三個(gè)限制三個(gè)限制:在CPU的集成度以摩爾定律速度增長的

3、同時(shí),CPU的性能增長受到了三個(gè)物理規(guī)律的限制:功耗、互連線延時(shí)和設(shè)計(jì)復(fù)雜度。多核系統(tǒng)的出現(xiàn)是摩爾定律與物理規(guī)律限制相互作用的結(jié)果。用在一個(gè)處理器中集成多個(gè)簡單的處理器核。這樣既把多出來的晶體管用上了,而每個(gè)處理器核就像前一代的處理器一樣簡單,因此不必提高他們的翻轉(zhuǎn)速度,各個(gè)處理器核只需要自己交換數(shù)據(jù),因此沒有很長的連線延遲。3.發(fā)展過程上世紀(jì)末,上世紀(jì)末,HP和IBM已經(jīng)提出雙核處理器的可行性設(shè)計(jì),成功推出了有雙內(nèi)核的HP PA8800和IBM Power4處理器2002年,年,英特爾超線程技術(shù)(HT,Hyper-Threading) ,預(yù)告多核時(shí)代的來臨2004年,年,AMD和Intel在

4、2004年公布了各自的雙核計(jì)劃,AMD率先在服務(wù)器和工作站領(lǐng)域引入雙核架構(gòu)2005年年4月月18日,日,英特爾首發(fā)奔騰D處理器(雙)21日日AMD 推出了雙核速龍 64 X2處理器(雙)2003年,年,Sun在發(fā)表雙核心UltraSPARC處理器高端高端RISC處理處理器器X64X862007年,年, SUN推出的八核Niagara 2,11月微軟公司發(fā)表宣言,宣布轉(zhuǎn)入對(duì)眾核系統(tǒng)軟件的研究2009年年10月月-酷睿i72013年年10月,月,Intel集成眾核技術(shù)峰會(huì), 融核、微異構(gòu)技術(shù)作者:作者:婁文君婁文君 內(nèi)部結(jié)構(gòu)外部軟件接口 片上網(wǎng)絡(luò)存儲(chǔ)層次結(jié)構(gòu) 編程模型多核資源的管理2.1片上網(wǎng)絡(luò)實(shí)

5、現(xiàn)高速核間通信在多核/ 眾核系統(tǒng)中,隨著內(nèi)核數(shù)量的增加,基于傳統(tǒng)共享總線的互連結(jié)構(gòu)受到擴(kuò)展能力的制約,無法滿足處理器內(nèi)核間的高速通信需求。片上網(wǎng)絡(luò)(Network on Chip,NoC)正在成為多核/ 眾核處理器核間互連的有效組件。片上網(wǎng)絡(luò)相關(guān)的研究包括: 路由算法 交換技術(shù) 拓?fù)浣Y(jié)構(gòu) 服務(wù)質(zhì)量(Quality of Ser- vice,QoS) 降低片上網(wǎng)絡(luò)功耗 片上網(wǎng)絡(luò)路由器的典型結(jié)構(gòu),主要實(shí)現(xiàn)了虛通道仲裁、包路由和交換等功能。2.2存儲(chǔ)層次結(jié)構(gòu)緩解存儲(chǔ)系統(tǒng)壓力存儲(chǔ)層次結(jié)構(gòu)(包括各級(jí)片上緩存(Catch)和主存)的設(shè)計(jì)通常需要考慮三個(gè)方面:(1 )減少對(duì)片外主存的訪問次數(shù);(2 )減少緩

6、存訪問延遲;(3 )提高內(nèi)存訪問帶寬和速度。2.3并行編程模型基于Raw Thread API的方法基于共享內(nèi)存編程模型的方法基于高層次模板庫的方法基于分布式編程的方法2.3.1基于Raw Thread API的方法主要使用系統(tǒng)底層API來進(jìn)行多線程編程Windows Threads和POSIX threads都屬于使用系統(tǒng)底層API,是最低層次的并行編程API,不同點(diǎn)是Windows threads應(yīng)用于Windows平臺(tái),有Win32這樣一個(gè)完整的庫支持,相對(duì)較為成熟,而POSIX threads主要UNIX/Linux平臺(tái),但編程難度相當(dāng)大,它將巨大的潛能交到了程序員手中。2.3.2 基

7、于共享內(nèi)存編程模型的方法共享內(nèi)存編程模型中最有代表性的是OpenMP。OpenMP形成于1997年,用于編寫可移植的多線程應(yīng)用程序,起初只是一個(gè)Fortran標(biāo)準(zhǔn),后來又發(fā)展到C/C+,目前在Intel C+ Compiler和Microsoft VS2005以及更高版本等編譯器上都得到了廣泛支持。優(yōu)點(diǎn):OpenMP簡單易用,它可以幫助程序快速創(chuàng)建線程,解決多核編程中面臨的問題。缺點(diǎn):限制了程序員對(duì)并行的控制,限定了所提供信息的數(shù)量,例如OpenMP沒有動(dòng)態(tài)線程調(diào)度機(jī)制、伸縮性的內(nèi)存分配器、內(nèi)嵌式并行程序、并發(fā)的數(shù)據(jù)結(jié)構(gòu)等。這類方法具有面向?qū)ο蟮奶卣?,基于模板技術(shù)構(gòu)建了豐富的線程控制和并行計(jì)算

8、的模板庫。其中Java Threading和TBB是運(yùn)用比較多的兩種方法。2.3.3基于高層次模板庫的方法Java Threads是所有能顯示支持并行的程序設(shè)計(jì)語言中使用最廣泛的。提供了與POSIX Threads相同的概念特性,并且支持并發(fā)數(shù)據(jù)結(jié)構(gòu)。Threading Building Blocks是由Intel針對(duì)多核平臺(tái)開發(fā)的一組開源的C+的模板庫,基于GPLv2開源證書,支持可伸縮的并行編程。它不需要特別的語言或者編譯器的支持,因此可以廣泛地被用于任何處理器、任何操作系統(tǒng)以及任何編譯器。2.3.4基于分布式編程的方法多核環(huán)境中可以使用分布式的消息傳遞編程模型,Intel的編譯器就支持在

9、多核環(huán)境中使用MPI編程。缺點(diǎn):在多核環(huán)境中使用消息傳遞編程會(huì)帶來性能上的損失,并且不是所有的共享數(shù)據(jù)類型都適用消息傳遞模型來解決,例如,查找算法在多核中就不適用。2.4多核/眾核資源的管理系統(tǒng)虛擬化 系統(tǒng)軟件如何才能有效管理數(shù)量眾多的處理器資源? 系統(tǒng)虛擬化技術(shù)采取的是由運(yùn)行在系統(tǒng)/處理器最高級(jí)別權(quán)限中的相對(duì)精簡的虛擬機(jī)管理器負(fù)責(zé)管理系統(tǒng)中的所有處理器資源,而運(yùn)行在相對(duì)較低權(quán)限級(jí)別上的虛擬機(jī)管理器則負(fù)責(zé)用戶任務(wù)調(diào)度的多個(gè)操作系統(tǒng)的結(jié)合,由此達(dá)到對(duì)處理器資源分而治之的目的。 目前英特爾多核處理器上VT(Virtualization Technology)技術(shù)和超威(AMD)多核處理器中的Pac

10、ifica技術(shù)都采用系統(tǒng)虛擬化。作者作者:傅雪雪:傅雪雪/張偉育張偉育3.1 多核技術(shù)主要研究內(nèi)容并行編程多核中的能源核心內(nèi)部的延遲美國斯坦福大學(xué)在20 世紀(jì)90 年代中期就開始了多核處理器的研究。他們是目前學(xué)術(shù)界非?;钴S的研究小組之一,研究范圍包括體系結(jié)構(gòu)、應(yīng)用程序分析研究,以及目前處于熱點(diǎn)的并行編程模型-事務(wù)存儲(chǔ)。日本的早稻田大學(xué)在20 世紀(jì)末就開始發(fā)表有關(guān)多核處理器OSCAR 以及與其協(xié)同工作的多粒度并行編譯器的文章.在子程序、循環(huán)和基本塊之間開發(fā)多粒度的并行性是他們工作的特色。 多核的成本優(yōu)勢(shì)與并行化計(jì)算與計(jì)算機(jī)性能上的需求相結(jié)合,促進(jìn)了多核并行編程。3.1.1并行編程 現(xiàn)在多核處理器

11、結(jié)構(gòu)的設(shè)計(jì)使得集成在同一塊芯片上的多個(gè)執(zhí)行核之間共享各種硬件資源。而線程的并發(fā)性導(dǎo)致核與核之間共享資源的爭用,如何有效地解決多核共享資源沖突帶來提升系統(tǒng)的整體性能以及應(yīng)用程序的服務(wù)質(zhì)量成為熱點(diǎn)。美國的賓州大學(xué)也活躍在多核領(lǐng)域。他們從能源角度出發(fā),在編譯/運(yùn)行時(shí)考慮應(yīng)用程序應(yīng)當(dāng)利用多少個(gè)核心,還研究緩存上的結(jié)構(gòu)/互連,并關(guān)注多核處理器中的溫度問題??的螤柎髮W(xué)的研究包括多核中的能源有效相關(guān)問題,在多核體系結(jié)構(gòu)中針對(duì)單線程進(jìn)行數(shù)據(jù)預(yù)取,以及通過在多核處理器上進(jìn)行激進(jìn)的資源回收來改善關(guān)鍵資源利用率。3.1.2多核中的能源3.1.3核心內(nèi)部的延遲多核之間的通信實(shí)現(xiàn)方法:基于總線的共享cache實(shí)現(xiàn)和片上

12、互連技術(shù)實(shí)現(xiàn)。在采用共享總線的多核結(jié)構(gòu)中,多處理器核對(duì)總線控制權(quán)存在競爭,以及爭用延時(shí)進(jìn)行分析。美國麻省理工學(xué)院的Raw 處理器計(jì)劃,考慮限制每個(gè)核心的面積,使每個(gè)核心內(nèi)部的線延遲較短從而提升其頻率;再通過將應(yīng)用映射到多個(gè)核心上以提高性能。3.2 多核技術(shù)的難點(diǎn)操作系統(tǒng)對(duì)多核的支持問題多核面臨的軟件困難多核/眾核設(shè)計(jì)的問題3.2.1操作系統(tǒng)對(duì)多核的支持問題分配和調(diào)度:操作系統(tǒng)的一個(gè)重要工作就是分配和調(diào)度任務(wù)。多核處理器環(huán)境下操作系統(tǒng)的任務(wù)分配調(diào)度是目前研究的一個(gè)熱點(diǎn)。調(diào)度包括多個(gè)方面:新任務(wù)的分配;核如何調(diào)度它上面的任務(wù);是否采用一致的調(diào)度算法;如何調(diào)度實(shí)時(shí)任務(wù)和普通任務(wù)等。3.2. 2多核面

13、臨的軟件困難如何計(jì)算軟件授權(quán)?按CPU個(gè)數(shù)收取軟件授權(quán)費(fèi)用按芯片個(gè)數(shù)收取軟件授權(quán)費(fèi)用應(yīng)用軟件是否支持?應(yīng)用程序是基于多處理器編寫的軟件的復(fù)雜性指令級(jí)并行技術(shù)中的亂序執(zhí)行技術(shù)、分支預(yù)測技術(shù)、共享存儲(chǔ)技術(shù)、直接內(nèi)存訪問技術(shù)等等都給底層軟件的編程增加了不同程度的復(fù)雜性。并行程序設(shè)計(jì)困難表現(xiàn)在:不同處理器上的各項(xiàng)任務(wù)之間的通信難點(diǎn)。并行系統(tǒng)缺少明確的全局系統(tǒng)狀態(tài)。并行程序執(zhí)行時(shí),每一次的執(zhí)行路徑并不完全一樣,這會(huì)給并行程序設(shè)計(jì)的糾錯(cuò)和調(diào)優(yōu)等帶來很大困難。3.2. 3 多核/眾核設(shè)計(jì)的問題硬件資源管理的困難和對(duì)資源的競爭如何容易地將計(jì)算任務(wù)進(jìn)行分割,映射到眾多處理器核上?如何讓眾多處理器核利用有限片上傳

14、輸網(wǎng)絡(luò)傳遞數(shù)據(jù),而沖突最???等問題訪存帶寬的限制是多核/眾核發(fā)展的最大制約。如何讓眾多處理器核有數(shù)據(jù)可算?如何更充分地利用片上有限存儲(chǔ)空間的眾核間共享,以避免片外訪存?如何充分利用有限訪存帶寬,盡量讓訪存通道繁忙,并能優(yōu)先滿足處于關(guān)鍵路徑處理器核的訪存請(qǐng)求?芯片的訪存帶寬問題線延遲變長功耗問題如何在眾核設(shè)計(jì)中提高能效?如何對(duì)眾多計(jì)算資源進(jìn)行調(diào)度管理才能最大限度降低眾核設(shè)計(jì)的功耗?在眾核設(shè)計(jì)中進(jìn)行集中控制變得困難,如何采用更分布式的方式完成結(jié)構(gòu)設(shè)計(jì)?如何在分布的結(jié)構(gòu)中實(shí)現(xiàn)共享數(shù)據(jù)的分發(fā)傳播?如何在分布的結(jié)構(gòu)中實(shí)現(xiàn)高效的核間互斥并發(fā)操作?-Tilera-Gx72-Raw結(jié)構(gòu) 作者:楊穎超作者:楊穎

15、超4.1Tilera-Gx72這是Tilera公司今年2月19發(fā)布的一款新的72核心的微處理器。Tilera-Gx72還包含了多項(xiàng)Tilera的特有技術(shù):iMesh二維互聯(lián)、DDC分布式緩存一致性以及TileDirect I/O技術(shù)等,提供了4個(gè)DDR3內(nèi)存控制器,以及帶有100Gb以太網(wǎng)的片上I/O、8個(gè)可配置為32個(gè)1GbE端口的10GbE端口、以及個(gè)PCI-E端口。芯片主頻為1.2GHz,帶有23MB緩存,16個(gè)內(nèi)核可用于NIC功能。Tilera-Gx72處理器結(jié)構(gòu)圖內(nèi)存控制器mpipe多核可編程智能引擎系統(tǒng)提供線速數(shù)據(jù)包分類,負(fù)載平衡和數(shù)據(jù)包緩沖管理處理等操作 系統(tǒng)集成串行總線網(wǎng)絡(luò)端口

16、IO流接口系統(tǒng)集成芯片帶有2個(gè)USB 2.0、1個(gè)主機(jī)接口。4個(gè)I2C接口。1個(gè)SPI主接口,2個(gè)高速UART接口及48個(gè)中斷引腳和JTAG端口。串行總線搭載吞吐量為96Gbps的串行總線,24通道并行轉(zhuǎn)換控制器。配備高性能的DMA引擎,及對(duì)處理有效數(shù)據(jù)運(yùn)動(dòng)的多種事務(wù)模式,并提供SR-IOV支持。緩存總共有23MB的片上高速緩存,緩存方式采用動(dòng)態(tài)分布式方式。每個(gè)核心有1個(gè)單獨(dú)的32KB的一級(jí)緩存,256KB的二級(jí)緩存,及所有核心共享一個(gè)18MB的三級(jí)緩存集成內(nèi)存控制器4個(gè)72位的支持ECC的DDR3內(nèi)存控制器,內(nèi)存總?cè)萘靠蛇_(dá)1TB,存取速度高達(dá)1866MT/S,搭載先進(jìn)的請(qǐng)求重新排序機(jī)制。網(wǎng)絡(luò)

17、接口8個(gè)10Gbps的XAUI端口,提供雙XAUI支持,最多提供32個(gè)10/100/1000SGMII端口。提供出口QoS排隊(duì)及流量整形支持功能。精密計(jì)時(shí)控制器支持,包時(shí)間戳精密粒度為1ns。IO流接口6個(gè)高性能事務(wù)接口,接口可以與串行總線串并收發(fā)器多路復(fù)用。接口性能可達(dá)20Gpbs處理器內(nèi)核72個(gè)獨(dú)立的處理器核心,主頻在1.0GHz-1.2GHz。數(shù)據(jù)路徑與地址采用64位體系架構(gòu)。具有3條執(zhí)行管道。采用帶有TLB、多頁面大小支持及Hardwall保護(hù)機(jī)制的虛擬內(nèi)存。且支持多媒體的ISA總線擴(kuò)展及單指令多數(shù)據(jù)流進(jìn)程。Imesh互聯(lián)架構(gòu)片上網(wǎng)絡(luò)具有五個(gè)獨(dú)立的低延遲的網(wǎng)狀網(wǎng)絡(luò)??値挸^100Tb

18、ps。采用非阻塞結(jié)構(gòu),每跳切換1個(gè)時(shí)鐘周期。作者作者:孫曉明:孫曉明多核平臺(tái)下并行程序設(shè)計(jì)框架VTune Performance AnalyzerIntel Performance libraries: IPP and MKLOpenMP* (Intel Compiler)Explicit threading (Win32*, Pthreads*)Intel Thread CheckerIntel DebuggerIntel Thread ProfilerVTune Performance Analyzer并行程序設(shè)計(jì)流程5.1、可行算法(解決方案)的描述與分析5.4、性能檢查及優(yōu)化5.3、選擇編程(實(shí)現(xiàn))模型5.2、并行程序設(shè)計(jì)方法5.1可行算法(解決方案)的描述與分析首先針對(duì)要解決的問題找到一個(gè)可行的解決方案或者算法。分析估計(jì)目標(biāo)問題的計(jì)算量。結(jié)合實(shí)際情況選擇合適的基礎(chǔ)算法。5.2并行程序設(shè)計(jì)方法(PCAM)設(shè)計(jì)并行算法的四個(gè)階段劃分(Partitioning) :分解成小的任務(wù),開拓并發(fā)性,根據(jù)劃分的對(duì)象

溫馨提示

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

評(píng)論

0/150

提交評(píng)論