從程序員和算法設(shè)計(jì)者的角度來看,并行計(jì)算可以分為數(shù)據(jù)并行和任務(wù)并行。并行計(jì)算的基本架構(gòu)并行計(jì)算科學(xué)的主要研究是空間并行,(2)指令間并行性:是指兩條或兩條以上的指令并行執(zhí)行,SMP和DSW共享變量的單地址空間模型和MPP與集群間消息傳遞的多地址空間模型,并行編程模型逐漸收斂為三種標(biāo)準(zhǔn)模型:數(shù)據(jù)并行(如HPF)。
并行計(jì)算科學(xué)主要研究空間并行性。從程序員和算法設(shè)計(jì)者的角度來看,并行計(jì)算可以分為數(shù)據(jù)并行和任務(wù)并行。一般來說,數(shù)據(jù)并行比任務(wù)并行更容易處理,因?yàn)樗饕菍⒁粋€(gè)大任務(wù)分解成相同的子任務(wù)??臻g并行性導(dǎo)致了兩類并行機(jī)的出現(xiàn),根據(jù)Flynn的說法分為單指令流多數(shù)據(jù)流(SIMD)和多指令流多數(shù)據(jù)流(MIMD)。
MIMD機(jī)器可以分為五個(gè)常見的類別:并行向量處理器(PVP)、對(duì)稱多處理器(SMP)、大規(guī)模并行處理器(MPP)、工作站集群(COW)和分布式共享存儲(chǔ)處理器(DSM)。并行計(jì)算機(jī)有以下五種訪問模型:統(tǒng)一訪問模型(UMA)、非統(tǒng)一訪問模型(NUMA)、全緩存訪問模型(COMA)、統(tǒng)一緩存非統(tǒng)一存儲(chǔ)訪問模型(CCNUMA)和非遠(yuǎn)程存儲(chǔ)訪問模型(NORMA)。
目前并行編程類型逐漸收斂為兩類:PVP、SMP、DSW共享變量的單地址空間模型和MPP、cluster消息傳遞的多地址空間模型。并行編程模型正逐漸收斂為三種標(biāo)準(zhǔn)模型:數(shù)據(jù)并行(如HPF)、消息傳遞(如MPI和PVM)和共享變量(如OpenMp)?,F(xiàn)在人們希望高性能并行計(jì)算機(jī)應(yīng)該
3、并行處理是指并行處理是一種可以在計(jì)算機(jī)系統(tǒng)中同時(shí)執(zhí)行兩個(gè)或兩個(gè)以上進(jìn)程的計(jì)算方法。并行處理可以同時(shí)處理同一程序的不同方面。一、并行處理技術(shù)并行處理是一種可以在計(jì)算機(jī)系統(tǒng)中同時(shí)執(zhí)行兩個(gè)或兩個(gè)以上進(jìn)程的計(jì)算方法。并行處理可以同時(shí)處理同一程序的不同方面。并行處理的主要目的是節(jié)省解決大型復(fù)雜問題的時(shí)間。為了使用并行處理,首先需要將程序并行化,也就是說,將工作的所有部分分配給不同的處理進(jìn)程(線程)。
此外,并行并不能保證加速。理論上,n個(gè)并行處理的執(zhí)行速度可能是單個(gè)處理器的n倍。第二,并行的概念。計(jì)算機(jī)系統(tǒng)中的并行可以在不同的層次上實(shí)現(xiàn),大致可以分為:(1)指令內(nèi)并行:是指指令執(zhí)行中的所有微操作盡可能實(shí)現(xiàn)并行操作。(2)指令間并行性:是指兩條或兩條以上的指令并行執(zhí)行。(3)任務(wù)處理并行化:是指將一個(gè)程序分解成多個(gè)可以并行處理的處理任務(wù),使兩個(gè)或兩個(gè)以上的任務(wù)并行處理。
4、并行計(jì)算模型的PRAM模型pram(并行隨機(jī)存取并行機(jī))模型,又稱共享存儲(chǔ)的SIMD模型,是一種抽象的并行計(jì)算模型,直接由串行ram模型發(fā)展而來。在這個(gè)模型中,假設(shè)有一個(gè)容量無限的共享內(nèi)存,有有限個(gè)或無限個(gè)功能相同的處理器,它們都具有簡(jiǎn)單的算術(shù)運(yùn)算和邏輯判斷功能。在任何時(shí)候,處理器都可以通過共享存儲(chǔ)單元相互交互。
5、并行計(jì)算模型的BDM模型1996 J.F.JaJa等人提出了塊分布式存儲(chǔ)模型(BDM)。它是共享存儲(chǔ)編程模式和基于消息傳遞的分布式存儲(chǔ)系統(tǒng)之間的橋梁模型。主要的四個(gè)參數(shù)是:(1)P個(gè)處理器的數(shù)量;(2)τ處理器從發(fā)送訪問請(qǐng)求到獲得遠(yuǎn)程數(shù)據(jù)的最大延遲時(shí)間(包括準(zhǔn)備請(qǐng)求的時(shí)間、請(qǐng)求包在網(wǎng)絡(luò)中路由的時(shí)間、目的處理器收到請(qǐng)求的時(shí)間、包中m個(gè)連續(xù)字返回給原處理器的時(shí)間);(3)M個(gè)本地存儲(chǔ)器中的M個(gè)連續(xù)單詞;(4)σ處理器向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)或從網(wǎng)絡(luò)接收數(shù)據(jù)的時(shí)間。
6、并行計(jì)算模型的C3模型C3模型假設(shè)處理器不能同時(shí)發(fā)送和接收消息,其對(duì)override的性能分析分為兩部分:計(jì)算單元CU,依賴于本地計(jì)算;通信單元COU取決于處理器發(fā)送和接收的數(shù)據(jù)量、消息的延遲和通信引起的擁塞。該模型考慮了兩種路由(存儲(chǔ)轉(zhuǎn)發(fā)路由和蠕蟲路由)和兩種發(fā)送/接收原語(阻塞和非阻塞)對(duì)COU的影響。(1) Cl和Cp用于衡量網(wǎng)絡(luò)擁塞對(duì)算法性能的影響;
(3)可以評(píng)估覆蓋的時(shí)間復(fù)雜度,而無需用戶指定調(diào)度細(xì)節(jié);(4)類似于HPRAM模型的層次結(jié)構(gòu),C3模型為程序員提供了K級(jí)路由算法的思想,即將系統(tǒng)劃分為K級(jí)子系統(tǒng),各子系統(tǒng)的操作相互獨(dú)立,用超步代替HPRAM中的子PRAM。(1)1)Cl度量的前提是同一通信對(duì)中的兩個(gè)處理器在網(wǎng)絡(luò)二分后應(yīng)該位于不同的子網(wǎng)中。