高等計算機系統結構-Read課件_第1頁
高等計算機系統結構-Read課件_第2頁
高等計算機系統結構-Read課件_第3頁
高等計算機系統結構-Read課件_第4頁
高等計算機系統結構-Read課件_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

高等計算機系統結構清華大學計算機科學與技術系高性能計算研究所鄭緯民教授2005年5月計算機科學與技術系研究生課程高等計算機系統結構清華大學計算機科學與技術系高性能計算研究所高等計算機系統結構課程介紹 教材 1.KaiHuang著,王鼎興、鄭緯民、沈美明譯,高等計算機系統結構并行性可擴展性可編程性,清華大學出版社。 2.PattersonD.A.,HennesyJ.L.,ComputerArchitecture:AQuantitativeApproach,MorganKanfmannPublishers,1995。 3.PattersonD.A.,HennesyJ.L.,ComputerOrganization &Design:TheHardware/SoftwareInterface。高等計算機系統結構課程介紹 教材高等計算機系統結構第一章高等計算機的核心技術——并行處理第二章加速比性能模型與可擴展性分析第三章互連與通信第四章劃分與調度第五章并行存儲器系統第六章CacheCoherence第七章MemoryConsistency第八章指令級并行處理第九章微處理器設計與實現方法第十章網格計算高等計算機系統結構第一章高等計算機的核心技術——并行處理第一章高等計算機的核心技術——并行處理 1.1什么是并行處理

1.1.1并行處理定義 1.1.2并行性級別 1.2為什么要開發(fā)并行處理技術 1.3并行處理計算機結構沿革 1.4其它并行處理計算機技術第一章高等計算機的核心技術——并行處理 1.1什么是1.1什么是并行處理

1.1.1并行處理定義

并行處理是指同時對多個任務或多條指令、或同時對多個數據項進行處理。 完成此項處理的計算機系統稱為并行處理計算機系統。1.1什么是并行處理 1.1.1并行處理定義

同時性(simultaneity)——兩個或多個事件在同一時刻發(fā)生。

并發(fā)性(concurrency)——兩個或多個事件在同一時間間隔內發(fā)生。

流水特性(pipelining)——在一個重疊的時間內所發(fā)生的流水事件。

同時性(simultaneity)——兩個或多個事

1.1.2并行性級別

粒度(granularity):衡量一個軟件進程的計算量的度量。最簡單的是指此程序段中的指令數。分細、中、粗三種。 按粒度的不同,并行性級別可以分為指令級、循環(huán)級、過程級、子程序級和作業(yè)級等不同的層次。它們對應的計算粒度可以為細粒度、中粒度和粗粒度。如下: 1.1.2并行性級別 1.指令級并行

典型細粒度,一般少于20條指令。借助優(yōu)化編譯器自動檢測并行性,將源代碼變成運行時系統能識別的并行形式。 2.循環(huán)級并行

典型循環(huán)含少于500條指令,由于有些循環(huán)操作在連續(xù)迭代中并不相關,易于向量化,是在并行機或向量機上運行的最優(yōu)程序結構。遞歸循環(huán)的并行化比較困難。向量處理由優(yōu)化編譯器在循環(huán)級開發(fā),仍屬于細粒度計算。 1.指令級并行 3.過程級并行

中粒度并行,指令少于2000條,分析過程間的并行性比細粒度要困難。有時需要重新設計程序,并要編譯器的支持。SPMD、多任務處理屬于這一層。 4.子程序級并行

(粗)中粒度并行,幾千條指令,常在messagepassing多計算機上以SPMD或MPMD方式執(zhí)行。并行性主要由算法設計人員與程序員開發(fā)。 3.過程級并行 5.作業(yè)級并行

粗粒度并行,數萬條指令,常由加載程序和操作系統處理這類并行性,靠算法有效性來保證。一般說來: 細粒度:用并行化或向量化編譯器來開發(fā),共享變量通信支持。 中粒度:靠程序員和編譯器一起開發(fā),共享變量通信。 粗粒度:取決于操作系統和算法的效率,消息傳遞通信。 5.作業(yè)級并行 例子:共享存儲型多處理機上執(zhí)行:

L1: DO 10 I=1,N L2: A(I)=B(I)+C(I) L3: 10 Continue L4: SUM=0 L5: DO 20 J=1,N L6: SUM=SUM+A(J) L7: 20 Continue

