"并行軟件可分成并行系統(tǒng)軟件和并行應用軟件兩大類,并行系統(tǒng)軟件主要指并行編譯系統(tǒng)和并行操作系統(tǒng),并行應用軟件主要指各種軟件工具和應用軟件包。在軟件中所牽涉到的程序的"
并行軟件可分成并行系統(tǒng)軟件和并行應用軟件兩大類,并行系統(tǒng)軟件主要指并行編譯系統(tǒng)和并行操作系統(tǒng),并行應用軟件主要指各種軟件工具和應用軟件包。在軟件中所牽涉到的程序的并行性主要是指程序的相關性和網(wǎng)絡互連兩方面。 程序的相關性主要分為數(shù)據(jù)相關、控制相關和資源相關三類。
數(shù)據(jù)相關:說明的是語句之間的有序關系,主要有流相關、反相關、輸出相關、I/O相關和求知相關等,這種關系在程序運行前就可以通過分析程序確定下來。數(shù)據(jù)相關是一種偏序關系,程序中并不是每一對語句的成員都是相關聯(lián)的??梢酝ㄟ^分析程序的數(shù)據(jù)相關,把程序中一些不存在相關性的指令并行地執(zhí)行,以提高程序運行的速度。
控制相關:是語句執(zhí)行次序在運行前不能確定的情況。它一般是由轉(zhuǎn)移指令引起的,只有在程序執(zhí)行到一定的語句時才能判斷出語句的相關性??刂葡嚓P常使正在開發(fā)的并行性中止,為了開發(fā)更多的并行性,必須用編譯技術克服控制相關。而資源相關則與系統(tǒng)進行的工作無關,而與并行事件利用整數(shù)部件、浮點部件、寄存器和存儲區(qū)等共享資源時發(fā)生的沖突有關。軟件的并行性主要是由程序的控制相關和數(shù)據(jù)相關性決定的。在并行性開發(fā)時往往把程序劃分成許多的程序段——顆粒。顆粒的規(guī)模也稱為粒度,它是衡量軟件進程所含計算量的尺度,用細、中、粗來描述。劃分的粒度越細,各子系統(tǒng)間的通信時延也越低,并行性就越高,但系統(tǒng)開銷也越大。因此,在進行程序組合優(yōu)化的時候應該選擇適當?shù)牧6龋⑶野淹ㄓ崟r延盡可能放在程序段中進行,還可以通過軟硬件適配和編譯優(yōu)化的手段來提高程序的并行度。 將計算機子系統(tǒng)互連在一起或構造多處理機或多計算機時可使用靜態(tài)或動態(tài)拓撲結構的網(wǎng)絡。靜態(tài)網(wǎng)絡由點一點直接相連而成,這種連接方式在程序執(zhí)行過程中不會改變,常用來實現(xiàn)集中式系統(tǒng)的子系統(tǒng)之間或分布式系統(tǒng)的多個計算結點之間的固定連接。動態(tài)網(wǎng)絡是用開關通道實現(xiàn)的,它可動態(tài)地改變結構,使之與用戶程序中的通信要求匹配。動態(tài)網(wǎng)絡包括總線、交叉開關和多級網(wǎng)絡,常用于共享存儲型多處理機中。在網(wǎng)絡上的消息傳遞主要通過尋徑來實現(xiàn)。常見的尋徑方式有存儲轉(zhuǎn)發(fā)尋徑和蟲蝕尋徑等。在存儲轉(zhuǎn)發(fā)網(wǎng)絡中以長度固定的包作為信息流的基本單位,每個結點有一個包緩沖區(qū),包從源結點經(jīng)過一系列中間結點到達目的結點。存儲轉(zhuǎn)發(fā)網(wǎng)絡的時延與源和目的之間的距離(段數(shù))成正比。而在新型的計算機系統(tǒng)中采用蟲蝕尋徑,把包進一步分成一些固定長度的片,與結點相連的硬件尋徑器中有片緩沖區(qū)。消息從源傳送到目的結點要經(jīng)過一系列尋徑器。同一個包中所有的片以流水方式順序傳送,不同的包可交替地傳送,但不同包的片不能交叉,以免被送到錯誤的目的地。蟲蝕尋徑的時延幾乎與源和目的之間的距離無關。在尋徑中產(chǎn)生的死鎖問題可以由虛擬通道來解決。虛擬通道是兩個結點間的邏輯鏈,它由源結點的片緩沖區(qū)、結點間的物理通道以及接收結點的片緩沖區(qū)組成。物理通道由所有的虛擬通道分時地共享。虛擬通道雖然可以避免死鎖,但可能會使每個請求可用的有效通道頻寬降低。因此,在確定虛擬通道數(shù)目時,需要對網(wǎng)絡吞吐量和通信時延折衷考慮。
并行處理技術的并行軟件
并行編程技術什么是并行編程技術
并行編程通常是指軟件代碼,它促進在同一時間執(zhí)行多個計算任務的性能。
這有點像有一個操場上有20個滑梯而不是一個。孩子們不必排隊等待輪到自己,因為他們可以同時玩。你可以使用電腦鼠標,一邊聽在線廣播,一邊更新電子表格中的信息,并對你的個人電腦做病毒掃描,這唯一的理由就是并發(fā)編程。
以上就是小編對于《》問題和相關問題的解答了,希望對你有用