平行計算的不同級別是什麼?
平行計算有不同的級別,如下所示:
指令級 - 在指令級,一個粒度包含少於 20 條指令,稱為細粒度。此級別的細粒度並行度可能範圍從兩千到取決於單個程式的單指令流並行度大於二,但指令級的平均並行度大約為五,在普通程式中很少超過七。
對於科學應用,平均並行度在 500 到 300 之間,Fortran 語句在理想化的環境中併發執行。
迴圈級 - 它包含迭代迴圈操作。一個迴圈可能包含少於 500 條指令。一些迴圈獨立操作可以被向量化以進行流水線執行或 SIMD 機器的迴圈步執行。
迴圈級並行度是為在並行或向量計算機上實現而生成的程式的最最佳化版本。但是遞迴迴圈很難並行化。向量處理主要由向量化編譯器在迴圈級利用。
過程級 - 它在任務、過程、子程式級別傳達中等粒度大小。此級別的粒度包含少於 2000 條指令。在此級別檢測並行度比在更細的粒度級別上要困難得多。
與 MIMD 執行模型相比,通訊開銷要少得多。但是,程式設計師需要在此級別重新組織程式,才能實現主要功能。
子程式級 - 子程式級傳達作業步驟和相關的子程式。此處的粒度大小包含少於 1000 條指令。作業步驟可以在不同的作業之間重疊。此級別執行單處理器或多處理器的多道程式設計。
作業級 - 它對應於在平行計算機上獨立任務的並行執行。此處的粒度大小可以達到數萬條指令。它由程式載入器和作業系統框架管理。分時和空分多處理器分析此級別的並行度。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP