伺服器設計:單核高效能,或是多核高效能

規劃伺服器的時候,面對挑選 CPU 的時候比較應該選擇單核高效能,或是多核高效能的問題時,應該先考慮系統設計是優先回應 (faster user response time),或是盡可能的同時處理更多需求 (more concurrent requests)。再用 Transaction Per Second 繪製 X 軸為 Concurrent User 與 Y 軸 Response Time 回應時間的多組 CPU 曲線,利用視覺化的圖表比較差異。

但除了技術問題,另外需要考慮軟體授權的計算方式。如果是依照核心數計算 (Core Count),例如 VMware,多核心的單位交易成本未必相對於高效能核心有優勢。在 Intel Alder Lake 的異質架構下,E-core 效能相對不如 P-core 卻需要計算授權費用,多核心反而成為缺點。

Database Administrators: CPU clock speed versus CPU core count - higher GHz, or more cores for SQL Server?
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
文不對題

如果說的是伺服器"設計"
那無論單核高效能與多核高效能其實都在規劃產品的定位上
目前CPU常見的廠商,Intel, AMD, Arm這些特性都不一樣
大部分做伺服器的公司也都會因應產品應用面去區分產品線
如:Computing Server, Storage Sever, High density Server, Multi Node Server, edge server, Telcom Server, GPGPU Server, 5G Server...etc.

如果說的是伺服器"選擇"
那應該比較接近樓主說的
CPU的單核高效與多核選擇
Storage數量的選擇
機殼外型的選擇(其實是使用空間)
GPGPU的支援
甚至於擴充卡的選擇或是PSU的選擇
以上這些都是要考慮的

而所謂的考慮
不就是產品使用定位上去思考"需求"
你標題是不是打錯?

單核高效能或是多核高效能那怎麼選就只會選多核高效能吧?

除非是在成本與散熱上有訴求.

基本上能單一核心就夠的話就也不需要更多核心的產品,
為什麼有多核心的出現就是因為單一核心的效能出現了瓶頸,
那要增加效能就只好橫向發展的朝多核心的方向走.
至於單一高效和複數低效的選擇,
我只能說見仁見智,各憑所需.

但如果排除其他影響與總效能是相等的的前提下,
單一核心可能會擁有更多的優勢,
畢竟不是所有的工作都可以多工的,
而且多工你還得加上分解與合成的工序,
當然原本就是多個不同工作的就再說

再回到前面
以目前的狀況來看
單一核心的效能看不到太大的進步空間,
但是核心數量要增加就容易多了,
那麼研發成本與實際銷售價格就能回答了這個問題.

至於那甚麼授權是啥意思我不太懂,
多個授權費就打死不用的意思?
而且這也不是用等核心數去比的問題.
又好比你j1900就夠用了,e核都比這強不知道多少,更不用說p核,
結果就是j1900繼續用,甚麼p核e核滾一邊去.
伺服器很早之前就已經是「多核架構」了
更早之前也早已經是以叢集的方式在運行
所以這篇應該是在講「較少核心但是高頻率」對「較多核心但是低頻率」那一個比較好
其實現狀是「較多核心但是低頻率」已經成為主流了
而目前伺服器會更換較慢是因為軟體及商業保固支援的問題
所以答案已經出來了

另外
現在對intel最大的問題應該是「較多L3快取但是低頻率」對「較少L3快取但是高頻率」那一個比較好比較重要
因為伺服器的高耗能是近二十年來的「大問題」
加上最近的能源危機
這個比較重要吧

個人是看好「較多L3快取但是低頻率」
畢竟愈來愈肥大的系統
可以用來暫存用的快取記憶體是多多益善的
被民主、被言論自由、監督人民、大內宣、性騷擾,真是「共規綠隨」。挺台獨,去當兵。
amigotechnotes wrote:
規劃伺服器的時


首先你要弄清楚,你在講的是什麼類型的伺服器,它負責的實際任務是什麼。

再開始講底下你在想講的東西。
j808010
沒錯,群體太大,不能一體適用
altoph wrote:
伺服器很早之前就已經(恕刪)

高度平行化應用核心跟效能成正比 核心翻倍效能也幾乎翻倍
但處理器單核效能要翻倍 電晶體數疊到三四倍也不見得有翻倍提升
不如把那些電晶體數拿來造更多核來的有效益

伺服器也注重能耗比 低頻多核 才能降低營運成本 電費也是很貴的
ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้
ya19881217 wrote:
高度平行化應用核心跟(恕刪)
這個在台積電製程升級下
其實多核頻率下降的程度跟以往相比已經下降減少很多了

以前的製程 多核必須要大幅下降頻率 才能換來核心增多的低頻效益
結果AMD 家用產品在台積電暴力增核後 頻率下降沒以前大
以至於增核後 效能暴漲

然後回頭去看早已出的伺服器U也是這種狀況
所以AMD伺服器能維持降低較少的頻率 獲取更高的效能 還能多核穩定運作
一直暴力增核 測試台積電底限 能榨出多少效能
才會AMD近年陸續搶下伺服器市場的市佔


也才會有那個AMD伺服器U核心又暴力炸裂多少核的新聞一直冒出


簡單講
AMD
增核 頻率下降幅度又低
效能就炸裂了

對照組
intel
增核 頻率下降幅度沒比AMD低(要降更多)
效能有提升 但沒AMD多 而功耗炸裂了
                              彈幕濃!
ya19881217
以伺服器效能算力上 AMD目前是領先INTEL好幾個層級。PC是有來有往,伺服器方面是全方位被吊著打...。96C 跟128C的產品都端出來了.......製程真的好重要
pc8801
如果你是要說在大家還在用雙核的時代要做八核十核可就有你說的問題.
pc8801 wrote:
你標題是不是打錯?單(恕刪)


