美團使用第二代英特爾至強可擴展處理器加速Cellar存儲性能

2020-12-19 中國經濟時報

  綜述

  網際網路推動著商業社會的快速變革,對於美團等超大型網際網路服務提供商而言,其資料庫系統需要對仍在飛速增長的海量業務數據進行快速處理。這些核心資料庫往往屬於典型的性能密集型應用,內存的容量與性能在很大程度上影響著上層業務的處理效率以及可用性。此外,龐大的部署規模也使得內存的總體擁有成本(TCO) 變得相當敏感。

  為了應對億級用戶給資料庫系統帶來的性能壓力,支撐業務創新,為用戶提供高速穩定的網際網路服務,美團將 Cellar 存儲系統伺服器中的處理器替換為第二代英特爾至強可擴展處理器,同時結合美團面向 Cellar 存儲系統進行的軟體優化,最終將資料庫性能提升 20%,幫助美團進一步優化了資料庫系統,可有效支撐未來業務的增長需求。

  挑戰:如何解決 Cellar 存儲面臨的 PAUSE 指令問題

  作為中國領先的生活服務電子商務平臺,美團服務涵蓋餐飲、外賣、打車、共享單車、酒店旅遊、電影、休閒娛樂等200 多個品類,業務量實現了快速發展。2019年,美團年度交易用戶總數達4.5 億,平臺活躍商戶總數達620 萬,用戶平均交易筆數達到 27.4 筆。近年來,美團一直使用分布式 KV 存儲系統Cellar 作為最重要的在線存儲服務之一,承載其海量的網際網路業務。

  Cellar 是一個在 Tair 基礎上研發的NoSQL 存儲,在底層支持Leverldb 、rockdb、mdb和 rdb 等引擎,各節點直接通過raft 進行複製。Cellar 支持異地容災、無損數據遷移,元信息存在單獨節點,並且通過添加observer的形式實現路由查詢能力擴展、客戶與中間節點分離。目前,Cellar 已經承載了美團在線服務每天萬億級的請求量,並保持著高達 99.999% 的服務可用性。


    圖1:美團 Cellar 存儲架構

  網際網路服務的典型特徵是流量大,美團發現,在業務高峰期的時候,Cellar 存儲系統常常會遇到異常的性能降低問題。研究之後發現,其原因在於英特爾處理器中使用的 PAUSE 指令:不同架構的英特爾至強處理器有著不同的 PAUSE 指令時長。其中,第二代英特爾至強可擴展處理器(CascadeLake 架構)的指令時長為 44 cycle,而上一代的英特爾至強可擴展處理器(Skylake 架構) PAUSE 指令時長為 144 cycle。業務應用程式設計一般基於Broadwell架構,頻繁調用該指令的應用程式運行在Skylake上時,就會出現負載相對過高的現象。

  這是因為,這些程序的內部自旋,就是通過固定次數的 PAUSE 循環實現,PAUSE 指令周期增加時,執行自旋的時間也會增加,對於系統整體的吞吐量會造成影響。如果程序中使用固定次數的PAUSE 循環來實現一段時間的延遲,以此阻塞程序執行,可能引發非預期的延遲,這突出體現在對於 Spinlock 的影響。

  Spinlock又稱自旋鎖,是為實現保護共享資源而提出的一種鎖機制。當執行spin-wait循環的時候,處理器會因為在退出循環的時候檢測到內存訪問順序衝突而導致嚴重的性能損失,而 PAUSE 指令主要用於提示處理器目前處於spin-wait中。如上所述,這些程序的內部自旋,是通過固定次數的PAUSE 循環實現,在 PAUSE 指令時長增加之後,可能會帶來執行自旋的時間延長。

  此外,普通 Spinlock 在處理器多核心的情況下,同一時間只能有一個 CPU 線程獲取變量並自旋,而緩存一致性協議為了保證數據的正確,會對所有 CPU 線程的狀態和數據進行同步、失效等操作,導致性能下降。

  除了 Spinlock 之外,PAUSE 指令還會對於內存分配帶來影響。在內存分配過程中,鎖會造成線程等待,對性能影響巨大。

  在 Cellar 的業務實踐中,美團發現,當負載較高時,與Broadwell 架構的英特爾立處理器相比,Skylake 的英特爾處理器負載高15% 左右。通過vTune 分析和源碼分析,原因隨之浮現:Cellar 服務在高負載時會大量調用Spinlock,PAUSE指令周期的增加導致了CPU負載的增高。

  雖然通過軟體優化的方式有助於解決 PAUSE 指令所帶來的性能下降問題,但是如果在新部署的存儲伺服器中直接選擇了針對此指令進行優化的新型處理器,則不僅能夠降低問題影響,還有助於充分發揮新型號處理器在性能、創新功能等方面的優勢。在此背景下,美團與英特爾密切合作,對於最新的硬體產品與技術進行測試、驗證、部署,並充分優化存儲軟體,以最大化發揮硬體性能。

  解決方案:基於第二代英特爾至強可擴展處理器的 Cellar 存儲優化

  為了在提升 Cellar 存儲系統性能的同時控制 TCO 的增長,美團與英特爾展開了深度合作,將伺服器中的處理器替換為二代英特爾至強金牌處理器5218,並在性能驗證中將Cellar 存儲系統的工作負載遷移到使用該處理器構建的平臺上。

  針對PAUSE指令對 Cellar 造成的影響,美團採用了兩種方法:在軟體層面,美團動態調整Cellar 對Spinlock 的調用次數,在應用中將循環次數降低,從而控制 PAUSE 指令執行的時長。

  此外,美團還將替換libc 的內存分配為Jemalloc,以減少鎖的使用,優化 Cellar 存儲系統實際業務。JeMalloc 是一款內存分配器,與其它內存分配器相比,它最大的優勢在於多線程情況下的高性能以及內存碎片的減少。為避免線程競爭鎖的發生,JeMalloc 使用了線程變量,內存分配將在線程自帶的內存管理器中完成,無需和其它線程進行競爭。此外,JeMalloc 中的每個線程都通過線程號的映射對應到一個數組元素中,可降低多個線程競爭一個元素的機率。由於競爭鎖發生機率的降低,PAUSE 指令時長的增長對於內存管理的影響也能得到相應的控制。因此,通過將應用中的內存分配器更改為 JeMalloc,有助於緩解 PAUSE 指令周期增加所帶來的吞吐量降低的問題。

  在硬體層面,美團將部分存儲伺服器中的處理器升級為採用了 Cascade Lake架構的二代英特爾至強可擴展處理器,二代英特爾至強可擴展處理器將PAUSE 指令時長從 144 cycle 降低為 44 cycle,從而徹底消除了PAUSE指令變化帶來的影響。

  此外,二代英特爾至強可擴展處理器還帶來了額外的性能提升。該處理器專為數據中心現代化革新而設計,能夠提高各種基礎設施、企業應用及技術計算應用的運行效率,進而改善總體擁有成本(TCO),提升用戶生產力。它擁有更高的每核性能,能夠在計算、存儲和網絡應用中,為計算密集型工作負載提供高性能和可擴展性。得益於英特爾超級通道互聯(英特爾® UPI)、英特爾Infrastructure Management 技術(英特爾IMT)、英特爾高級矢量擴展指令集512(英特爾® AVX-512)等領先功能,它可滿足嚴苛的 I/O 密集型工作負載的需求,能夠幫助企業打造出性能更強的敏捷服務和突破性功能。

  效果:Cellar 存儲系統性能提升20%

  為了驗證在處理器更換為二代英特爾至強可擴展處理器之後,Cellar 存儲系統的性能提升,美團通過測試進行了驗證(測試配置如表2所示)

  表2

  數據顯示,與基於英特爾至強E 系列處理器的 Cellar 存儲系統相比,基於二代英特爾至強可擴展處理器的 Cellar 存儲系統提升了 20% 左右。

  從成本效益來看,二代英特爾至強可擴展處理器的應用通過顯著的性能提升,節約了在存儲節點方面的投入,總體擁有成本能夠得到更好的控制,也更具面向未來工作負載的擴展性。

  合作夥伴表示:「無論是卓越的硬體特性,還是在 PAUSE 指令等方面的優化,二代英特爾至強可擴展處理器都對 Cellar 存儲系統性能的提升起到了至關重要的作用。通過雙方的密切合作,我們不僅驗證了二代英特爾至強可擴展處理器在存儲系統性能優化過程中的關鍵作用,也為之後的進一步優化奠定了堅實基礎。」


    圖3:性能優化對比

  展望:美團與英特爾加速網際網路基礎設施創新

  在發展過程中,美團正致力於去探索Cellar 等具備突破性的存儲解決方案,並實踐新的運維方式,以滿足業務的快速增長需求。美團計還將繼續攜手英特爾,充分利用軟硬體技術的最新發展成果,打造高性能資料庫解決方案,為內外部用戶提供更高效、更可靠的服務。

  除了資料庫之外,美團與英特爾還在廣泛的領域進行了合作,利用二代英特爾至強可擴展處理器等產品所帶來的革命性技術能力,構建高性能的基礎設施,在不斷增長的核心網際網路業務場景以及關鍵應用和服務中發揮越來越重要的作用,這也有助於美團為用戶提供更高效、更多元化的應用體驗。

