歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 超線程加快Linux操作系統的速度(2)

超線程加快Linux操作系統的速度(2)

日期:2017/2/25 10:37:05   编辑:Linux教程

超線程加快Linux操作系統的速度(2)

Xeon 處理器中的超線程支持

  在通用處理器中 Xeon 處理器最先實現同步多線程(SMT)(請參閱參考資料以獲取有關 Xeon 處理器系列的更多信息)。為達到在單一物理處理器上執行兩個線程的目標,該處理器同時維持多個線程的上下文,這允許調度程序並發分派兩個可能無關的線程。

  操作系統(OS)將多個線程代碼調度和分派給每個邏輯處理器,就如同在 SMP 系統中。沒有分派線程時,相關的邏輯處理器保持空閒。

  當將一個線程調度和分派給邏輯處理器 LP0 時,超線程技術利用必需的處理器資源來執行該線程。

  當將第二個線程調度和分派給第二個邏輯處理器 LP1 時,就要按需為執行該線程而復制、劃分或共享資源。每個處理器都在管道各點上進行選擇,以控制和處理這些線程。當每個線程完成時,操作系統將未用的處理器置為空閒,釋放資源讓正在運行的處理器使用。

  OS 將線程調度和分派給每個邏輯處理器,就好像是在雙處理器或多處理器系統中進行的那樣。當系統調度線程並將之引入到管道中時,按需利用資源以處理這兩個線程。

  Linux 內核 2.4 中的超線程支持

  Linux 內核將帶有兩個虛擬處理器的超線程處理器看成是一對真正的物理處理器。其結果是,處理 SMP 的調度程序也應該能處理超線程。Linux 內核 2.4.x 中的超線程支持始於 2.4.17,它包括了以下增強技術:

  128 字節鎖對齊

  螺旋等待循環優化

  基於非執行的延遲循環

  檢測支持超線程的處理器,並啟動邏輯處理器,如同該機器是 SMP

  MTRR 和微碼更新(Microcode Update)驅動程序中的串行化,因為它們影響共享狀態

  在邏輯處理器上的調度發生之前,當系統空閒時對物理處理器上的調度進行優先級排序時,對調度程序進行優化

  偏移用戶堆棧以避免 64K 混疊

  內核性能測量

Copyright © Linux教程網 All Rights Reserved