Hi pc8801,

謝謝您的分享!

因為我目前正在開發 LAMP 的 Family Finance 軟體,需要提供建議伺服器規格,才有這篇發文。

> 你標題是不是打錯?
> 單核高效能或是多核高效能那怎麼選就只會選多核高效能吧?

我理解我的繁體中文文法不好,用語不夠精確,可能讓閱讀者誤會。

我想研究的是在下面這張表格中的 G3900 與 J4105 的狀況,G3900 的單核心效能高於 J4105,但 J4105 擁有更多的核心數,在多核心效能較高:





> 基本上能單一核心就夠的話就也不需要更多核心的產品,

我曾經寫過 How Multi-Core Processors Accelerate your LAMP Applications,一般 Apache 都沒有啟用 MPM 模組,CPU 能提供多少 Thread,就限制住伺服器最大並行處理能力,在我先前在許多不同的 NAS 上測試 SugarrCRM,例如 QNAP TS-269L as a SugarCRM Application Server Performance Report,觀察到的現象。

> 為什麼有多核心的出現就是因為單一核心的效能出現了瓶頸,
> 那要增加效能就只好橫向發展的朝多核心的方向走.
> 至於單一高效和複數低效的選擇,
> 我只能說見仁見智,各憑所需.

所以我才會提出,應該先考慮系統設計是優先回應 (faster user response time),或是盡可能的同時處理更多需求 (more concurrent requests),再決定要選擇 CPU 要著重在單核心效能,或是多核心效能。

以 G3900 與 J4105 比較,舉個例子,當執行 SugarCRM 的時候,如果並行使用者人數為 2,G3900 可以更快回傳結果。但如果為 4,反而是 J4105 比較快。

因此,當我的目標是家庭使用者的時候,我就必須要提供思考框架,協助他們判斷需要的家庭伺服器。如果是 3 ~ 4 人小家庭,雙核心就足夠。但增加為 8 人的時候,四核心或許比較適合。類似這樣的建議。

> 畢竟不是所有的工作都可以多工的,

我最近讀到關於 Turbo 與 HT 比較適合在未針對 Multi-threading 最佳化的程式,可以大幅提高效率,確實如此。

> 至於那甚麼授權是啥意思我不太懂,

這是在 StackExchange 讀到的觀點,我認為很突破我的盲腸,帶來新的思考點,擴增思考框架,所以提出多核心也有可能影響授權費,並不是買越多核心越划算。

Best regards,

Amigo
amigotechnotes wrote:
Hi pc8801,(恕刪)


LAMP 架構基本上反應就是慢了
現在走 PSR-7 架構,搭配 ROADRUNNER 或 Swoole 這類的可以讓 PHP 重複使用已經載入的框架才會快

而你說的應用,基本上在 LAMP 架構上也是會因為連線數量來決定 process fork 出來的數量對吧
那這樣當然核心越多越好啊 , 除非你做的是應用是連線數量非常非常少,且還要靠 PHP 做吃重運算,那麼 CPU 單核性能高才會適合,因為 PHP 本身架構問題要在 LAMP 中的單一 process 做到 multiple threading 去使用額外核心資源是很難做到的
pc8801
還是要看你單核高效能是能高到甚麼程度
amigotechnotes
我先前有在雙核心 NAS 上測試 SugarCRM,如果在一個瀏覽器登入,同時打開多個連線,也只能依序處理,這時單核效能高可以降低單一頁面等待時間,先閱讀處理好的頁面。
amigotechnotes wrote:
Hi pc8801,(恕刪)

既然是要「提供建議伺服器規格」那就依「軟體性質」來推薦
如果需要大量的並計算就以多核為主
畢竟一次算一組跟一次算四組效率上差很多

intel為何在「消費級」產品上重視單核效能
那是因為市場評估後的結果
因為大部分的使用者多數只使用到單核心的計算能力(文書)
實際上在「伺服器級」的產品上還是重視「多核心」效能
只是近年來被AMD做掉了(cpu計算架構設計所限制)

然後
Athlon系列:入門「消費級」產品
G系列:低階入門「消費級」產品
J系列:「低耗能」「消費級」產品
N系列:移動版「超低耗能」「消費級」產品
基本上產品定位完全不同…
Athlon系列:只砍核心數,有HT,其他與ryzen相同(AMD_Athlon_3000G_vs_AMD_Ryzen_3_3200G)
G系列:砍核心數、基礎頻率、L3 cache,無HT,其他與I系列相同(Intel_Celeron_Dual-Core_G3900_vs_Intel_Core_i3_i3-6100)
J系列:功耗設計15W以上,追求「低耗能下」的處理效率
N系列:功耗設計6W~10W,追求「低耗能下」的處理效率
基本上就是不同的產品定位
所以「犧牲」的部分有所不同
不建議橫向比較

單就Athlon 3000g vs n5105挑選…(https://technical.city/en/cpu/Athlon-3000G-vs-Celeron-N5105)
只能測了之後才知道…
雖然實體核心數效能>HT(虛擬核心數)效能
但是N系列在「重負載」下的效能約只有Athlon的一半(L2 cache共享1.5M平均下來是比較小的)
個人會加價選ryzen
被民主、被言論自由、監督人民、大內宣、性騷擾,真是「共規綠隨」。挺台獨,去當兵。
amigotechnotes
我有 Athlon 3000G 與 J4025 的主機,前者 Idle 最低 1.6GHz 的限制,必須要 Zen2 以後搭配 Kernel 15.15 才能節省閒置耗電,很可惜。
altoph
是啊,3050U好像只有筆電有,不然功耗接近J4125,說不定就是很好的選擇。
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!