昨天我們用Intel I9的10核,每個(gè)核2個(gè)threads的機(jī)器跑了內(nèi)核的編譯:
超線程SMT究竟可以快多少?
今天,我換一臺(tái)機(jī)器,采用AMD Ryzen。
默認(rèn)情況16核,每個(gè)核2個(gè)threads,共32個(gè)CPUs:
下面編譯內(nèi)核:
大約需要53秒。記得昨天用Intel I9 10核20線程需要2分鐘30秒左右。
再來(lái)一遍:
這說(shuō)明make clean, drop_caches后時(shí)間也差不多。51秒,53秒左右的正常抖動(dòng)范圍。
現(xiàn)在我們關(guān)閉smt,只保留16個(gè)CPU:
具體的關(guān)閉方法就是:
sudo sh -c ‘echo off 》 /sys/devices/system/cpu/smt/control’
這樣只剩下16個(gè)CPU,下面來(lái)編譯:
時(shí)間57秒,相對(duì)于51、53秒,速度下降不到10%。
這說(shuō)明超線程SMT對(duì)編譯內(nèi)核這個(gè)workload的性能的提升絕對(duì)沒(méi)有達(dá)到100%,甚至都沒(méi)有達(dá)到10%。
我們現(xiàn)在重新開(kāi)啟超線程:
sudo sh -c ‘echo on 》 /sys/devices/system/cpu/smt/control
看一下哪個(gè)CPU和哪個(gè)CPU是thread sibling:
看起來(lái)CPU0和CPU16是一對(duì),CPU1和CPU17是一對(duì),依次類推。
剛才我們關(guān)閉SMT是把CPU16-CPU31全關(guān)了,只留下每對(duì)里面的1個(gè)CPU,也就是留下了CPU0-CPU15。
在開(kāi)啟SMT的時(shí)候(假設(shè)藍(lán)色和紅色是一個(gè)CORE里面的兩個(gè)CPU):
在關(guān)閉SMT的時(shí)候,等于每對(duì)里面只留1個(gè)CPU:
現(xiàn)在我們換一種關(guān)法,一對(duì)對(duì)關(guān),只留下8對(duì),也就是8個(gè)core:
指令如下:
實(shí)現(xiàn)效果如下:
再重新編譯內(nèi)核:
現(xiàn)在耗時(shí)是1分21秒,相對(duì)于所有CPU全開(kāi),下降了很多,時(shí)間增大了59%,當(dāng)然沒(méi)有達(dá)到2倍。
再想想昨天的Intel I9,關(guān)閉5個(gè)完整核耗時(shí)是3分10秒,全開(kāi)10核是2分30秒,Intel一半核工作和所有核同時(shí)工作的差距遠(yuǎn)不如AMD那么明顯。
所以可以看出,就內(nèi)核編譯這個(gè)workload而言,AMD的16core相對(duì)于8core,性能的scale會(huì)更加成正比。當(dāng)然AMD開(kāi)關(guān)SMT,對(duì)內(nèi)核編譯這個(gè)workload而言,影響小于10%,而Intel I9的影響有14%。
很多童鞋昨天留言,說(shuō)編譯內(nèi)核有一定的IO bound,另外提到link階段是單線程,還有的童鞋說(shuō)是Intel Turbo的影響,這些我們都認(rèn)為是有一定道理的。但是,我始終堅(jiān)信,profiling是檢驗(yàn)猜想的唯一標(biāo)準(zhǔn),后面有空再寫一篇文章來(lái)profiling一些究竟是為什么。
這到底是為什么?牙膏廠的多核scalability究竟是不是騙紙?還是按摩店的部分核沒(méi)有Intel部分核的威猛模式?「元芳,你怎么看?」
責(zé)任編輯:haq
-
amd
+關(guān)注
關(guān)注
25文章
5589瀏覽量
136354 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1416瀏覽量
41428 -
intel
+關(guān)注
關(guān)注
19文章
3496瀏覽量
188448
原文標(biāo)題:這到底是為什么?牙膏廠的多核scalability究竟是不是騙紙?還是按摩店的部分核沒(méi)有Intel部分核的威猛模式?「元芳,你怎么看?」
文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
多個(gè)i.MXRT共享一顆Flash啟動(dòng)的方法與實(shí)踐(上)

熱成像儀為何都在瘋狂卷多核處理器?“多核大戰(zhàn)”背后的真相你知道嗎?
SEGGER SystemView支持多核行為的觀察和驗(yàn)證

MDMF304L1C9M-MINAS A6 系列 Block動(dòng)作應(yīng)用說(shuō)明資料 -I/F啟動(dòng)- 松下

阿里云ECS g9i全球邀測(cè)啟動(dòng)

集特工控機(jī)主板H110芯片組,支持6~9th Gen LGA1151 i9/i7/i5/i3/處理器
QorIQ?T1042多核處理器
MHMF084L1T9M-MINAS A6 系列 Block動(dòng)作應(yīng)用說(shuō)明資料 -I/F啟動(dòng)- 松下

MHMF084A1V9M-MINAS A6 系列 Block動(dòng)作應(yīng)用說(shuō)明資料 -I/F啟動(dòng)- 松下

MHMF084A1A9M-MINAS A6 系列 Block動(dòng)作應(yīng)用說(shuō)明資料 -I/F啟動(dòng)- 松下

基于全志T113-i多核異構(gòu)處理器的全國(guó)產(chǎn)嵌入式核心板簡(jiǎn)介
MHMF044L1B9M-MINAS A6 系列 Block動(dòng)作應(yīng)用說(shuō)明資料 -I/F啟動(dòng)- 松下

Keystone多核器件系列原理圖核查表

評(píng)論