相關焦點

  • 美團使用第二代英特爾至強可擴展處理器 加速Cellar存儲性能
    為了應對億級用戶給資料庫系統帶來的性能壓力,支撐業務創新,為用戶提供高速穩定的網際網路服務,美團將 Cellar 存儲系統伺服器中的處理器替換為第二代英特爾至強可擴展處理器,同時結合美團面向 Cellar 存儲系統進行的軟體優化,最終將資料庫性能提升 20%,幫助美團進一步優化了資料庫系統,可有效支撐未來業務的增長需求。
  • 英特爾聯合騰訊發布基於下一代至強可擴展處理器的星星海新一代...
    原標題:英特爾聯合騰訊發布基於下一代至強可擴展處理器的星星海新一代自研雙路伺服器    通信世界網消息(CWW)
  • 移動處理器Tiger Lake首亮相,第三代至強今年見
    從昨天到今天,英特爾共發布了如下新訊:1、首秀最新酷睿移動處理器10nm Tiger Lake,將大幅提升AI性能;2、預告首款基於Xe架構的獨立圖形卡DG1;3、2020年上半年推出第三代英特爾至強可擴展處理器,訓練性能相比產品系列將提升60%;4、雅典娜計劃取得重大進展
  • 英特爾至強E7處理器家族
    至強E7家族面世 英特爾關鍵業務加速    英特爾自去年發布至強7500處理器家族,逐步奠定其在企業關鍵任務領域的地位後,4月6日,英特爾繼續發力關鍵業務,推出了32納米工藝製程的英特爾至強E7處理器家族(代號為Westmere-EX)。
  • 英特爾「至強」徹底重塑:E5、E7成為歷史
    在提前舉行的溝通會上,英特爾公司數據中心事業部副總裁兼英特爾至強產品與數據中心營銷總經理Lisa Spelman就透露了至強(Xeon) 處理器將徹底地重塑的信息: E5、E7將成為歷史,退隱江湖;代之以至強處理器可擴展家族銅牌、銀牌、金牌和鉑金四個級別。鑑於保密協議的緣故,無法提前披露。
  • 當英特爾已成高性能代名詞,深信服存儲如何讓強者至強
    首先在軟硬體層面針對各種工作負載進行了優化,然後使用了嚴格的基準性能測試、經過多重驗證。由於是包含了軟硬體的整體解決方案,在實際使用中可以加速數據中心基礎設施的部署過程。這套精選解決方案是英特爾押上自己信譽來認證的預配置解決方案,是在英特爾配合、支持引導下做出來的方案,要求非常嚴格。
  • 英特爾推出全球性能領先的輕薄型筆記本處理器:第 11 代智能英特爾...
    有關第二版目標規範和認證流程的核心內容,請參閱英特爾 Evo 介紹。搭載英特爾銳炬 Xe顯卡的第 11 代智能英特爾酷睿處理器搭載英特爾銳炬 Xe顯卡的第 11 代智能英特爾酷睿處理器,是適用Windows 和 ChromeOS 系統的全球性能領先的輕薄型筆記本處理器。
  • 英特爾至強E5-2430L深度測評
    今天我們來看一看雙CPU配置的英特爾至強E5-2430L。英特爾至強E5-2430L是一款低功耗的 LGA1356接口處理器。LGA1356平臺有三通道內存,PCIe 3.0通道的數量(24個)比LGA2011平臺要少。但你所獲得的是一個更低功耗的平臺。英特爾至強E5-2430L是一款6核心CPU,有15MB緩存,散熱設計功耗60瓦。
  • 全新英特爾(R)產品加速網絡轉型,為5G鋪平道路
    英特爾x86 64位軟體支持,實現可擴展的性能和廣泛的應用兼容性。 集成英特爾QuickAssist技術,高達20 Gbps的壓縮/加密吞吐量。2015年第四季度推出的英特爾至強處理器D系列是英特爾的第三代64位系統晶片和第一款基於英特爾至強處理器技術的系統晶片。這個英特爾至強處理器D-1500產品系列中的全新網絡系列產品擴大了現有的產品系列。它適用於各種不同工作負載環境,包括中端網絡路由器、無線基站、溫存儲、工業物聯網等等。
  • 浪潮推出基於英特爾至強鉑金9200處理器 雙精度浮點運算高達9.3...
    打開APP 浪潮推出基於英特爾至強鉑金9200處理器 雙精度浮點運算高達9.3TFlops 砍柴網 發表於 2019-12-24 16:29:04
  • 英特爾以數據為中心的競爭優勢是什麼?BATJ有個共同的觀點
    先看CPU,英特爾2017年推出的第一代至強可擴展處理器已經廣泛應用於雲計算市場。今年4月,第二代至強處理器推出,進行了全面的提升。簡單來說,增加了對英特爾傲騰數據中心級持久內存的支持,同時增加了深度學習加速功能,還增加了Speed Select技術,還針對不同的產品推出特別優化的型號。
  • 轉折性技術閃耀上海MWC,零距離看英特爾5G技術和應用
    從邊緣到雲端,英特爾提供以至強可擴展平臺為核心的廣泛產品組合,滿足不同工作負載需求,包括至強可擴展處理器、至強D系列處理器、FPGA加速技術,以及傲騰數據中心級持久內存和SSD存儲技術。英特爾提供5G雲端和網絡的產品和技術,助力部署5G網絡基礎設施,並通過與設備廠商和行業合作夥伴的合作探索,帶來豐富的5G創新應用。
  • 32核打贏AMD64核 英特爾Ice Lake為HPC提供強勁性能
    英特爾在2020年超級計算大會上主要亮點:更高的內存帶寬、全新的核心架構、更多的處理器核數以及更快速的輸入/輸出:即將推出的第三代英特爾至強可擴展處理器(代號「Ice Lake」)將為高性能計算工作負載提供更高性能。
  • 英特爾發布至強E3、E5和E7服務處理器
    16日 4月11日消息,據國外媒體報導,英特爾本周二發布了新的伺服器處理器晶片,其中包括第一款基於英特爾最新的Haswell微架構的至強E3處理器晶片。  英特爾至強E3處理器主要面向低端伺服器和微型伺服器。這是新興的高密度伺服器種類,主要用於網站託管和雲實現。微型伺服器通常配置低功率處理器,旨在處理大量的輕型網絡交易或者雲交易,如搜索查詢和社交網絡網頁效果等。  英特爾至強E3處理器最多配置4個內核,使用Haswell架構提高性能和節能效率。目前,英特爾的多數晶片是以Ivy Bridge架構為基礎的。
  • 「金牌」英特爾加持 助企業打造千變萬化的雲
    由英特爾和騰訊合作定製,搭載四顆第三代英特爾至強可擴展處理器和第二代英特爾傲騰持久內存的騰訊雲星星海四路伺服器,是業界首家大規模落地RAS技術,能夠滿足通用計算、異構計算、裸金屬、高性能計算等全業務場景。
  • 英特爾發布第11代智能酷睿處理器 面向輕薄型筆記本
    第11代智能英特爾酷睿處理器利用英特爾SuperFin製程技術,優化功率效率,相比前代產品運行頻率顯著提高。宏碁、華碩、戴爾、玳能、惠普、聯想、LG、微星、雷蛇、三星等廠商預計將推出150餘款搭載第11代智能英特爾酷睿處理器的筆記本。英特爾還引入了英特爾Evo平臺品牌,基於英特爾Evo平臺品牌的筆記本通過了雅典娜創新計劃的第二版規範和關鍵體驗指標的認證。
  • 英特爾Trish Damkroger:異構性將是加速高性能計算和AI融合關鍵
    該技術基於第二代英特爾 至強 可擴展處理器和英特爾 傲騰 技術,整合了多種數據、計算和通信密集型技術,以企業級規模及時實現人工智慧。接下來談談在高性能計算領域看到的兩大趨勢:越發常見的異構架構的使用和高性能計算與人工智慧的融合。通用處理和工作負載優化加速至關重要。
  • 英特爾正式發布全新一代內存和存儲產品
    為進一步推動內存和存儲創新,英特爾宣布推出兩款新的傲騰固態盤產品,即全球運行速度最快的數據中心固態盤英特爾傲騰固態盤P5800X,以及能夠為遊戲和內容創作提供高性能和主流生產力,面向客戶端的英特爾傲騰H20混合式固態盤。 通過使內存更靠近處理器,英特爾傲騰能夠滿足現代計算的需求。
  • 英特爾宣布明年推出二代傲騰 持續內存&存儲創新
    同時,英特爾重磅公布了代號為「BARLOW PASS」的第二代傲騰數據中心級持久內存將在2020年與下一代至強可擴展處理器一同發布。這便意味著,若英特爾推出了144層堆疊的3D QLC NAND SSD,其單盤容量預計將突破50TB?屆時1U伺服器提供2PB存儲容量也將不是難題。
  • 英特爾AI醫療實戰曝光:10倍加速輔助診斷、準確度高達90%
    目前英特爾的硬體產品有英特爾至強可擴展處理器和傲騰數據中心級持久內存和傲騰固態盤等;軟體產品有英特爾架構優化的 Caffe 和 TensorFlow,以及 OpenVINO 工具套件等。第二代英特爾至強可擴展處理器專為數據中心現代化變革而設計,提供比前代產品高出 25%-35% 的性能,且具備多項新特性,能夠打造性能更強的敏捷服務和更具價值的功能,進而改善總體擁有成本,提升生產力。此外,該第二代處理器集成了深度學習加速技術 (矢量神經網絡指令 VNNI),可加速人工智慧和深度學習推理,並針對工作負載進行優化。