假設:L2,L4,L6每行要用一個機器周期。 L1,L3,L5,L7所需時間可以忽略。 所有數組已經裝入主存,程序已裝入Cache中(取指令和加載數據可以忽略不計)。 忽略總線爭用或存儲器訪問沖突。 例子:共享存儲型多處理機上執(zhí)行: 上面的程序實際上把數組B(I)和C(I)相加,最后得到一個總和。

共享存儲多處理機結構如下圖:P1P2……Pm系統互連I/OSM1……SMm處理機共享存儲器 上面的程序實際上把數組B(I)和C(I)相加,最后得到一 在單機系統中,2N個周期可以完成上述的操作:

I循環(huán)中執(zhí)行N次獨立迭代需要N個周期;

J循環(huán)中執(zhí)行N次遞歸迭代也需要N個周期。 在共享存儲型的多處理機系統上: 假設有M臺處理機,可以將循環(huán)分成M段,每段有L=N/M個元素。 代碼如下所示: 在單機系統中,2N個周期可以完成上述的操作:

Doall k=1,M Do10I=L(k-1)+1,kL A(I)=B(I)+C(I) 10 Continue SUM(k)=0 Do20J=1,L SUM(k)=SUM(k)+A(L(k-1)+J) 20 Continue Endall Doall k=1,M 分段的I循環(huán)可以在L個周期中完成; 分段的J循環(huán)在L個周期中產生M個部分和。 所以產生所有的M個部分和共需要2L個周期(還需要將這些部分和合并)。 假設經過共享存儲器的處理機之間的每次通信操作需要k個周期。 設N=32,M=8,則經過2L(即8個周期)后在8臺處理機上各有一個部分和,還需要8個數相加。 為了合并部分和,可以設計一個l層的二進制加法樹,其中l(wèi)=log2M,加法樹用l(k+1)個周期從樹葉到樹根順序合并M個部分和,如下: 分段的I循環(huán)可以在L個周期中完成;

二進制加法樹: 所以,多處理機系統需要 才能得到最終的結果。 二進制加法樹: 所以,多處理機系統需要 才能得到最終的 假定數組中有N=220個元素,順序執(zhí)行需要2N=221個機器周期,假設機器間通信的開銷平均值為k=200個周期,則在M=256臺處理機的并行執(zhí)行需要: 假定數組中有N=220個元素,順序執(zhí)行需要2N=221個第一章高等計算機的核心技術——并行處理 1.1什么是并行處理

1.2為什么要開發(fā)并行處理技術 1.3并行處理計算機結構沿革 1.4其它并行處理計算機技術第一章高等計算機的核心技術——并行處理 1.1什么是1.2為什么要開發(fā)并行處理技術

對單用戶,可以提高加速比(SpeedupOriented);

對多用戶,可以提高吞吐率(ThroughputOriented).

對不同的需求我們可以做需求分析如下:1.2為什么要開發(fā)并行處理技術 對單用戶,可以提高加速比 1.天氣預報 1990年10次臺風登陸,福建、浙江兩省損失79億元,死亡950余人。 天氣預報模式為非線性偏微分方程,預報臺風暴雨過程,計算量為1014—1016次浮點運算,需要10GFlops—100GFlops的巨型機。

用途:局部災害性天氣預報。 1.天氣預報 2.石油工業(yè)

地震勘探資料處理 油藏數值模擬 測井資料處理 地震勘探由數據采集、數據處理和資料解釋三階段組成。 目前采用的三維地震勘探比較精確的反映地下情況,但數據量大,處理周期長。

100平方公里的三維勘探面積,道距25米,60次覆蓋,6秒長記錄,2毫秒采樣,一共采集2.881010個數據,約為116GB。 2.石油工業(yè) 疊加后數據為4.8108個數據。用二維疊前深度偏移方法精確的產生地下深度圖像,需要進行251012FLOP,采用100MFLOPs機器計算250天,1GFLOPs機計算25天,10GFLOPs機器35分??紤]到機器持續(xù)速度常常是峰值速度的10-30%,所以需要100GFlops的機器。CrayT932/32約為60GFLOPs。 疊加后數據為4.8108個數據。用二維疊前深度偏移方 3.航空航天 研究三維翼型對飛機性能的影響。數值模擬用時間相關法解Navier-Stoker方程,網格分點為1204050,需內存160MB,6億計算機上解12小時,如果在數分鐘內完成設計,則需要千億次計算機。 3.航空航天 4.重大挑戰(zhàn)性課題需求(圖3.5)

