第8章 多處理機系統
根據消息傳遞的方法
1. 共享存儲器多處理機
2. 消息傳遞多計算機
3. 廣域分布式系統
多處理機
共享存儲器處理機,其兩個或更多的CPU全部共享通路一個共用的RAM,運作在任何一個CPU上的程式都看到一個普通(可分頁)的虛拟位址空間。
多處理機硬體
UMA:Uniform Memory Access
基于單總線的UMA
最簡單的多處理機是基于單總線的,多個處理器與一個集中的存儲器相連,每個處理機可以分為不同存儲器子產品中的單元,以及與其它處理機進行通信。
為了解決總線帶寬的限制,可以為每個CPU添加一個高速緩存,甚至,還可以有一個私有存儲器,它通過一個指定的私有總線通路。這樣,私有資料可以放進去,共享資料可以放入共享存儲器。
使用交叉開關的的UMA
連接配接n個CPU到K個存儲器的最簡單電路就是交叉開關,每個交叉開關均為其中兩個結點(CPU與存儲器)之間提供一條專用連接配接通路。
交叉開關最好的特性是非阻塞網絡,缺點在于交叉點數量以指數級增長
使用多級交換網絡的UMA
在單級交叉開關網絡結構的基礎上,将多個單級交叉開關分級連接配接起來,形成了多級開關網絡。在相鄰交叉開關級之間,設定固定的實體連接配接。處理機何如存儲器子產品分别位于網絡的兩側,每台處理機通過網絡通路存儲器子產品,而且所有處理機的通路方式都是一樣的,機會均等。
Omega網絡的全混洗
NUMA多處理機
各個節點之間通過一條公共總線或者互連子產品進行連接配接和資訊互動,每個節點又可以由多個處理機組成,它們分别擁有各自獨立的本地存儲器、IO裝置等,并通過一條局部總線與一個單獨的主機闆上的共享存儲器連接配接。
NUMA的三層存儲器:1、本地存儲器 2、群内共享存儲器 3、全局共享存儲器或其它節點存儲器
基于目錄的多處理機,維護一個表示每個告訴緩存行的位置和狀态的資料庫。當一個高速緩存行被引用時,就查詢資料庫找出它的位置以及它是幹淨的or髒的。
多處理機作業系統類型
1. 每個CPU都與自己的作業系統
2. 主從多處理機
3. 對稱多處理機:在存儲器裡有作業系統和的副本,任何CPU都可以運作它。
多處理機同步
必須采用一個合适的互斥信号量協定,保證所有的CPU順利工作,任何互斥信号量的核心都是一條指令,該指令允許檢測一個存儲器并以一種不可見的方式操作設定。TSL(Test and Set Lock)
減少總線流量的方法:
1. 高速緩存,帶鎖
2. 以太網二進制指數補償算法,不采用連續輪詢,而是把一個延遲循環插入輪詢,如果鎖忙,延遲被加倍成為兩條指令。。。
3. 讓每個打算獲得互斥信号量的CPU都擁有各自的測試用私有鎖變量
多處理機排程
1. 分時系統,時間片排程
2. 空間共享
3. 群排程
多計算機
多計算機硬體
互連技術:星形、環形、網格、雙凸面、立方體、超立方體
交換機制:存儲轉發包交換、電路交換
負載均衡
1. 圖論确定算法
2. 發送者發起分布式啟發算法
3. 接收者發起分布式啟發算法
4. 競标算法
分布式系統
網絡硬體:以太網、網際網路
網絡服務:面向連接配接、無連接配接
網絡協定:IP和TCP
基于文檔的中間件
基于檔案系統的中間件
基于共享對象的中間件
基于協作的中間件