瀏覽單個文章
NTC_TW_IT
Regular Member
 

加入日期: Jul 2014
文章: 89
記憶體控制器目前大多放CPU上
單SOCKET的系統一般不會牽涉到NUMA (不過要稍微注意一下SNC - sub-numa clustering喔)
以Intel scalable CPU架構來說,一顆CPU有兩組記憶體控制器,所以可以細切層兩組記憶體使用
以AMD EPYC來說~~一顆CPU有四組控制器,所以可以細切層四組記憶體使用
其他關於周邊resource像是PCIe,HDD相關的部分
如果以process level來看,讓特定process去consume特定硬體,這各行之有年了
在Linux實作,一般都是做CPU isolation,保留共用與OS必備資源(OS主要用途就是做資源調度)
只需人工把所需的process跟 "某些組" 的hardware resource綁定即可
舉個例子
系統在開了HT的條件下共有88個邏輯核心,共2 socket CPU(Intel scalable),可以在每個SNC保留20個邏輯核心,也就是說每組SNC各扛2個基礎運作或共管
開啟4各VM,每個VM都照SNC去對應核心,如此一來記憶體與CPU的資源就切開了
PCIe相關設備的分離,就是要把原定kernel處理的driver稍做處理
把driver綁到自己想要的核心即可(intel網卡Linux driver package裡面有相關資源可以看)
回到EPYC,目前暫時感想是transcoding效果比intel好喔~IO的效能~~沒注意^^"可能差不多吧
     
      
舊 2019-08-27, 07:49 AM #21
回應時引用此文章
NTC_TW_IT離線中