【Linux 内核】SMP 对称多处理器结构 ( SMP 对称多处理器结构概念 | SMP 对称多处理器结构的优势与缺陷 | Linux 内核兼容多处理器要求 )
文章目錄
- 一、SMP 對稱多處理器結構概念
- 二、SMP 對稱多處理器結構的優勢與缺陷
- 三、Linux 內核兼容多處理器要求
一、SMP 對稱多處理器結構概念
對稱多處理器結構 , 英文名稱為 " Symmetrical Multi-Processing " , 簡稱 SMP ;
SMP 又稱為 UMA , 全稱 " Uniform Memory Access " , 中文名稱 " 統一內存訪問架構 " ;
在 " 對稱多處理器結構 " 的 系統中 , 所有的 CPU 處理器 的 地位 都是 平等的 , 一般指的是 服務器 設備上 , 運行的 多個 CPU , 沒有 主次/從屬 關系 , 都是平等的 ;
這些處理器 共享 所有的設備資源 , 所有的資源 對 處理器 具有相同的 可訪問性 , 如 : 磁盤 , 內存 , 總線 等 ; 多個 CPU 處理器 共享相同的物理內存 , 每個 CPU 訪問相同的物理地址 , 所消耗的時間是相同的 ;
二、SMP 對稱多處理器結構的優勢與缺陷
SMP 對稱多處理器結構 的 系統 ,
優點 : 避免了 結構障礙 , 其最大的特點是 所有的資源共享 ;
缺點 : SMP 架構的系統 , 擴展能力有限 , 有瓶頸限制 ;
如 : 內存瓶頸限制 , 每個 CPU 處理器必須通過 相同的總線 訪問 相同的內存資源 , 如果 CPU 數量不斷增加 , 使用同一條總線 , 就會導致 內存訪問沖突 ; 這樣就降低了 CPU 的性能 ;
通過實踐證明 , SMP 架構的系統 , 使用 222 ~ 444 個 CPU , 可以達到利用率最高 , 如果 CPU 再多 , 其利用率就會降低 , 浪費處理器的性能 ;
三、Linux 內核兼容多處理器要求
有多個 CPU 處理器 的 系統中 , Linux 內核需要處理的問題 :
① 公平共享 : CPU 的負載 , 需要公平地共享 , 不能出現某個 CPU 空閑 , 造成資源浪費 ;
② 可設置進程 與 CPU 親和性 : 可以為 某些類型的 進程 與 指定的 處理器 設置 親和性 , 可以針對性地匹配 進程 與 處理器 ;
③ 進程遷移 : Linux 內核可以將 進程 在 不同的 CPU 處理器之間進行遷移 ;
Linux 內核 的 SMP 對稱多處理器結構 調度 , 核心就是 將 進程 遷移到 合適的 處理器上 , 并且可以保持 各個 處理器 的 負載均衡 ;
總結
以上是生活随笔為你收集整理的【Linux 内核】SMP 对称多处理器结构 ( SMP 对称多处理器结构概念 | SMP 对称多处理器结构的优势与缺陷 | Linux 内核兼容多处理器要求 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux 内核】实时调度类 ⑦ (
- 下一篇: 【Linux 内核】进程优先级与调度策略