并行處理(Parallel Processing)是計(jì)算機(jī)系統(tǒng)中能同時(shí)執(zhí)行兩個(gè)或多個(gè)處理的一種計(jì)算方法。并行處理可同時(shí)工作于同一程序的不同方面。并行處理的主要目的是節(jié)省大型和復(fù)雜問題的解決時(shí)間。為使用并行處理,首先需要對程序進(jìn)行并行化處理,也就是說將工作各部分分配到不同處理進(jìn)程(線程)中。并行處理由于存在相互關(guān)聯(lián)的問題,因此不能自動(dòng)實(shí)現(xiàn)。另外,并行也不能保證加速。從理論上講,在 n 個(gè)并行處理的執(zhí)行速度可能會是在單一處理機(jī)上執(zhí)行的速度的 n 倍。
在并行處理技術(shù)中所使用的算法主要遵循三種策略:1.分而治之法:也就是把多個(gè)任務(wù)分解到多個(gè)處理器或多個(gè)計(jì)算機(jī)中,然后再按照一定的拓?fù)浣Y(jié)構(gòu)來進(jìn)行求解。2.重新排序法:分別采用靜態(tài)或動(dòng)態(tài)的指令詞度方式。3.顯式/隱式并行性結(jié)合:顯式指的是并行語言通過編譯形成并行程序,隱式指的是串行語言通過編譯形成并行程序,顯式/隱式并行性結(jié)合的關(guān)鍵就在于并行編譯,而并行編譯涉及到語句、程序段、進(jìn)程以及各級程序的并行性。
并行處理所需要提供的典型硬件環(huán)境有:單處理機(jī)上的單個(gè)區(qū);多處理機(jī)(SMP)中的單個(gè)區(qū);多區(qū)配置一個(gè)處理機(jī)(MPP)中的各區(qū) ;多處理機(jī)(SMP 群)中的各區(qū);邏輯數(shù)據(jù)庫區(qū)(在 AIX 第1版的 DB2 并行版 - DB2 PE 中也稱之為多邏輯代碼或 MLN)并行計(jì)算機(jī)具有代表性的應(yīng)用領(lǐng)域有:天氣預(yù)報(bào)建摸、VLSI電路的計(jì)算機(jī)輔助設(shè)計(jì)、大型數(shù)據(jù)庫管理、人工智能、犯罪控制和國防戰(zhàn)略研究等,而且它的應(yīng)用范圍還在不斷地?cái)U(kuò)大。并行處理技術(shù)主要是以算法為核心,并行語言為描述,軟硬件作為實(shí)現(xiàn)工具的相互聯(lián)系而又相互制約的一種結(jié)構(gòu)技術(shù)。
利用計(jì)算機(jī)語言進(jìn)行并行性描述的時(shí)候主要有三種方案:1.語言擴(kuò)展方案:也就是利用各種語言的庫函數(shù)來進(jìn)行并行性功能的擴(kuò)展。2.編譯制導(dǎo)法:也稱為智能編譯,它是隱式并行策略的體現(xiàn),主要是由并行編譯系統(tǒng)進(jìn)行程序表示、控制流的分析、相關(guān)分析、優(yōu)化分析和并行化劃分,由相關(guān)分析得到方法庫管理方案,由優(yōu)化分析得到知識庫管理方案,由并行化劃分得到程序重構(gòu),從而形成并行程序。3.新的語言結(jié)構(gòu)法:這是顯式并行策略的體現(xiàn)。也就是建立一種全新的并行語言的體系,而這種并行語言通過編譯就能直接形成并行程序。
利用計(jì)算機(jī)語言進(jìn)行并行性描述的時(shí)候主要有三種方案:1.語言擴(kuò)展方案:也就是利用各種語言的庫函數(shù)來進(jìn)行并行性功能的擴(kuò)展。2.編譯制導(dǎo)法:也稱為智能編譯,它是隱式并行策略的體現(xiàn),主要是由并行編譯系統(tǒng)進(jìn)行程序表示、控制流的分析、相關(guān)分析、優(yōu)化分析和并行化劃分,由相關(guān)分析得到方法庫管理方案,由優(yōu)化分析得到知識庫管理方案,由并行化劃分得到程序重構(gòu),從而形成并行程序。3.新的語言結(jié)構(gòu)法:這是顯式并行策略的體現(xiàn)。也就是建立一種全新的并行語言的體系,而這種并行語言通過編譯就能直接形成并行程序。
只有部分應(yīng)用程序在滿足以下條件的情況下可利用并行處理:具有充足的能充分利用多處理機(jī)的應(yīng)用程序; 并行化目標(biāo)應(yīng)用程序或用戶需進(jìn)行新的編碼來利用并行程序。傳統(tǒng)上,多處理機(jī)專為“并行計(jì)算機(jī)”所設(shè)計(jì),沿著這樣的思路,當(dāng)前 Linux 支持 SMP 奔騰系統(tǒng),在該系統(tǒng)中多處理機(jī)共享單個(gè)計(jì)算機(jī)中的單個(gè)存儲器和總線接口。每個(gè)運(yùn)行 Linux 的機(jī)器組都有可能通過網(wǎng)絡(luò)互相連接形成并行處理群。第三種選擇是使用 Linux 系統(tǒng)作為“主機(jī)”,提供專門的相關(guān)并行處理機(jī)(attached parallel processor)。第四種新選擇是寄存器內(nèi) SIMD 并行,應(yīng)用于多媒體擴(kuò)展(MMX)