美團使用第二代英特爾至強可擴展處理器加速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%,幫助美團進一步優化了資料庫系統,可有效支撐未來業務的增長需求。
  • 移動處理器Tiger Lake首亮相,第三代至強今年見
    從昨天到今天,英特爾共發布了如下新訊:1、首秀最新酷睿移動處理器10nm Tiger Lake,將大幅提升AI性能;2、預告首款基於Xe架構的獨立圖形卡DG1;3、2020年上半年推出第三代英特爾至強可擴展處理器,訓練性能相比產品系列將提升60%;4、雅典娜計劃取得重大進展
  • 英特爾推出全球性能領先的輕薄型筆記本處理器:第 11 代智能英特爾...
    英特爾執行副總裁兼客戶端計算事業部總經理 Gregory Bryant 表示:「搭載英特爾銳炬 Xe 顯卡的第 11 代智能英特爾酷睿處理器實現了真實應用場景性能的重大飛躍,是我們推出的性能強大筆記本電腦處理器。從日常辦公與內容創作到娛樂和遊戲,選擇搭載第 11 代智能英特爾酷睿的筆記本,尤其是經過全新英特爾 ® Evo™平臺認證聯合打造的筆記本可為您帶來超凡體驗。」
  • 數據驅動時代英特爾的三種武器
    在此次峰會上,英特爾發布了包括第三代至強可擴展處理器、第二代傲騰持久內存、Stratix 10 NX以及最新3D NAND SSD等多款全新產品,旨在助力行業數位化轉型。 唯一內置AI加速的主流數據中心CPU 第三代至強可擴展處理器
  • 32 核打贏 AMD64 核 英特爾 Ice Lake 為 HPC 提供強勁性能
    馬克斯·普朗克計算和數據中心(Max Planck Computing & Data Facility)以及韓國氣象廳等客戶都選擇第三代英特爾至強可擴展處理器來加速高性能計算應用。美國阿貢國家實驗室(Argonne National Laboratory)利用英特爾® Xe-HP GPU和英特爾® oneAPI工具包來加速E級計算應用的開發。
  • 掘金數據時代的英特爾 加速實現跨平臺XPU願景
    基於標準的開源軟體,涵蓋從驅動程序、API到開發者工具的一系列產品,包括能夠簡化開發流程,並優化代碼質量的英特爾媒體SDK,以及Mesa 3D圖形庫(一個OpenGL的開源實施)。該GPU還支持加速的AVC、HEVC、MPEG2、VP9編解碼和AV1解碼,為FFMPEG優化的媒體插件,能夠在英特爾至強可擴展處理器和全新英特爾伺服器GPU之間實現應用兼容。
  • 英特爾Lynn Comp:多樣化產品組合推動網絡轉型|5G on IA
    創新的產品之外,英特爾多年來與生態系統合作夥伴一起基於英特爾平臺不斷優化和擴展解決方案的積累也使英特爾成為邊緣基石的明智之選。英特爾數據平臺事業部副總裁兼網絡平臺事業部總經理Lynn Comp介紹了英特爾多樣化產品組合中,英特爾凌動P5900和全新第二代至強可擴展處理器這兩款新發布的產品。
  • 英特爾十代酷睿處理器加持,高端遊戲本擁抱雙 11
    十代酷睿 H 系列處理器來襲,性能強勁十代酷睿 H 系列處理器是英特爾今年重磅的產品之一。在推出採用 10nm 工藝的 U/Y 系列產品後,今年,英特爾發布了第十代酷睿 H 系列移動處理器,還在 9 月帶來了 i7-10870H 和 i5-10200H 兩款新型號,擁有強悍的性能與出色的功耗控制。英特爾十代酷睿 H 系列移動處理器陣容中,i9-10980HK 無疑登上了性能王座。
  • 英特爾全新電晶體性能提升可媲美節點升級 計算架構新黃金十年開啟?
    Ice Lake是首款基於10nm的英特爾至強可擴展處理器,它將帶來一系列技術,包括全內存加密、PCIe Gen 4、8個內存通道等,以及可加快密碼運算速度的增強指令集,在跨工作負載的吞吐量和響應能力方面提供強勁性能。英特爾透露,Ice Lak系列中也會推出針對網絡存儲和物聯網的變體。
  • 科技雲報導:七年韜光養晦,深信服存儲終被英特爾「加精選」
    基於深信服HCI&SDS的英特爾精選解決方案:為優秀加冕英特爾精選解決方案是英特爾推出的一系列解決方案。首先在軟硬體層面針對各種工作負載進行了優化,然後使用了嚴格的基準性能測試、經過多重驗證。由於是包含了軟硬體的整體解決方案,在實際使用中可以加速數據中心基礎設施的部署過程。
  • AI加速 寶德一站式服務賦能高等教育改革
    TxData允許用戶將頻繁訪問的表數據保存在Intel PCIe SSD緩存中,TxData還採用獨有專利技術Holodesk,在SSD快閃記憶體中實現列式存儲,更進一步提高了SSD快閃記憶體加速效果,在數據分析和挖掘場景下整體性能提升10倍以上。第二,網絡優化。
  • 英特爾平板處理器怎麼樣 英特爾平板處理器排名及介紹【圖文】
    一、英特爾平板處理器排名  1、 Intel 酷睿 i7-7700K  [Intel酷睿i7 7代系列]  2 、Intel 至強 E3-1220v5>  3 、Intel 酷睿 i5-7600  [Intel酷睿i5 7代系列]  英特爾是處理器的廠商,而搭載英特爾核芯處理器平板電腦的品牌有很多,比如酷比魔方、華碩、昂達等等一些知名品牌,比如:  華碩 MemoPad 7(ME176CX) 7英寸平板(四核)  酷比魔方 iwork8 win8版8英寸平板(英特爾64位四核)
  • 英特爾打響數據中心復興之戰!四大架構轟向雲端,營收創新高
    在雲服務提供商客戶的強勁需求以及高性能第二代英特爾至強可擴展處理器的持續強勁推動下,數據中心業務Q4營收達72億美元,同比增長19%,全年營收達234.81億美元,同比增長約2%。儘管CPU在多數人眼中是個「頭腦發達,四肢簡單」的控制者,不擅長做AI處理,但英特爾正努力通過加固至強處理器的AI性能打破這一刻板印象。時至今日,英特爾至強依然是全球AI推理的主流選擇。據此前英特爾透露的數據,至強已經助力市場上80%-90%的AI推理。2017年,英特爾在第一代至強可擴展處理器中首次建立AI加速能力。
  • 如何讓中國物流變得更高效與智能,英特爾與夥伴共織一張物聯網
    為了使用AI視覺賦能智慧物流系統,韻達研究院啟動了「智慧視覺」項目。算法層面,韻達「智慧視覺」團隊持續深耕,取得階段性突破進展;基礎設施層面,韻達基於第二代英特爾至強可擴展處理器、英特爾酷睿處理器搭建了邊緣AI基礎設施平臺,實現了分轉中心智能數據處理(系統結構如圖所示)。
  • 一起教育科技基於英特爾 技術優化 AI 口語測評平臺 賦能英語教學
    為提升基礎設施平臺對於海量業務的支撐能力,為師生提供更高效的智能口語測評服務,一起教育科技使用第二代英特爾 至強 可擴展處理器搭建了 AI 伺服器,顯著提升了性能表現,不僅能夠支撐億級日均調用量的需求,而且在總體擁有成本 (TCO) 方面具備出色優勢。
  • ...Ice Lake 處理器登陸騰訊雲,星星海自研二路伺服器繼承強「芯」髒
    該伺服器作為雲服務的硬體基礎,採用英特爾10nm工藝處理器,在核心數、單核性能上較上一代基於英特爾®至強®可擴展處理器的伺服器有大幅提升。該款伺服器同時也是雙方聯合發布的第二款伺服器產品,於此前發布的騰訊雲星星海首款自研四路伺服器將於本月底正式加入騰訊雲產品矩陣,為行業終端客戶帶來全新升級的使用體驗。
  • 如何讓中國物流變得更高效與智能,英特爾與業界合作夥伴共織一張物...
    為了使用 AI 視覺賦能智慧物流系統,韻達研究院啟動了「智慧視覺」項目。算法層面,韻達「智慧視覺」團隊持續深耕,取得階段性突破進展;基礎設施層面,韻達基於第二代英特爾® 至強® 可擴展處理器、英特爾® 酷睿™處理器搭建了邊緣 AI 基礎設施平臺,實現了分轉中心智能數據處理(系統結構如圖所示)。
  • 第十代英特爾處理器 打造性價比整機方案
    英特爾(Intel)i5-10400F 6核12線程 盒裝CPU處理器這款處理器是最新出來的相信在很多電腦配置清單中可以看到他的身影,他是十代 六核十二線程相比上一代多6個線程多開多任務也是遊刃有餘的,針對預算裝機來說他可以在3000-5000中搭配裝機。
  • AI加持 算力為先 英特爾攜手騰訊引領智慧雲計算 加速數字新經濟
    騰訊-英特爾聯合實驗室全面升級  由英特爾和騰訊合作定製,搭載四顆第三代英特爾®至強®可擴展處理器和第二代英特爾®傲騰™持久內存的騰訊雲星星海四路伺服器,是業界首家大規模落地RAS技術,能夠滿足通用計算、異構計算