-
1 # cnBeta
-
2 # Echa攻城獅
日前世界知名CDN廠商Cloudflare公佈了自己的新一代伺服器架構Gen X。作為技術最先進的CDN加速廠商,Cloudflare以自己特有的任播(Anycast)技術實現全球服務網路上每臺伺服器都可以執行每項服務。其安全防禦方面也做的非常棒,基於1.1.1.1的公共DNS能抵禦全球最大規模的DDOS攻擊。本文我們一起來學習Cloudflare的新一代伺服器架構Gen X
任播服務網路
Cloudflare設計並構建了遍佈全球的服務網路,可以夠快速,廉價地增加容量。允許任意城市(200個城市)中的每臺伺服器執行任何服務。可以實現服務網路上實現使用者服務和流量的自動切換和轉移。服務網路使用透過標準的商品硬體,管理系統可以實現對服務網路中開發人員程式碼和客戶程式碼的自動部署和執行,使用者無需關注底層硬體和軟體架構。
傳統的服務網路構建方法是使用專用伺服器來執行多個分散的網路,這些專用伺服器旨在執行特定功能,例如防火牆,DDoS保護或工作站等。但是這種方法會導致資源浪費和閒置,並極大的降低對硬體升級和採購的靈活性。
而使用統一單一的硬體架構可以同時提供安全性和效能優勢,還可以提供自定製等和採購等方面的靈活性。
Cloudflare服務網路實現將Web請求路由到最近的資料中心,從而提高效能並最大程度地抵禦攻擊。
選擇了資料中心後,Cloudflare用自定義負載平衡系統Unimog來動態平衡不同代伺服器之間的請求。
Cloudflare服務網路可以不同層次上進行負載平衡:城市之間,城市間的物理部署之間,外部公網埠之間,內部光纜之間,伺服器之間以及伺服器內的邏輯CPU執行緒之間。
隨著需求的增長,可以透過任意在全球可用資源池中透過簡單新增新的伺服器,網路接入點(PoP)或新的城市實現進行擴容。
Cloudflare服務架構體系下,全球200個城市中任意資料中心都不用專門的運維人員來維護,而只需依靠託管裝置的ISP(或資料中心)機房運維就可以完成所有任務。
Cloudflare Gen X架構
Cloudflare的第十代伺服器Gen X已經在美國主要城市的資料中心已經上線部署,並爭相全球範圍內資料中心上線中。同上一代伺服器構架相比,請求數可增加三分之一多,而成本可大幅降低。CPU每個核心的額定TDP(散熱設計功耗)降低四分之一,L3快取未命中率可降低一半,NGINX p99延遲降低也能降低一半。更多的效能測試資料見下面部分。
CPU
CPU效率是Cloudflare伺服器設計中最重要的部分,在大負載的Cloudflare服務網路,CPU是最大的瓶頸。Cloudflare透過軟體堆疊,可以對其核心很方面的擴容,因此CPU頻率和功耗是需要考慮的最重要引數。Gen X架構中選擇了單插槽配置的AMD EPYC 7642處理器。該CPU具有48核(96個執行緒),基本時鐘速度為2.4 GHz,L3快取記憶體為256 MB。儘管額定功率(225W)看起來有點高,對比9代伺服器中的組合TDP的功耗更優勢,而且可以實現更高的CPU效能。比我們上一代使用的雙插槽高核心數英特爾處理器(Skylake和Cascade Lake)要強大得多。防火牆到工作站,最繁重的工作負載通常需要更大的計算量,因此算力的提高是新一代伺服器帶來的更大優勢。
Gen X伺服器經過精心設計,額外帶有一個空PCIe插槽,可以在必要時新增額外板卡,比如透過GPU,FPGA,SmartNIC,定製ASIC,TPU等來按需來增加。
記憶體,儲存和網路
由於需要的最大的瓶頸在於CPU,因此Gen X在RAM和SSD等其他硬體部分元件方面升級的幅度相對較小。
記憶體上,繼續使用256GB RAM,與上一代產品持平,但使用了更高額定頻率的2933MHz。
儲存方面,仍然配備了大約3TB的儲存空間,使用3x1TB的NVME快閃記憶體,同時支援更高的可用IOPS和更高的耐用性,支援使用LUKS進行全盤加密,而不會受到損失。
網絡卡,繼續使用了Mellanox 2x25G NIC。
機箱的大小減少了為簡單的1U尺寸,用來減輕資料中心的執行過程中的重量,並減少錯誤。
基準測試
Cloudflare工程團隊在採用新一代服務架構之前,對CPU做了一些基準測試,我們來看下結果。
Cascade Lake VS EPYC
Cloudflare選擇英特爾Cascade Lake和AMD第二代EPYC處理器,在功耗和效能之間進行了對比測試。結果AMD EPYC 7642 CPU排名第一。大多數Cascade Lake處理器在所有核心之間共享每個核心1.375 MiB L3快取。在經濟方面,AMD第二代EPYC處理器的起始價格為每個核心4 MiB。AMD EPYC 7642是一個獨特的SKU,因為它在其48個核心上共享256 MiB的L3快取。在每個核心旁邊都有這麼大的L3快取和大約5.33 MiB的快取記憶體,所以效能更高。
隨著第二代EPYC的推出,傳統的快取佈局也發生了變化,第二代EPYC是AMD使用多晶片模組(MCM)設計的副產品。256個MiB L3快取記憶體由8個單獨的晶片或由2個核心複合體(CCX)形成的核心複合體晶片(CCD)組成,每個CCX包含16個MiB L3快取記憶體。
模擬環境測試
Cloudflare的生產環境流量具有持續工作量的許多特徵,這些特徵通常不會導致工作頻率發生較大變化,也不會進入空閒時間段。測試時候選擇了一種模擬流量模式,使用用HTTPS的Cached 10KiB png。來評估CPU的最大吞吐量或每秒請求數(RPS),這是要評估的關鍵指標之一。測試中沒有禁用Intel Turbo Boost和AMD Precision Boost,也沒有測量每秒請求,每秒退休指令(IPS),L3快取未命中率和持續工作頻率時的匹配CPU頻率。
與第9代2P Intel Xeon Platinum 6162伺服器相比,1P AMD 2nd Gen EPYC 7642伺服器領先,每秒處理的請求多50%。
基於持續的工作量,應該以高於基本時鐘的持續工作頻率結束。AMD EPYC 7642的工作頻率或處理器可使用的週期數比Intel Xeon Platinum 6162頻率高出約20%,這可以解釋上面RPS增加一半的。
生產環境測試
在生成環境中最主要的瓶頸似乎是快取記憶體,由於L3快取記憶體未命中率降低,每秒請求數量以及處理請求的時間都有了顯著提高。測試的資料是在第7代到第9代伺服器之間存在的某個時間點收集。在將基於第二代EPYC的Gen X用於生產環境後,結果能夠與之前實驗室模擬的結果非常相似。儘管每秒的請求數RPS與模擬結果並不完全一致,但是AMD EPYC伺服器的效能仍然優於所有以前的產品,包括效能比Intel Gen 9伺服器高出36%。
持續的工作頻率幾乎與模擬測試結果相同。
由於每秒的請求數低於預期,因此隨著時間的推移,看到更少的指令退出使用以及更高的L3快取未命中率,但仍保持了第9代的領先優勢,效能提高了29%。
回覆列表
隨著霄龍(Epyc)的橫空出世,AMD 在企業(尤其是資料中心市場)獲得了更多的客戶。
今天,內容交付網路(CDN)巨頭 Cloudflare 亦表示,自家資料中心的 Gen X 伺服器,亦選擇了 AMD 的 Eypc 7642 晶片方案。
如果 AMD 希望在今年達成兩位數的 x86 伺服器市場份額,勢必要從 Cloudflare 等英特爾長期客戶那邊挖到更多的訂單。
近期,Cloudflare 一直在對其(第九代 / G9)伺服器展開大修,以升級英特爾 Skylake-SP 和 Cacade Lake-SP 系列志強處理器。
不過在 Cloudflare 第十代(Gen X)伺服器平臺的晶片選擇上,該公司終於大聲地說出了“Intel not Inside”—— 因為 AMD 霄龍實在是太香了!
此前,AMD 已經憑藉銳龍(Ryzen)和執行緒撕裂者(Threadripper)系列,從英特爾手中搶走了大量的 x86 PC 和 HEDT 客戶。
Cloudflare 表示:“二代霄龍處理器給我們留下了深刻的印象,其被證明對客戶工作負載的效率更高”。
目前 Cloudflare 正在使用 Epyc 7642 來部署新一代伺服器(基於 AMD 二代 Rome 晶片架構)。
Epyc 7642 是一款 48 核 / 96 執行緒的處理器,默頻 2.3 GHz、動態可達 3.3 GHz 。儘管 225W 的熱設計功耗(TDP)看似很高,但已顯著低於英特爾 G9 平臺組合。
此前,Cloudflare 在第九代伺服器上使用了雙路至強方案,並分佈於四個計算節點上。不過在第十代伺服器上,該公司已換用單路霄龍 7642 晶片方案。即便如此,其效能還是力壓英特爾方案。
至於為何沒有選擇最高階的 Epyc 7742 晶片(具有 64 核 / 128 執行緒),Cloudflare 解釋其軟體堆疊和計算工作負載的效能提升還不夠吸引人。
最後,Cloudflare 已在資料中心完成了半數 Epyc 7642 伺服器的部署,且當前正在加快多臺基於英特爾晶片方案的舊款伺服器的升級過程。