企術(shù)建站公司網(wǎng)站設計方案
該工具發(fā)布背景
近年來,國產(chǎn)服務器CPU產(chǎn)業(yè)的逐漸發(fā)展,但由于專業(yè)性較差,與國外存在40年以上技術(shù)差距,一些服務器CPU廠商利用信息差來制造一些非專業(yè)的數(shù)據(jù)夸大并虛假宣傳混淆視聽,成功達到劣幣驅(qū)良幣的目標,本著正本清源驅(qū)除劣幣以正視聽讓國產(chǎn)服務器CPU產(chǎn)業(yè)達到良性競爭的目標,四川墨道科技放出部分專業(yè)的異數(shù)OS服務器CPU效能分析工具,讓更多業(yè)內(nèi)人士能夠更加準確的認識分辨國產(chǎn)服務器CPU性能,以此幫助落后40年的國產(chǎn)服務器CPU開發(fā)商能夠找到自身產(chǎn)品缺陷不足來提高優(yōu)化產(chǎn)品。
差距40年的依據(jù)是什么?
甲骨文公司成立于1977年,其產(chǎn)品Oracle壟斷全球高端市場40年,阿里自2012年開始去IOE戰(zhàn)略,截至2023年,其核心產(chǎn)品OceanBase在當今最強大的服務器CPU加持下,其TPS性能僅相當于2010年Oracle RAC(甲骨文自研的CPU)性能的三分之一,因此有理由相信在服務器領(lǐng)域,中美差距至少在40年。
這個工具測的什么?
服務器CPU和桌面CPU實際上有非常大的不同,桌面CPU通常注重IPC和頻率,但服務器CPU則受到存儲墻約束而更看重多核numa互聯(lián)訪存效率,為何會這樣?因為CPU的IPC性能差距通常不會高于1個數(shù)量級,但是numa互聯(lián)訪存效率則會導致CPU的IPC利用效率下降2到3個數(shù)量級,因此專業(yè)的服務器開發(fā)商通常都不關(guān)心CPU的IPC和頻率,而更關(guān)心numa互聯(lián)效率及其優(yōu)化方案,因此異數(shù)OS的這個服務器CPU分析工具并不測試CPU的IPC,而主要測試項目是CPU Diff,當然這個CPU Diff和其他測試工具有不同點,他的主要目標是更加深入的揭露一些CPU廠的作弊行為,CPU廠一般處于自身利益考慮,只放出最小延遲的CPU Diff,這個Diff是不負責任并有害的,因為最小延遲測試同一時間只啟動兩個CPU核做延遲測試,其他核都是空載空閑的,這與實際云環(huán)境不同,云環(huán)境一般多核訪存負載都很高,并且無法做針對性的numa優(yōu)化,這時測到的CPU延遲會成十倍甚至百倍的增加,從而使IPC下降到甚至不足百分之一,因此CPU廠通常為了掩蓋問題真像而只提供最小互聯(lián)延遲,并讓這個成績好看,這種行為甚至能忽悠到很多專業(yè)的服務器開發(fā)商,但這個成績在更多時候可能要反著理解才有意義,因為一些做了numa分布式內(nèi)存解決方案的cpu,最小延遲表現(xiàn)可能是很差的,但擁塞延遲效率卻會提高,反而是一些沒有做numa分布式內(nèi)存的cpu,最小延遲數(shù)據(jù)很好看,但擁塞延遲完全不能入眼。
因此異數(shù)OS的 CPU Diff工具提供了擁塞延遲測試數(shù)據(jù),擁塞延遲是所有CPU核同時啟動延遲測試得到的CPU延遲數(shù)據(jù),之后通過擁塞延遲與最小延遲的比值來得到擁塞延遲效率,單位為千分之一,該值體現(xiàn)服務器CPU全核負載下的真正效率,這個效率可用于分析云上實際部署后的性能,比如擁塞效率是千分之十,則說明一個100核的服務器CPU在訪存滿載時性能不如一個單核CPU。
12700H win平臺例子
打開工具選擇第10項,CPU Diff,測得12700H測得的延遲表現(xiàn),以此舉例說明,Core-MinLatencyTest是最小延遲測試,單位是ns他的成績幾乎和CPU廠發(fā)布的最小延遲數(shù)據(jù)一致,Core-ThrongLatencyTest是擁塞延遲測試,數(shù)值超過999ns時顯示溢出,Throng efficiency是擁塞訪存效率,他是Core-ThrongLatencyTest成績和Core-MinLatencyTest成績的比值,單位是千分之一,如果Core-ThrongLatencyTest數(shù)值顯示溢出,可用Throng efficiency反推擁塞延遲,可以看出12700H的最小延遲測試成績很優(yōu)秀,無論大核小核都只有40ns到50ns延遲,但在擁塞延遲測試中,大核延遲則增加了10倍,小核延遲增加了20倍,這說明你的游戲客戶端或者服務器在做粒子物理仿真時開更多的核是無意義的,開2到4個CPU核甚至只開1個核反而更優(yōu),小核12訪問小核19最小延遲45ns,但擁塞延遲已超過999溢出,擁塞延遲效率千分之39,因此反推出擁塞延遲為1153ns,通過對比最小延遲分布和擁塞延遲分布可以發(fā)現(xiàn)最小延遲分布僅有1個梯度,而擁塞延遲分布有3個梯度,擁塞延遲梯度分布更加符合numa互聯(lián)瓶頸的分布梯度,因此更加符合云服務器實際有負載時的場景情況。
平臺支持
該測試工具目前支持x64 arm64 sw64三種指令集,采用靜態(tài)鏈接編譯,不開放源代碼,因此不存在編譯優(yōu)化,操作系統(tǒng)優(yōu)化,libc優(yōu)化作弊等問題,另外在linux上需要開啟numa巨頁支持,一些國產(chǎn)服務器CPU可能由于不專業(yè)所以沒有做好numa巨頁支持,這需要服務器CPU廠自己解決。numa巨頁支持屬于服務器必不可少的選項,在很多基礎(chǔ)軟件中都有大量使用,比如大多數(shù)的數(shù)據(jù)庫軟件,numa 巨頁的開啟方法見后面兩張圖,分別是申威sw1621,阿里云安培32核arm的,其他平臺可以照抄或自行研究。
下載鏈接
Github下載地址