1、概念理解
物理處理器:
一個(gè)單核CPU,多核CPU的某個(gè)內(nèi)核,都是一個(gè)物理處理器;
邏輯處理器:
通過(guò)超線程技術(shù)可以將一個(gè)物理處理器模擬成多個(gè)邏輯處理器,
超線程技術(shù)的目的是提高物理處理器的利用效率,開(kāi)銷是模擬的多個(gè)邏輯處理器在工作切換時(shí),有不少的數(shù)據(jù)保存和恢復(fù)工作,因此實(shí)際處理性能的提升要弱于多核CPU的多個(gè)物理處理器;雙核CPU的兩個(gè)物理處理器,通過(guò)超線程技術(shù)也可以模擬成四個(gè)邏輯處理器,但隨著多內(nèi)核CPU的物理處理器數(shù)量增多,就不必使用開(kāi)銷較大的超線程技術(shù)了。為避免概念混淆,后續(xù)描述中若無(wú)特別指明,處理器都是指物理處理器,不再討論超線程技術(shù)。
并發(fā)計(jì)算:
時(shí)分復(fù)用一個(gè)處理器,在單處理器上,分時(shí)、多任務(wù)操作系統(tǒng)采用并發(fā)計(jì)算的調(diào)度方法;
并行計(jì)算:
空間復(fù)用多個(gè)處理器;
Intel多媒體指令優(yōu)化集是針對(duì)一個(gè)處理器,擴(kuò)展處理額外的數(shù)據(jù),屬于特殊的并行計(jì)算優(yōu)化;
多處理器系統(tǒng),操作系統(tǒng)采用并行計(jì)算的調(diào)度方法,允許多個(gè)線程在多個(gè)處理器上同時(shí)執(zhí)行。
串行計(jì)算:
一個(gè)處理器依次執(zhí)行指令,單就一個(gè)線程而言,本質(zhì)上是串行計(jì)算的。
處理單元:
一個(gè)獨(dú)立的軟/硬件系統(tǒng),可以是一臺(tái)PC,或者一個(gè)虛擬機(jī)系統(tǒng);
分布式處理系統(tǒng):
某種處理任務(wù)被分解到多個(gè)處理器上,系統(tǒng)為扁平結(jié)構(gòu),一般上層有一個(gè)控制中心,下層有多個(gè)處理單元,通過(guò)下層多個(gè)處理單元的數(shù)量/功能擴(kuò)展,來(lái)提高整個(gè)系統(tǒng)的處理性能;
處理任務(wù)有兩種分解方法:一種是同類處理任務(wù)的分解,屬于數(shù)量擴(kuò)展;另一種是按功能不同進(jìn)行分解,屬于功能擴(kuò)展;兩種分解方法一般都混合使用。
集中式處理系統(tǒng):
某種處理任務(wù)被集中到一個(gè)處理單元上,系統(tǒng)為星型結(jié)構(gòu),一般只有一個(gè)核心處理單元;即使核心處理單元有雙機(jī)備份,也屬于集中式處理系統(tǒng)。
2、技術(shù)范疇
任務(wù): 任務(wù)有優(yōu)先級(jí)
進(jìn)程/線程:操作系統(tǒng)調(diào)度的最小單位
軟件開(kāi)發(fā)技術(shù):
(1)系統(tǒng)層面 -> 集中式處理系統(tǒng) - 對(duì)象是一個(gè)處理單元
->包含一個(gè)處理器 -> 并發(fā)計(jì)算,調(diào)度優(yōu)化
->并行計(jì)算之指令優(yōu)化(特例)
->包含多個(gè)處理器 -> 并行計(jì)算
-> 分布式處理系統(tǒng) - 對(duì)象是多個(gè)處理單元
-> 任務(wù)的數(shù)量分解,數(shù)量空間擴(kuò)展;
->任務(wù)的功能分解,功能空間擴(kuò)展;
(2)算法層面 -> 一個(gè)處理器
-> 并發(fā)計(jì)算
-> 分時(shí)調(diào)度 -> 新就緒的高優(yōu)先級(jí)任務(wù)
-> 可搶占
->不可搶占,如Linux進(jìn)程的核心態(tài)
-> 新就緒的低優(yōu)先級(jí)任務(wù)
->預(yù)留時(shí)間片,保證調(diào)度,延遲可預(yù)知
->多任務(wù)調(diào)度 -> 新就緒的高優(yōu)先級(jí)任務(wù)
-> 可搶占
->不可搶占
->新就緒的低優(yōu)先級(jí)任務(wù)
-> 不保證及時(shí)調(diào)度,延遲不可預(yù)知
-> 多個(gè)處理器
-> 并行計(jì)算
-> 并行算法
-> 空間復(fù)用多個(gè)處理器的算法專題,略
->并行調(diào)度
-> 新就緒的高優(yōu)先級(jí)任務(wù)->優(yōu)先分配到空閑的處理器
-> 新就緒的低優(yōu)先級(jí)任務(wù)->負(fù)荷分擔(dān)分配到各個(gè)處理器
3、多內(nèi)核CPU的技術(shù)展望
多內(nèi)核CPU -> 一個(gè)處理單元
-> 包含多個(gè)處理器 -> 并行計(jì)算 -> 并行算法 -> ...
-> 并行調(diào)度 -> ...
-> 虛擬機(jī)技術(shù) -> 分布式處理系統(tǒng)
-> 多個(gè)處理單元
-> 任務(wù)的數(shù)量分解,數(shù)量空間擴(kuò)展;
->任務(wù)的功能分解,功能空間擴(kuò)展。
未來(lái)多核CPU的不同內(nèi)核,如果賦予不同的功能,則更加容易組織成一個(gè)強(qiáng)大的分布式處理系統(tǒng),規(guī)避了軟件開(kāi)發(fā)在并行計(jì)算方面的困難。