《并行計(jì)算機(jī)與并行計(jì)算課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《并行計(jì)算機(jī)與并行計(jì)算課件(40頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,C,enter of,C,omputational,C,hemistry,情況介紹,分子反應(yīng)動(dòng)力學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,交叉分子束動(dòng)力學(xué)課題組,理論與計(jì)算化學(xué)國(guó)際合作中心,研究員2人,其中一位為中國(guó)科學(xué)院院士,高級(jí)訪問(wèn)學(xué)者1人,博士后研究人員6人,,博士研究生18人,碩士研究生4人,與多個(gè)國(guó)際學(xué)術(shù)團(tuán)隊(duì)有很好的合作,與紐約大學(xué)化學(xué)系張?jiān)鲚x教授合作建立理論與,計(jì)算化學(xué)國(guó)際合作研究中心,主要研究工作,實(shí)驗(yàn)方面:,交叉分子束對(duì)光解,碰撞反應(yīng),立體化學(xué)動(dòng)力學(xué)的研究,激光誘導(dǎo)熒光方法對(duì)光解,立體化學(xué)動(dòng)力學(xué)的研究,飛秒激光對(duì)超快動(dòng)力學(xué)過(guò)程的研究,理論方面:,準(zhǔn)經(jīng)典軌線方法對(duì)反應(yīng)動(dòng)態(tài)學(xué)的研究,量子力學(xué)方法對(duì)反應(yīng)動(dòng)
2、態(tài)學(xué)的研究,復(fù)雜體系勢(shì)能面的構(gòu)造,擬和,量子化學(xué)及其他方法對(duì)分子結(jié)構(gòu),物質(zhì)特性,化學(xué)反應(yīng)過(guò)程的研究,1997-2001年,發(fā)表文章84篇,其中英文66篇,HPC Server,并行計(jì)算機(jī)與并行計(jì)算,為什么要建造并行計(jì)算機(jī),并行計(jì)算機(jī)的類(lèi)型,什么是并行計(jì)算,并行進(jìn)程的特性及并行模型的分類(lèi),工作站集群(,COW),的基本結(jié)構(gòu),中國(guó)科學(xué)院十五計(jì)劃中關(guān)于并行計(jì)算部分,為什么要建造并行計(jì)算機(jī),什么是超級(jí)計(jì)算環(huán)境,超級(jí)計(jì)算(,Supercomputing),,從技術(shù)的意義上說(shuō),是為了在問(wèn)題的求解上具有更快的速度、更高的精度、更大的規(guī)模、更好的性能價(jià)格比而采用的非主流計(jì)算的設(shè)施和方式。,計(jì)算速度的要求,問(wèn)題
3、:科學(xué)和工程問(wèn)題的數(shù)值模擬與仿真,計(jì)算密集,數(shù)據(jù)密集,網(wǎng)絡(luò)密集,三種混合,要求:在合理的時(shí)限內(nèi)完成計(jì)算任務(wù),秒級(jí)制造業(yè),分鐘級(jí)短時(shí)天氣預(yù)報(bào)(當(dāng)天),小時(shí)級(jí)中期天氣預(yù)報(bào)(310日),盡可能快長(zhǎng)期天氣預(yù)報(bào)(氣候),可計(jì)算湍流模擬,問(wèn)題的規(guī)模,計(jì)算機(jī)的規(guī)模:,TOP10(2001,年7月),IBM Builds Worlds Fastest,Supercomputer to Simulate,Nuclear Testing for U.S.Energy,Department,以動(dòng)物的食物鏈為例,打破高性能計(jì)算的壁壘,2100,2100,2100,2100,2100,2100,2100,2100,21
4、00,單處理器,共享存儲(chǔ),局域并行機(jī)群,廣域并行機(jī)群,GFLOPS,并行計(jì)算機(jī)分類(lèi),Flynn,分類(lèi)法,SISD(,單指令流單數(shù)據(jù)流)系統(tǒng),SIMD(,單指令流多數(shù)據(jù)流)系統(tǒng),MISD(,多指令流單數(shù)據(jù)流)系統(tǒng),MIMD(,多指令流多數(shù)據(jù)流)系統(tǒng),五種物理機(jī)模型:實(shí)際的機(jī)器體系結(jié)構(gòu),PVP (Parallel Vector Processor,并行向量機(jī)),SMP (Symmetric Multiprocessor,對(duì)稱(chēng)多處理機(jī)),MPP (Massively Parallel Processor,大規(guī)模并行處理機(jī)),COW(Cluster of Workstation,工作站機(jī)群),DSM
5、(Distributed Shared Memory,分布共享存儲(chǔ)多處理機(jī)),幾種我們常見(jiàn)的并行計(jì)算機(jī),CPU,CPU,CPU,總線或交叉開(kāi)關(guān),SM,(,a)SMP,物理上單一地址空間,CPU,CPU,CPU,定制網(wǎng)絡(luò),LM,LM,LM,虛擬分布共享存儲(chǔ)(,DSM),(,b)DSM,邏輯上單一地址空間,P/C,P/C,P/C,定制/標(biāo)準(zhǔn)網(wǎng)絡(luò),LM,LM,LM,(,c)Cluster/COW,物理/邏輯上多地址空間,SMP,MPP,MPP,WAN,LM,DSM,SM,(,d)Grid(Cluster of Clusters),什么是并行計(jì)算,并行進(jìn)程的表述,及并行模型的分類(lèi),什么是并行計(jì)算,進(jìn)程
6、 1,發(fā)送信息,進(jìn)程 2,接收信息,傳統(tǒng)的,串行計(jì)算,,,分為“指令”,和“數(shù)據(jù)”兩個(gè)部分,并在程序,執(zhí)行時(shí)“獨(dú)立地申請(qǐng)和占有”內(nèi),存空間,且所有計(jì)算均局限于,該內(nèi)存空間。,并行計(jì)算,將,進(jìn)程相對(duì)獨(dú)立的,分配于不同的節(jié)點(diǎn)上,由,各自獨(dú)立的操作系統(tǒng)調(diào)度,,享有獨(dú)立的,CPU,和內(nèi)存資源,(內(nèi)存可以共享);進(jìn)程間,相互信息交換通過(guò)消息傳遞,;,進(jìn)程 1,進(jìn)程 2,并行算法的表述,在并行算法的表述中,所有描述串行算法的語(yǔ)句及進(jìn)程均可調(diào)用,,而只是為了表達(dá)并行性而引入幾條所謂的并行語(yǔ)句,當(dāng)幾個(gè)算法步要并行執(zhí)行時(shí),我們可以寫(xiě)作,Do,step i,to,j,in parallel,step,i,step
7、,i,+1,step j,或者是:當(dāng)幾個(gè)處理器同時(shí)執(zhí)行相同的操作時(shí),我們可以寫(xiě)作,for all,i,parallel do,.,.,.,end for,例如,n=2*k,個(gè)數(shù)的求和,輸入:,n=2*k,個(gè)數(shù)存入數(shù)組,A,中,輸出:,S=sigma(A(i),begin,(1)for i,=,1 to 4 parallel do,B(i),A(i),end for,(2)for h,=,1 to logn=2 do,for i=1 to n/2*h=1 parallel do,B(i),B(2i-1)+B(2i),end for,end for,(3)SB(i),end,把每一個(gè),A(i),賦
8、給,B(i,),n=4,k=2,就是4個(gè)數(shù)的加和,h=1 to 2,h=1,I=1 to 2(4/2*1),B(1),B(1)+B(2),B(2)B(3)+B(4),h=2,I=1 to 1(4/2*2),B(1)B(1)+B(2),SB(1),若有2*2=4個(gè)處理器,則在1(,h),級(jí)可能的并行,運(yùn)算數(shù)目為4/2*1=2.則運(yùn)算任務(wù)分?jǐn)偨o前兩個(gè),處理器,硬件結(jié)構(gòu)抽象模型(自然模型),共享存儲(chǔ),的模型和語(yǔ)言(適于,PVP,SMP,DSM),X3H5,Pthread,OpenMP,消息傳遞,的模型和語(yǔ)言(適于,MPP,Cluster,COW),MPI(,Fortran,C,Gamess,Vasp
9、,),PVM(,Fortran,C,),數(shù)據(jù)并行,的模型和語(yǔ)言(適于在,MPP/Cluster,上實(shí)現(xiàn),SPMD,應(yīng)用),Fortran 90,HPF(High Performance Fortran),并行模型的分類(lèi),基于程序構(gòu)造的模型,CSP,Linda(,Fortran,C,Gaussian,),Global (,Molpro,,Columbus,),基于問(wèn)題描述的模型,GAMMA,UNITY,基于并行計(jì)算理論的模型,PRAM,BSP,LogP,Yale,大學(xué),Nicholas Carriero,和,David Gelernter,于1986年基于分散數(shù)據(jù)結(jié)構(gòu)和共享存儲(chǔ)系統(tǒng)的并行計(jì)算模型
10、.,Linda,模型定義了一個(gè)功能強(qiáng)大的邏輯存儲(chǔ)器(,TS),和在其上的一組核心操作(,in,out,read,eval),它們能夠方便地嵌入到不同的語(yǔ)言(如,C,Fortran),中而構(gòu)成相應(yīng)的并行語(yǔ)言(,C-Linda,和,Fortran-Linda,等),該模型同時(shí)還支持動(dòng)態(tài)程序設(shè)計(jì)和兩種不同的編程風(fēng)格(,Master/Slaver,和,Divide-and-Conquer),為用戶開(kāi)發(fā)不同類(lèi)型 的應(yīng)用程序提供了靈活的手段.,Linda,模型,(進(jìn)程從,TS,中提取任務(wù)或數(shù)據(jù)進(jìn)行計(jì)算,并將結(jié)果或生成的新任務(wù)放入,TS,中.并行執(zhí)行,的進(jìn)程之間通過(guò),TS,進(jìn)行間接的通信和同步.,TS,是一
11、個(gè)可被多個(gè)進(jìn)程共享的、能同時(shí)存放,數(shù)據(jù)和任務(wù)的數(shù)據(jù)箱),TS,共享數(shù)據(jù)箱,進(jìn)程 2,進(jìn)程 4,進(jìn)程 3,進(jìn)程 1,Linda,模型的應(yīng)用,Linda in Gaussian,HF:SP Opt Freq,MP2:Sp Opt Freq,DFT:SP Opt Freq,可以將串行代碼改編為并行代碼,支持,C,和,Fortran,語(yǔ)言,MPI,已經(jīng)成為一種標(biāo)準(zhǔn),應(yīng)用越來(lái)越廣泛。而最流行的,MPI,工具集當(dāng)屬,mpichwww-unix.mcs.anl.gov/mpi/mpich,,是目前高效率的超大規(guī)模并行計(jì)算(1000個(gè)處理器)最可信賴(lài)的平臺(tái)。,在當(dāng)前所有的消息傳遞軟件中,最重要最流行的是,MP
12、I,它能運(yùn)行在所有的并行平臺(tái)上,包括,SMP,和,PVP.,二者已經(jīng)在,Windows NT,和,Windows 95,這樣的非,Unix,平臺(tái)上實(shí)現(xiàn).程序設(shè)計(jì)語(yǔ)言支持,C,Fortran,和,Java.,在國(guó)產(chǎn)的三大并行機(jī)系列神威、銀河和曙光上都實(shí)現(xiàn)了對(duì),MPI,和支持.,MPI,(Message Passing Interface),MPI,模型,目標(biāo):是提供一個(gè)實(shí)際可用的、可移植的、高效的和靈活的消息傳遞,接口標(biāo)準(zhǔn).,MPI,以語(yǔ)言獨(dú)立的形式來(lái)定義這個(gè)接口庫(kù),并提供了與,C、,Fortran,和,Java,語(yǔ)言的綁定.這個(gè)定義不包含任何專(zhuān)用于某個(gè)特別的,制造商、操作系統(tǒng)或硬件的特性.由于
13、這個(gè)原因,MPI,在并行計(jì)算界,被廣泛地接受.,MPI,并行程序設(shè)計(jì)平臺(tái)由,標(biāo)準(zhǔn)消息傳遞函數(shù)及相關(guān)輔助函數(shù),構(gòu)成,多個(gè)進(jìn)程通過(guò)調(diào)用這些函數(shù)(類(lèi)似調(diào)用子程序),進(jìn)行通信;,一個(gè)程序同時(shí)啟動(dòng)多份,形成多個(gè)獨(dú)立的進(jìn)程,,在不同的處理機(jī)上運(yùn)行,擁有獨(dú)立的內(nèi)存空間,,進(jìn)程間通信通過(guò)調(diào)用,MPI,函數(shù)來(lái)實(shí)現(xiàn);每個(gè)進(jìn)程,開(kāi)始執(zhí)行時(shí),將獲得一個(gè)唯一的序號(hào)(,rank)。,例如啟動(dòng),P,個(gè)進(jìn)程,序號(hào)依次為0,1,,P-1;,MPI,并行進(jìn)程的實(shí)現(xiàn),消息傳遞是相對(duì)于進(jìn)程間通信方式而言的,與具體并行機(jī)存儲(chǔ)模式無(wú)關(guān),,任何支持進(jìn)程間通信的并行機(jī),均可支持消息傳遞并行程序設(shè)計(jì);幾乎,有共享和分布存儲(chǔ)并行計(jì)算環(huán)境均支持進(jìn)
14、程間的消息傳遞通信;,進(jìn)程0發(fā)送一個(gè)整數(shù)給進(jìn)程1;進(jìn)程1將該數(shù)加1,傳遞給進(jìn)程2;進(jìn)程2再將,該數(shù)加1,再傳遞給進(jìn)程3;依次類(lèi)推,最后,進(jìn)程,N-1,將該數(shù)傳遞給進(jìn)程0,,由進(jìn)程1負(fù)責(zé)廣播該數(shù)給所有進(jìn)程,并打印輸出。,進(jìn)程 1,傳遞信息,進(jìn)程 3,傳遞信息,進(jìn)程 2,傳遞信息,進(jìn)程 0,傳遞信息,在商品化的并行機(jī)上,MPI,的環(huán)境一般是由系統(tǒng)管理人員事先設(shè)置好的,用戶不需要變動(dòng)它.而在用戶自已配置的,NOW(,工作站機(jī)群)上運(yùn)行,MPI,程序則需要設(shè)置以下配置文件:(1)由于加載程序到結(jié)點(diǎn)上運(yùn)行需要調(diào)用了,Unix,系統(tǒng)的,rsh,命令,所以需要在每個(gè)結(jié)點(diǎn)上設(shè)置.,rhosts,文件,以使,r
15、sh,能正確執(zhí)行;(2)由于,NOW,環(huán)境的異構(gòu)性,需要在啟動(dòng)時(shí)指定運(yùn)行結(jié)點(diǎn)的體系結(jié)構(gòu);若未指定,是指使用與啟動(dòng)并行程序的結(jié)點(diǎn)具有相同體系結(jié)構(gòu)的結(jié)點(diǎn).在啟動(dòng)并行程序的機(jī)器里,具有相同體系結(jié)構(gòu)的幾臺(tái)機(jī)器的名字存放在一個(gè)名為$,MPICH/util/machines/machines.,的文件中,一臺(tái)機(jī)器的名字占有文件的一行,其中$,MPICH,是一個(gè)環(huán)境變量,指明,MPICH,軟件安裝后所在的目錄.并行程序加載運(yùn)行時(shí)是按照文件中機(jī)器名字的先后順序依次加載的.,商業(yè)機(jī)中的,MPI,程序用以下并行,C,編譯器,mpcc,來(lái)編譯:,執(zhí)行下列命令將可執(zhí)行程序,myprog,加載到,n,個(gè)節(jié)點(diǎn)上:,mpc
16、c myprog.c o myprog,mpirun myprog np n,MPI,進(jìn)程是重型的單線進(jìn)程.它們擁有不同的地址空間.因此,一個(gè)進(jìn)程不能直接訪問(wèn)另一個(gè)進(jìn)程地址空間中的變量.進(jìn)程間的通信用消息傳遞來(lái)實(shí)現(xiàn).,MPI,的編譯與運(yùn)行,工作站集群(,COW),的基本結(jié)構(gòu),COW,簡(jiǎn)介,工作站機(jī)群(,Cluster of Workstation),是,將一群工作站用某種結(jié)構(gòu)的網(wǎng)絡(luò)互聯(lián)起來(lái),充分利用各工作站的資源,統(tǒng)一調(diào)度、協(xié)調(diào)處理,以實(shí)現(xiàn)高效并行計(jì)算。,通信原語(yǔ)庫(kù)以及并行程序設(shè)計(jì)環(huán)境工具:,MPI、PVM、linda,互聯(lián)網(wǎng)絡(luò):,LAN(,Myricom Myrinet/Gigabite/Ethernet,),節(jié)點(diǎn):,高檔微機(jī),對(duì)稱(chēng)多處理機(jī),SMP,操作系統(tǒng):,Unix、Linux、NT、,改進(jìn)和修改的操作系統(tǒng),通信協(xié)議:,TCP/IP、,特定的協(xié)議,基本實(shí)現(xiàn)原理,1,網(wǎng)絡(luò)文件系統(tǒng),NFS(Unix、Linux)、,網(wǎng)絡(luò)驅(qū)動(dòng)器(,Windows),MFS(Mosix kernel).,2,網(wǎng)絡(luò)信息服務(wù),NIS(Unix、Linux)、NIS+(Solaris)、,域(,NT),3,并