多處理器分配

多處理器分配

多處理器是指系統中包含兩台或多台功能相近的處理器,處理器之間彼此可以交換數據並獨立工作。多處理器分配是指將多個處理器分配給執行緒或進程。現在計算機系統中,一般至少都有2個處理器,但系統中執行緒數目遠遠多於處理器數目,因此多處理器分配會採取一些分配策略。

簡介

中央處理器 (Central Processing Unit,CPU),是計算機的主要設備之一,功能主要是解釋計算機指令以及處理計算機軟體中的數據。多處理器分配是指將多個處理器分配給執行緒或進程。即多處理分配一般對應著多執行緒。多處理分配差不多是現代作業系統提供一項基本系統服務。不過在不同類型的作業系統中,多處理分配重要性是不同的,例如,在分散式系統和多處理器系統中,多處理分配對整個系統性能有很重要的影響。

分散式系統

是一種結構和處理功能都分散的多處理機或多計算機系統,一般屬於中等耦合系統.通常每台處理機或計算機均有其單獨的作業系統,各自都可完成系統中指定的一部分功能或執行一部分處理任務,並共享系統資源。它通常是由一台大型計算機和若干台小型計算機或微型計算機組成。各處理機或各計算機分布在不同地點,通過網際網路連結在一起。這種系統可以是分布處理機系統,其中各處理機共享一主存儲器;也可以是更為常見的分布計算機系統,其中每台計算機都有自己的存儲器。它具有對本地事件回響迅速、節省數據傳輸、減輕主計算機的負擔、簡化系統程式設計等優點 。

多執行緒

多執行緒multithreading),是指從軟體或者硬體上實現多個執行緒並發執行的技術。具有多執行緒能力的計算機因有硬體支持而能夠在同一時間執行多於一個執行緒,進而提升整體處理性能。具有這種能力的系統包括對稱多處理機、多核心處理器以及晶片級多處理(Chip-level multithreading)或同時多執行緒(Simultaneous multithreading)處理器。

軟體多執行緒。即便處理器只能運行一個執行緒,作業系統也可以通過快速的在不同執行緒之間進行切換,由於時間間隔很小,來給用戶造成一種多個執行緒同時運行的假象。這樣的程式運行機制被稱為軟體多執行緒。如微軟的Windows作業系統和Linux就是在各個不同的執行緒間來回切換,被稱為單人多任務作業系統。而DOS這類文字接口作業系統在一個時間只能處理一項工作,被視為單人單工作業系統。

除此之外,許多系統及處理器也支持硬體多執行緒技術。對稱多處理機(SMP)系統具有多個處理器,所以具有真正的同時執行多個執行緒的能力;CMP技術通過在一塊晶片上集成多個核心(Core)也具有真正的多執行緒能力;CMT技術則稍有不同,有的是依靠硬體執行執行緒切換來獲得多執行緒能力,作業系統不再負責執行緒切換,因而這部分開銷可以減少甚至消除,這方面典型的例子是Sun的UltraSPARC T1,它同時綜合了CMP和CMT。微軟的Windows 2000以後的作業系統皆支持多執行緒與超執行緒技術。

多處理器分配策略準則

CPU利用率

CPU是計算機系統中最重要的資源之一,所以應儘可能使CPU保持在忙狀態,是這一資源利用率最高。

系統吞吐量

系統吞吐量表示單位時間內CPU完成作業的數量。長作業需要消耗較長的處理器時間,因此會降低系統的吞吐量。而對於短作業,他們所需要消耗的處理器時間端,因此能提高系統的吞吐量。調度算法和方式的不同,也會對系統的吞吐量產生較大的影響。

周轉時間

周轉時間是指從作業提交到作業完成所經歷的時間,包括作業等待、在就緒佇列中排隊、在處理器上運行以及進行輸入輸出操作所花費的時間的總和。

作業的周轉時間=作業完成時間-作業提交時間

等待時間

等待時間是指進程處於等處理器狀態時間之和,等待時間越長,用戶滿意度越低。處理器調度算法實際上並不影響作業執行或輸入輸出操作時間,只影響作業在就緒佇列中等待所花的時間。因此,衡量一個調度算法優劣常常只需簡單地考察等待時間。

回響時間

回響時間是指從用戶提交請求到系統首次產生回響所有的時間。在互動式系統中,周轉時間不可能是最好的評測準則,一般採用回響時間作為衡量調度算法的重要準則之一。從用戶的角度來看,調度策略應儘量降低回響時間,使回響時間處在用戶能夠接受的範圍之內。

常見策略

FIFS先來先服務調度算法

特點:算法簡單,但是效率低;有利於長作業,不利於短作業;有利於CPU繁忙型作業而不利於IO繁忙型作業。

短作業優先調度算法

短作業(進程)優先調度算法是指對短作業禍端進程優先調度的算法。短作業優先調度算法是從後備佇列中選擇一個或若干個估計運算時間最短的作業,將他們呢掉入記憶體運行。

SJF調度算法的缺點:

1) 該算法對長作業不理。

2) 該算法完全未考慮作業的緊迫程度

3) 由於作業的長短只根據用戶所提供的估計執行時間而定的,而用戶又可能會有意或無意的縮短其作業的估計運行時間,致使該算法不一定能真正做到算作業優先調度。

4) 注意:SJF調度算法的平均等待時間、平均周轉時間最少。

多級反饋佇列調度算法

多級反饋佇列調度算法主要是時間片輪轉調度算法和優先權調度算法的綜合和發展。通過動態調整進程優先權和時間片大小,多級反饋佇列調度算法可以兼顧多方面的系統目標。

相關詞條

相關搜尋

熱門詞條

聯絡我們