The 64 Core Threshold (Windows) - 3C

Adele avatar
By Adele
at 2020-06-23T18:57

Table of Contents

The 64 Core Threshold – Processor Groups on Windows
https://bitsum.com/general/the-64-core-threshold-processor-groups-and-windows/


這是軟體Process Lasso的文章

買AMD 3990X要注意 (電蝦點

Windows上有個64核心的限制

超過會增加processor groups

產生的問題之一

就是不容易把效能用盡

如果應用程式不知道這個限制的話

專業用途還是別用Windows (連server版都別用

拿來數框框就好

知道我英不出多核和關HT的原因了吧(誤



延伸閱讀:

https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups


翻譯本文(雖然翻譯完我更懂了,但是還是建議直接看原文):


TL; DR –微軟通過添加processor group, 解決 (原文hacked)了對64個以上logical
CPU cores的支援。除非編寫應用程式利用多個processor group(processor group
aware),否則將僅調度到單個處理器組(ex: 128 logical processors = group1 +
group2;單個意謂著只有group1)。請參閱我們新的groupextend項目,以通過調度補充處
理器組的線程來使不知道processor group的應用程式充分利用CPU,Process Lasso現在
也提供了此功能。

隨著具有64個以上邏輯CPU核心的系統變得常見,了解Windows的一些基本限制也變得重要
起來。當初設計Windows NT時,使用64位bitmask表示整個系統中的CPU affinities。對
於當時使用的單核CPU來說,這似乎是足夠的。現在,64個核心的限制已經不夠了。為了
解決這個問題……

Windows 2008 R2導入了processor group,以支持64個以上的邏輯CPU核心。每個組最多
具有64個核心。現有的API和系統功能可以繼續接受64位CPU affinity bitmasks,因為它
們隱式地在單個處理器組上運行。這意味著,應用程式在沒有相應的處理的情況下,每個
process都限於一個處理器組,最多不超過64個邏輯核心。

因此,您在“Process Lasso”中看到的process(應用程式)CPU affinity是應用程式的
預設處理器組。作業系統就是這樣應對的。因此,如果您擁有96個邏輯核心系統,則將看
到多達48個邏輯核心的應用程序CPU affinity。如果應用程式在第一組上,則該CPU
affinity將代表前48個邏輯核心。如果應用程式在第二組中,則CPU affinity將代表後48
個邏輯核心。

預設處理器組是以輪循方式分配的,通常是per-session分配,因為CPU affinity是
繼承的,因此session load最終大致分配在處理器組之間。應用程式啟動後,將無法更改
其預設的處理器組。

但是,可以將應用程式中的各個threads手動分配給該應用程序的預設組以外的組。
SetThreadGroupAffinity和其它thread API支援處理器組的規範。這樣,一個應用程式的
threads可以在多個處理器組上運行,但是必須手動分配它們。理想情況下,這是由應用
程式開發人員實現的,因為了解threads在做什麼以及應將threads放置在何處非常重要


將threads分配給應用程式預設設置以外的其它組後,該應用程式將成為一個多組。但是
,新threads將繼續使用應用程式啟動時分配的預設組。

當應用程式的threads跨越多個處理器組時,由於該應用程式的CPU affinity bitmask僅
適用於應用程序式啟動時分配的預設處理器組,因此可能會造成混淆。

處理器組通常由少於64個核心組成,因為它們不能跨越NUMA節點,並且必須平均劃分。擁
有不同大小的處理器組是奇怪的,這導致應用程式根據分配給它們的處理器組而獲得更多
或更少的核心。

因此,在具有72個邏輯CPU核心,分為兩個NUMA節點的系統上,將創建兩個處理器組,每
個處理器組具有36個邏輯CPU核心。

這創建了一個有趣的場景,其中具有多達64個核心的Windows系統可能允許應用程式訪問
比具有64個以上核心的系統更多的核心。(Ex:64 (64 x 2) > 72(36 x 4), Z > B...原文
後面有個更清楚的例子)

為了演示其影響,我們想像一個不知道處理器組的應用程式,恰當地命名為
UnawareOfGroupsApp.exe。

如您所見,在48核系統上,我們的不知道procssor group的應用程序可以訪問48個CPU核
,而在72核系統上只能訪問36個!如果這種情況下出現問題,則您的選擇如下:

1.禁用超線程/ SMT,以將邏輯核心數減少到64個或更少,從而導致整體計算能力下降
。由於單個處理器組包括所有可用的內核,因此這將允許組不知道的進程使用更多的內核


2.請與應用程式開發人員聯繫,以使他們對其進行修改以使其能夠識別processor
group。

3.與Bitsum聯繫以了解我們能為您做什麼。我們可以適應團體不了解的應用程序。更新
:請參閱下面的groupextend工具。

使用這種設計,用戶應該在升級硬體之前檢查應用程式的組支持,並嘗試選擇CPU核心計
數為64的倍數的硬體,因為這將得到最大的處理器組大小。

--
Tags: 3C

All Comments

Hedda avatar
By Hedda
at 2020-06-24T05:42
winter:4c8t
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2020-06-24T20:45
n
Erin avatar
By Erin
at 2020-06-27T15:17
intel:核心太多沒有必要
Rebecca avatar
By Rebecca
at 2020-06-29T01:34
還好4c8t沒有這個問題
Erin avatar
By Erin
at 2020-07-03T18:34
就是一個超市有128個收銀台,但經理關了64個收銀台
,又強迫1個店員要負責兩個收銀台
Emma avatar
By Emma
at 2020-07-04T02:07
AMD就專門破壞和諧,沒那麼多核哪會有人知道有這個
問題
Agatha avatar
By Agatha
at 2020-07-06T16:01
開兩個32核的虛擬機裝win10就可以了嗎
Zenobia avatar
By Zenobia
at 2020-07-08T20:04
裝Linux就好
Agatha avatar
By Agatha
at 2020-07-12T00:40
少核和關HT?呵呵 二十年前60核心電腦設計老早考慮
的東西又被提出來了
Jacky avatar
By Jacky
at 2020-07-12T17:06
問一下 買3990 跑3DMAX 不用Windows 能用啥系統
Gilbert avatar
By Gilbert
at 2020-07-14T03:24
3D軟體只要去炎上一下,廠商就會改出來了
Irma avatar
By Irma
at 2020-07-16T19:18
文章也太舊XD
Christine avatar
By Christine
at 2020-07-20T02:52
沒有AMD神奇膠水 不會有人注意
到windows有限制
Dora avatar
By Dora
at 2020-07-21T17:08
但64核對正常人也超級多了
Poppy avatar
By Poppy
at 2020-07-26T04:44
要寫到能用盡64核的程式其實用GPGPU會更快吧
Carolina Franco avatar
By Carolina Franco
at 2020-07-29T23:13
很多東西通用GPU是還算不出來的,
硬要CPU的CODE改成GPU,
先看老闆願不願意加薪,
文章也講了手動指定thread就不用太在意64核的限制
Leila avatar
By Leila
at 2020-08-01T16:40
大家都知道GPGPU快 重點是 你願意寫嗎?
Quintina avatar
By Quintina
at 2020-08-02T15:24
GPGPU這麼屌 AMD Fusion就不會死這麼難看 懂?
Zora avatar
By Zora
at 2020-08-06T10:01
fusion現在反而是i皇努力的目標

台積電300人團隊與蘋果合作高性能ARM處理

Hedy avatar
By Hedy
at 2020-06-23T18:01
台積電300人團隊與蘋果合作高性能ARM處理器:多路至強級 https://news.mydrivers.com/1/696/696725.htm 今晚蘋果的WWDC大會上,除了iOS 14、Mac OS系統之外,最受人關注的一件事恐怕要屬蘋 果推出ARM處理器取代使用15年之久的x86處理器了。消息稱, ...

安耐美LIQTECH TR4 II系列提升保固年限

Kelly avatar
By Kelly
at 2020-06-23T17:07
官方出來說明了,所以就是增加保固時間,反正有問題就是送修去更換。 --------------------------------------------------------------------------------- 「對不起!讓您久等了!」 首先對於支持安耐美的粉絲們,我們必須致上十二萬分的 ...

ASUS 客服透露 B550 ITX 上市時間

Quintina avatar
By Quintina
at 2020-06-23T15:28
上週透過客服信箱詢問 ROG STRIX B550-I GAMING 的上市時間, 得到回覆如下: 您好,經確認此款主機板預計會在7月底上市, 正式鋪貨時間需視各大經銷商下單狀況。 謝謝! https://imgur.com/yGexkcD -- 心已死,乾脆等 Zen 3 出來再一起上, ...

30K 遊戲+影音+剪輯

Frederic avatar
By Frederic
at 2020-06-23T14:37
已買/未買/已付訂金(元):未買 預算/用途: STEAM遊戲(巫師3+碧血狂殺2+古墓奇兵+刺客教條等) 看影集、電影,也會有一些影片剪輯 CPU (中央處理器):*8390組合價* AMD Ryzen5 3600 MB (主機板):*同上組合價* 華碩 TUF B450M-PRO GAM ...

ROG Maximus XII Formula - AI超頻, 更

Tom avatar
By Tom
at 2020-06-23T14:13
ROG Maximus XII Formula - AI超頻, 更快的網路, 更強的供電 2020年Q2 Intel 推出了新的平台 Coment lake, 這是基於五年前的Skylake架構改進的, 維持著14nm, 從Core i7-6700K 4C/8T, 進化到Core i9-10900K 10 ...