計算空氣動力學:千億次/秒(1011)

圖像處理: 百億次/秒(1010)

AI: 萬億次/秒(1012) 4.重大挑戰(zhàn)性課題需求(圖3.5) 5.核武器 核爆炸數值模擬,推斷出不同結構與不同條件下核裝置的能量釋放效應。 壓力: 幾百萬大氣壓 溫度: 幾千萬攝氏度 能量在

秒級內釋放出來。 設計一個核武器型號,從模型規(guī)律、調整各種參數到優(yōu)選,需計算成百上千次核試驗。

LosAlamos實驗室要求計算一個模型的上限為8-10小時。 5.核武器 千萬次機上算橢球程序的計算模型需要40-60CPU小時。 二維計算,每方向上網格點數取100,二維計算是一維的200倍,三維是一維的33000倍。若每維設1000網格點,則三維計算是一維的幾十萬倍之多。此時對主存儲器容量要數十、數百億字單元(64位)。 另外還有I/O能力的要求,可視化圖形輸出。 千萬次機上算橢球程序的計算模型需要40-60CPU小 6.解決方案 只有開發(fā)并行處理技術才能滿足要求:

3Tperformance:

TeraflopsofComputingPower TerabyteofMainMemory Terabyte/sofI/Obandwidth 6.解決方案第一章高等計算機的核心技術——并行處理

1.1什么是并行處理 1.2為什么要開發(fā)并行處理技術 1.3并行處理計算機結構沿革

1.3.1向量機與多向量機 1.3.2SIMD計算機 1.3.3Shared-MemoryMultiprocessors 1.3.4Distributed-MemoryMultiprocessors

1.3.5四類實用的并行系統 1.4其它并行處理計算機技術第一章高等計算機的核心技術——并行處理 1.1什么是1.3并行處理計算機結構沿革

1.3.1向量機與多向量機 向量機的結構如下圖:1.3并行處理計算機結構沿革 1.3.1向量機與多向量機ScalarFunctionalpipelinesScalarControlunitscalarprocessorscalarinstructionMainMemory(Programanddata)MassStorageHostComputerI/O(user)VectorControlunitvectorregistersvectorprocessorcontrolVectorFunctionalpipelinesVectorFunctionalpipelines……vectorinstructionScalarScalarscalarprocessorsc程序和數據從Host進入主機指令先在Scalarcontrolunit譯碼,如是標量或控制操作指令,則在標量功能流水部件種執(zhí)行。如果是向量指令,則進入向量控制部件。register-to-register:

Crayseries FujitsuVP2000seriesmemory-to-memory:

Cyber205向量化。程序和數據從Host進入主機多向量機發(fā)展過程:CDC7600(CDC,1970)CDCCyber205(Levine,1982)Memory-MemoryCray1(Russell,1978)register-registerETA10(ETA,Inc,1989)CrayY-MPCrayResearch1989FujitsuNECHitachiModelsCrayMPPCrayResearch1993多向量機發(fā)展過程:CDC7600CDCCyber205Cr其中:

CrayY-MP,C90:

Y-MP有2,4,8個處理器,而C90有16個處理單元(PE),處理速度16GFlops。

ConvexC3800family:

8個處理器,4GB主存儲器,

Rerkperformance為2GFlops。其中:

1.3.2SIMD計算機

SIMD計算機的結構如下圖:ControlUnitProc0Mem0Proc1Mem1……ProcN-1MemN-1PE0PE1PEN-1InterConnectionNetwork 1.3.2SIMD計算機ControlUnitProcMasParMP-1:

可有1024,4096,…,16384個處理器。在16KPEs,32位整數運算,16KB局部存儲器模塊的配置下,可達26000MIPS,單精度浮點運算1.5GFlops,雙精度浮點運算650MFlops。CM-2:

65536個處理單元,1Mbit/PE。 峰值速率為28GFlops,持續(xù)速率5.6GFlops。SIMD計算機發(fā)展過程圖如下:MasParMP-1:IlliacIV(1968)GoodYearMPP(1980)BSP(1982)MasParMP1(1990)IBMGF/11(1985)DAP610(AMT,Inc.1987)CM2(1990)CM5(1991)IlliacIVGoodYearMPPBSPMasPar

