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