《第2講-并行計算機系統(tǒng)及其結(jié)構(gòu)模型》由會員分享,可在線閱讀,更多相關(guān)《第2講-并行計算機系統(tǒng)及其結(jié)構(gòu)模型(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四
2、級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,1,計算機學(xué)院計算機科學(xué)與技術(shù)系,主講:陳 蕾 博士,/,副教授,E-mail:,第二講 并行計算機系統(tǒng)及其結(jié)構(gòu)模型,2,并行計算的研究內(nèi)容,I
3、ssues in Parallel Computing,并行計算的研究內(nèi)容廣泛,包括并行計算機系統(tǒng)結(jié)構(gòu)、并行算法設(shè)計、并行編程環(huán)境等,具體表現(xiàn)在下面幾個方面:,(,1,)并行計算機的設(shè)計,Design of Parallel Computers,包括并行計算機的結(jié)構(gòu)設(shè)計、互聯(lián)拓撲、網(wǎng)絡(luò)通信等。設(shè)計并行計算機重要的一點要考慮處理機數(shù)目的按比例增長(即可擴展性)及支持快速通信及處理機間的數(shù)據(jù)共享等。,3,(2),有效算法的設(shè)計,Design of Efficient Algorithms,如果沒有有效的并行算法,并行計算機無法使用,而并行算法的設(shè)計完全不同于串行算法的設(shè)計,不同的并行計算機的算法設(shè)
4、計不同,只有將不同的并行計算機與不同的實際問題相結(jié)合,才能設(shè)計出有效的并行算法。主要研究內(nèi)容包括并行計算模型、并行算法的一般設(shè)計方法、基本設(shè)計技術(shù)和一般設(shè)計過程,并討論一些數(shù)值并行算法與非數(shù)值并行算法的設(shè)計。,4,(3),評價并行算法的方法,Methods for Evaluating Parallel Algorithms,對于給定的并行計算機及運行在上面的并行算法,需要評價運行性能。,性能分析需解決的問題:如何利用基于并行計算機及其相適應(yīng)的并行算法去快速地解決問題,及如何有效地利用各個處理器。研究內(nèi)容包括結(jié)合機器與算法,提出相應(yīng)的性能評測指標,為設(shè)計高效的并行算法提供依據(jù)。,5,(4),并
5、行計算機語言,Parallel Computing Language,與傳統(tǒng)的機器語言不同,并行計算機語言依賴于并行計算機,并行計算機語言必須簡潔,編程容易,可以有效地實現(xiàn),目前的語言有:,PVM,(,Parallel Virtual Machine,)、,MPI(Message Passing Interface),、,HPF(High Performance Fortran),等,而且新的編程語言與編程模式正在不斷地出現(xiàn)。,6,(5),并行編程環(huán)境與工具,Parallel Programming Environments and Tools,為了使編程容易,必須開發(fā)綜合的編程環(huán)境與工具,且
6、能達到兩個目的:并行計算機的底層結(jié)構(gòu)對用戶透明;為用戶提供設(shè)計與開發(fā)程序所需要的調(diào)試器與模擬器等工具,7,(6),并行程序的可移植性,Portable Parallel Programs,可移植性為并行程序設(shè)計的主要問題,要求在一臺并行機上開發(fā)的程序不加修改或進行少量修改即可在另一臺計算機上運行。這一點為目前受到了廣泛關(guān)注的重要課題。,8,(7),并行計算機的自動編程,Automatic Programming of Parallel Computers,可否設(shè)計一個并行化編譯器,使用戶的串行程序通過并行化編譯器編譯,直接可在并行機上運行。到目前為此,這種編譯器還不存在,而僅有一些半自動并行化
7、編譯器。,9,并行計算機分類,對并行計算機的分類有多種方法,其中最著名的是,1966,年由,M.J.Flynn,提出的分類法,稱為,Flynn,分類法。,Flynn,分類法是從計算機的運行機制進行分類的。首先作如下定義:,指令流(,instruction stream,):機器執(zhí)行的指令序列;數(shù)據(jù)流(,data stream,):由指令流調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)和中間結(jié)果。,10,Flynn,根據(jù)指令流和數(shù)據(jù)流的不同組織方式,把計算機系統(tǒng)的結(jié)構(gòu)分為以下四類:(,1,),單指令流單數(shù)據(jù)流,(,Single Instruction stream Single Data stream,SISD,
8、);(,2,),單指令流多數(shù)據(jù)流,(,Single Instruction stream Multiple Data stream,SIMD,);(,3,),多指令流單數(shù)據(jù)流,(,Multiple Instruction stream Single Data stream,MISD,);(,4,),多指令流多數(shù)據(jù)流,(,Multiple Instruction stream Multiple Data stream,MIMD,)。,SISD,就是普通的順序處理的串行機。,SIMD,和,MIMD,是典型的并行計算機。,MISD,在實際中代表何種計算機,也存在不同的看法,甚至有學(xué)者認為根本不存在,
9、MISD,。,11,單指令流多數(shù)據(jù)流機,SIMD,在一臺,SIMD,計算機中,有一個,控制部件,(又稱為控制單元,,control unit,)和許多,處理單元,(,processing unit,)。,大量的處理單元通常構(gòu)成陣列,因此,SIMD,計算機有時也稱為,陣列處理機,。所有的處理單元在控制部件的統(tǒng)一控制下工作??刂撇考蛩械奶幚韱卧獜V播同一條指令,所有的處理單元同時執(zhí)行這條指令,但是每個處理單元操作的數(shù)據(jù)不同??刂撇考梢杂羞x擇地屏蔽掉一些處理單元,被屏蔽掉的處理單元不執(zhí)行控制部件廣播的指令。,12,SIMD,計算機其結(jié)構(gòu)如下圖所示,其中,PE,表示處理單元,,P,表示處理器,,M
10、,表示存儲器,。,SIMD,中通常包含大量處理單元,PE,,而控制部件只有一個??刂撇考V播一條指令,所有的處理單元同時執(zhí)行這條指令,但不同的處理單元操作的數(shù)據(jù)可能不同。,13,典型的,SIMD,計算機,-MasPar MP-1,可有,1024,,,4096,,,,,16384,個處理器。,在,16k,個處理器,,32,位整數(shù)運算,,16kB,局部存儲器模塊的配置下,,1.5GFlops.,單指令流多數(shù)據(jù)流機,SIMD,14,多指令流多數(shù)據(jù)流機,MIMD,在,MIMD,計算機中沒有統(tǒng)一的控制部件。在,MIMD,中,各處理器可以獨立地執(zhí)行不同的指令。實際上,在,SIMD,機中,各處理單元執(zhí)行的是
11、同一個程序,而在,MIMD,機上,各處理器可以獨立執(zhí)行不同的程序。,在,MIMD,中,每個處理器都有控制部件,各處理器通過互連網(wǎng)絡(luò)進行通信。,MIMD,結(jié)構(gòu)比,SIMD,結(jié)構(gòu)更加靈活。,SIMD,計算機通常要求實際問題包含大量的對不同數(shù)據(jù)的相同運算(例如向量運算和矩陣運算)才能發(fā)揮其優(yōu)勢。而,MIMD,計算機則無此要求,它可以適應(yīng)更多的并行算法,因此可以更加充分地開掘?qū)嶋H問題的并行性。,SIMD,所使用的,CPU,通常是專門設(shè)計的,而,MIMD,可以使用通用,CPU,。,15,多指令流多數(shù)據(jù)流機,MIMD,多指令流多數(shù)據(jù)流機,MIMD,一般可以分為,5,類:,1,、并行向量處理機,PVP,(,
12、Parallel Vector Processor,),2,、對稱多處理機,SMP,(,Symmetric Multiprocessor,),3,、大規(guī)模并行處理機,MPP,(,Massively Parallel Processor,),4,、工作站機群,COW,(,Cluster Of Workstations,,也稱為,Network Of Workstations,,,NOW,),5,、分布式共享存儲多處理機,DSM,(,Distributed Shared Memory,)。,16,并行向量處理機,PVP,在并行向量處理機中有少量,專門定制的向量處理器,。每個向量處理器有很高的處理能
13、力。并行向量處理機通過向量處理和多個向量處理器并行處理兩條途徑來提高處理能力。,Cray C-90,、,Cray T-90,、,NEC SX-4,和我國的,銀河,1,號,都是,PVP,。,PVP,通常使用定制的高帶寬網(wǎng)絡(luò)將向量處理器連向共享存儲器模塊。存儲器可以以很高的速度向處理器提供數(shù)據(jù)。例如,在,Cray T-90,中,共享存儲器能以,14GB/s,的速率將數(shù)據(jù)提供給一個處理器。這種機器通常不使用高速緩存,而是使用大量的向量寄存器和指令緩沖器。,17,并行向量處理機其系統(tǒng)結(jié)構(gòu)如下圖所示。圖中,VP,表示,向量處理器,,SM,表示共享存儲器。,18,對稱多處理機,SMP,對稱多處理機的最大特
14、點是其中的各處理器完全平等,無主從之分。所有的處理器都可以訪問任何存儲單元和,I/O,設(shè)備。存儲器一般使用,共享存儲器,,只有一個地址空間。因為使用共享存儲器,通信可用共享變量(讀寫同一內(nèi)存單元)來實現(xiàn)。這使得編程很容易。,對稱多處理機(,Symmetric Multiprocessor,SMP,)結(jié)構(gòu)在現(xiàn)今的并行服務(wù)器中普遍采用。它是應(yīng)用得最廣泛的并行計算機,例如曙光,1,號、,HP9000/T600,、,IBM RS6000/R40,、,SGI Power Challenge XL,、,SUN Ultra Enterprise 6000,等。,采用商用微處理器,通常有片上和外置,Cache
15、,,基于總線或交叉開關(guān)連接,集中式共享存儲,19,SMP,的結(jié)構(gòu)如下圖所示。,P/C,表示處理器和高速緩存,,SM,表示共享存儲器。,20,對稱多處理機,SMP,優(yōu)點,對稱性,單地址空間,易編程,動態(tài)負載平衡,無需顯式數(shù)據(jù)分配,高速緩存及其一致性,硬件維持一致性,低通信延遲,問題,所有的處理器都可以訪問存儲器和,I/O,設(shè)備,使得存儲器和,I/O,設(shè)備的負載很大,容易成為系統(tǒng)的瓶頸,這限制了系統(tǒng)中處理器的數(shù)量。,可用性:總線、存儲器、操作系統(tǒng)中有一個失效就會導(dǎo)致整個系統(tǒng)的崩潰,系統(tǒng)不夠可靠和穩(wěn)定。,不可擴放性:總線和交叉開關(guān)一旦做成就難以擴展。,21,大規(guī)模并行處理機(,MPP,),大規(guī)模并行
16、處理機(,Massively Parallel Processor,MPP,)是指由幾百或幾千臺處理機組成的大規(guī)模并行計算機系統(tǒng)。,Intel,和美國,Sandia,國家實驗室,1997,年,6,月研制成功的,MPP,系統(tǒng),ASCI Option Red,有,9216,個處理器。,MPP,系統(tǒng)中處理器數(shù)目巨大,整個系統(tǒng)規(guī)模龐大,許多硬件設(shè)備是專門設(shè)計制造的,開發(fā)起來比較困難,通常被視為國家綜合實力的象征。同時,,MPP,能夠提供其它并行計算機不能達到的計算能力。達到,3T,性能目標和解決重大挑戰(zhàn)性課題都寄希望于,MPP,。,大規(guī)模并行處理機一般指規(guī)模非常大的并行計算機系統(tǒng),含有成千上萬個處理器。它一般采用,分布式存儲器,,存儲器一般為處理器私有,各處理器之間用消息傳遞的方式通信。,大規(guī)模并行處理機的互連網(wǎng)絡(luò)一般是專門設(shè)計定制的。典型的,MPP,有,Intel Paragon,、,IBM SP2,以及,Option Red,、,曙光,1000,等。,22,處理節(jié)點采用商用微處理器,專門設(shè)計制造的高速互連網(wǎng)絡(luò),每個節(jié)點內(nèi)有一個或多個處理器、高速緩存、一個本地存儲器和本地互連網(wǎng)絡(luò),有的,MP