1.3.3Shared-MemoryMultiprocessors

UMA(Uniform-memory-access)model:

物理存儲器被所有處理機均勻共享,所有處理機對所有存儲字具有相同的存取時間。P0I/OP1SM1……PnSMnInterConnectionNetwork(Bus、Crossbar、MultistageNetwork)……處理器共享存儲器 1.3.3Shared-MemoryMultiprocNUMA(NonUniform-memory-access)model:訪問時間隨存儲字的位置不同而變化。P1……PnLMnInter-ConnectionNetwork……LM1P2LM2……NUMA(NonUniform-memory-access)COMA(Cache-onlymemoryarchitecture): 只用高速緩存的多處理機 遠程高速緩存訪問則借助于分布高速緩存目錄進行。PDInterConnectionNetwork……distributedcachedirectoriesCPDCPDCKendallSquareResearch’sKSR-1COMA(Cache-onlymemoryarchitecShared-MemoryMultiprocessors發(fā)展過程如下:Cmmp(cmu,1972)IllinoisCedar(1987)UltraComputerNYU(1983)FujitsuVPP500(1992)IBMRP3(1985)BBNButterfly(1989)stanford/Dash(1992)KSR-1(1990)Shared-MemoryMultiprocessors發(fā)

1.3.4Distributed-MemoryMultiprocessorsP……Message-passinginterconnectionnetwork(Mesh,ring,torus,hypercube,cube,cycle)MPMPMP……PPMMMMP……MPMP……MP 1.3.4Distributed-MemoryMult例子:

IntelParagonXP/s:

采用50MHz的i860處理器,每個節(jié)點16-128MB主存儲器,采用2D-Mesh互連,浮點運算5-300GFlops,或2.8-160Gips。

nCube2SModel80:

有4096-8192個PE,主存儲器16384-262144MB,浮點運算163800-34000MFlops,整數運算61000-123000MIPS。 例子:CosmicCube(1981)nCube-2/6400(1990)Mosaic(1992)Intelparagon(1992)MIT/Jmachine(1992)inteliPSC’s(1983)Distributed-Memorymultiprocessors發(fā)展進程:CosmicCubenCube-2/6400MosaicI

1.3.5四類實用的并行系統

1.向量機與多向量機 硬、軟件技術相對成熟、應用廣泛、市場占有率高。很難達到3Tperformance來解決GrandChallenge

問題。 下面圖表說明了這一類機器的發(fā)展過程。 1.3.5四類實用的并行系統GFlops100100.11976197919821985198819911994YearCray1/10.16GFCrayX-MP/20.24GFCray2/41.9GFCrayY-MP/82.6GFCrayJ916/163.2GFCrayC916/1616GFCrayT932/3260GFGFlops100100.11976197919821985

2.對稱式多處理機SMP

SMP:SymmetricMultiProcessors SharedMemorymultiProcessors SmallsizeMultiProcessors

處理機之間無主從之分,對外有相同的訪問權,都有執(zhí)行操作系統核心和I/O服務程序的能力。 共享存儲器、統一地址空間,系統編程比較容易。

CPU可多至16臺左右,做服務器用,市場前景好。 2.對稱式多處理機SMP典型的SMP有:

SunSPARCserver1000 SunSPARCcenter2000 SGIPowerChallengeSGIPowerChallengeL:2-6CPU,1.8GFlopsSGIPowerChallengeXL:

2-18CPU,5.4GFlops

*64位MIPSchip,每周期指令發(fā)射數為4

*8路交錯主存、帶寬為1.2GB/s

*I/O帶寬320MB/s(每個控制器),配置4個可達1.2GB/s典型的SMP有:

3.MPP系統(分布存儲)

多于100個PE,消息傳遞,分布存儲; 可擴展,峰值可達3Tperformance;

貴,市場有限; 持續(xù)速度是峰值速度的3-10%; 可解決某些GrandChallenge問題,是國家綜合實力的象征。 3.MPP系統(分布存儲)

4.機群系統

NOW:NetworkOfWorkstations

COW:ClusterOfWorkstations特點:

投資風險小,軟件財富繼承性好;可構成異構系統,資源利用率高; 通信開銷大。一種典型的機群系統結構如下: 4.機群系統CPUMemoryI/OCPUMemoryI/O……CPUMemoryI/OI/OI/OI/OMemoryMemory……MemoryCPUCPUCPUNetworkCPUMemoryI/OCPUMemoryI/O……CPUM第一章高等計算機的核心技術——并行處理

1.1什么是并行處理 1.2為什么要開發(fā)并行處理技術

1.3并行處理計算機結構沿革

1.4其它并行處理計算機技術第一章高等計算機的核心技術——并行處理 1.1什么是1.4其它并行處理計算機技術 1.數據流技術

dataflow以數據驅動機制代替控制流機制 當功能部件輸入端的操作數可用時就啟動執(zhí)行;可開發(fā)程序中所有的并行性,但費用昂貴,實際性能與功能部件數量、存儲器帶寬以及掛起和可用部件相匹配的程度有關。 如:MIT的MonSoos,*T

ETL的Sigma1,EM51.4其它并行處理計算機技術 1.數據流技術 2.多線程 每臺處理機有多個控制線程,同時運行多個現場,是實現時延隱藏的一種有效機制。 比如:

Tera,Alewife

成本高。 2.多線程 3.邏輯推理與規(guī)約結構

邏輯推理: 日本第五代機,面向邏輯語言、執(zhí)行速度慢,軟件與程序設計環(huán)境欠豐富。

規(guī)約結構:

Alice,PGR,面向函數語言,執(zhí)行速度慢,軟件與環(huán)境欠豐富。 3.邏輯推理與規(guī)約結構 4.關鍵技術 并行算法(數值算法與非數值算法) 并行計算模型 互連與通信 并行存儲技術 同步與時延隱藏技術 并行I/O

劃分、調度與負載平衡 優(yōu)化編譯 并行調試 工具與環(huán)境 4.關鍵技術 5.美國的主要行動

(1)組織基于NSF的國家科學計算聯盟 (NationalComputationalScienceAlliance)

建立國家科技網(Grid):97.11開始,五年計劃,總經費3.4億美元。

目標:使美國在全國范圍內的元計算機(網上的計算機可作為一個整體看待)達到實用水平。 為在桌面上解決計算科學與工程時提供一個有力的解題環(huán)境。 解決基于元計算環(huán)境的并行、分布、協作和immersive等問題。

UIUC、SanDiago組織實施。 5.美國的主要行動

(2)DOE支持的ASIC計劃 (AcceleratedStrategicComputingInitiative)

保證在21世紀美國在核研究和核儲備繼續(xù)處于領先地位。 以LosAlamos,Sandia和LawrenceLivermore

三個國家實驗室為核心,組成遍及美國不同地區(qū)的“拆墻合作”。 為建立VirtualLaboratory奠定基礎。 研制出超級計算機系統:萬億次量級的計算機,2的50次冪(約千萬億)容量的數據庫系統。 提供高效、好用的計算環(huán)境。 (2)DOE支持的ASIC計劃

能實現基于網絡的、分布式協同工作環(huán)境。 能提供高效的、點對點的計算設施。 在CORBA的環(huán)境下有效的把計算平臺和有關應用進行系統集成。 負載平衡。 可裁剪性。 能實現基于網絡的、分布式協同工作環(huán)境。 6.ModelsofParallelComputers(1960s-1980s)DataMIMDSIMDInstructionImplicationMultipleDataStreamsMultipleDataStreamsSingleInstructionStreamsMultipleInstructionStreamsSingleProgram;Lotsofdatatohavelotsofparallelism;Programmingissimplersincecommunicationisalwayssynchronized;CommunicationsseperatefromcomputationsinceinstructionsdistinctMaybemanyProgramsLotsofprogramstohavelotsofparallelismH/Wconstructionissimplerusingoff-the-shelfuniprocessorscommunicationmergedwithcomputationImplicationIllivaIV、CM-2、MasParCrayX-MP、Sequent、nCube 6.ModelsofParallelComputer 7.一些縮寫

SPMD——SingleProgramMultipleDataStream

MPMD——MultipleProgramMultiple DataStream

SIMD——SingleInstructionMultiple Data

MIMD——MultipleInstructionMultiple Data 7.一些縮寫

網格是通過網絡提供綜合計算機資源和服務的基礎設施

公用網絡,計算機,

溫馨提示

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

評論

0/150

提交評論