在計算機體系結構中,併發和並行執行的區別是什麼?
併發執行
這是N客戶端-1伺服器模型的本質行為,其中任何給定時刻只服務一個客戶端。該模型具有雙重特性。在較小的時間尺度上它是順序的,但在較大的時間尺度上它是併發的。
在這種方法中,核心問題是如何排程競爭的客戶端、處理器或執行緒透過單一級別(處理器)進行服務(執行)。排程策略可以面向高效服務,例如最高吞吐量(最小干預)或較短的平均響應時間等等。
排程策略可以被認為涵蓋兩種方法:第一種方法處理是否可以停止為客戶端提供服務,以及在什麼情況下停止(搶佔規則)。另一種方法說明如何從競爭的客戶端中選擇一個進行服務(選擇規則),如圖所示。
如果未啟用搶佔,則為客戶端提供所需的服務。這會導致等待時間略長,或阻止來自不同客戶端的重要服務請求。搶佔規則可以確定分時,這將每個客戶端的持續服務限制在一個時間片內,或者可以基於優先順序,在更高優先順序的客戶端請求服務時中斷客戶端的功能。
選擇規則取決於特定引數,包括優先順序、到達時間等。此規則定義一個演算法,以根據給定引數指定一個數值,我們將其稱為等級。
並行執行
並行執行與N客戶端-N伺服器模型相關聯。它擁有多個伺服器,可以同時為多個客戶端(程序或執行緒)提供服務,這被稱為並行執行。
並行執行的目的是加快計算機處理效率並提高其吞吐量,即在給定的時間間隔內可以完成的處理數量。並行執行增加了硬體數量,從而提高了系統性能。
並行執行是透過在多個功能單元之間分配資訊來實現的。例如,算術、邏輯和移位操作可以分成三個單元,運算元在控制單元的指揮下被導向到每個單元。
廣告