《阿里云:倚天開啟云原生算力新時代(2022)(71頁).pdf》由會員分享,可在線閱讀,更多相關《阿里云:倚天開啟云原生算力新時代(2022)(71頁).pdf(71頁珍藏版)》請在三個皮匠報告上搜索。
1、封面頁(此頁面將由下圖全覆蓋,此為編輯稿中的示意,將在終稿 PDF 版中做更新)(待分享)卷首語 2021 年云棲大會上,阿里云發布自研的基于 Arm v9 架構的倚天 710 芯片,這是一款云原生處理器,無超線程概念,用戶可以享受物理核的極致性能體驗。隨后,阿里云推出了采用倚天 710 芯片的倚天云服務器,超強實例、極致性能,在阿里巴巴集團內部及外部客戶的試用效果都非常好。2022 年的 11 月,我們再聚杭州云棲大會,并通舉辦倚天專場的技術分享,全方位展示倚天云服務器在云原生時代的性能表現。在產品層面,來自阿里云的架構師將系統、深度而又全面地介紹倚天云服務器背后的技術奧秘,包括芯片架構設計
2、、硬件架構設計、軟件優化實現方案以及七大場景下的性能收益等;來自安謀科技(Arm China)的技術專家也將從 Arm 架構出發,分享 Neoverse 生態與軟件遷移實踐。在應用實踐上,既有阿里云自身在視頻云原生業務新范式的探索,數據庫 RDS在技術演進方面的實踐總結,也有北京科學智能研究院的嘉賓分享倚天云服務器在材料研發這一科學計算場景下的適配與調優、萬核級別的算例驗證。在遷移實踐上,阿里云程序語言與編譯器方面的技術專家將從遷移工具支持、一鍵式調優、軟件管理以及跨架構遷移實踐等方面,介紹倚天平臺全棧應用性能優化與遷移最佳實踐,同時也將發布開箱即用的智能優化方案和面向開發者的倚天ECS 開發
3、指南。倚天“利劍出鞘”,破曉來襲,關于“倚天 ECS 云服務器”更多內容,邀您移步正文品讀。目錄 一、揭秘 ECS 倚天實例背后的技術.5 二、Neoverse 生態與軟件遷移.20 三、阿里云倚天 710 實例助力 ABACUS 新實踐.36 四、基于倚天的視頻云原生業務新范式.46 五、RDS On 倚天 ECS 的技術演進.56 六、倚天平臺全棧應用性能優化與遷移最佳實踐.62 一、揭秘 ECS 倚天實例背后的技術 5 一、揭秘 ECS 倚天實例背后的技術 作者:張先國,阿里云彈性計算高級架構師 11 月 15 日,阿里云 ECS 倚天實例正式開始商業化。此前,阿里巴巴在 2022 云棲
4、大會上宣布,阿里云未來兩年 20%的新增算力將使用自研 CPU。11 月 5 日,云棲大會“倚天開啟云原生算力新時代”專場上,阿里云彈性計算高級架構師張先國作為分享嘉賓,帶來了題為云原生算力新時代:倚天 ECS 技術揭秘的主題分享,本文根據該演講整理而成。阿里云彈性計算高級架構師 張先國 1.背景:算力需求暴漲、摩爾定律失效 當前,企業云上業務需求趨勢正在大幅增長,算力需求呈“爆炸式”遞增。直播/短視頻行業每天有上億用戶產出 UGC 視頻內容發布在不同平臺,產生百萬核級視頻編碼算力需求和高業務成本?;?制藥行業涉及到的分子動力學模擬、基因序列對比、蛋白結構分析,原來以實驗為主,今天計算機模擬
5、為主,從原子-分子單位的行為進行計算,消耗大量的算力。一、揭秘 ECS 倚天實例背后的技術 6 電商行業從流量為主轉變為精益化運營過程中所需的 AI 推理、大數據畫像,智能精準推薦對算力需求也越來越旺盛。以 AI 為代表的算力規模每三個半月就會翻一倍。然而,在算力需求暴漲的同時,摩爾定律演進速度卻在減慢,硬件技術進步的紅利見底。如今,每迭代一代 CPU,服務器和數據中心的功耗和成本攀升,每千瓦芯片功耗在生命周期內帶來上萬美金的成本;硬件和芯片的成本也在逐代上漲。在云這類面向多租戶的場景下,超線程(HT)架構的問題逐漸暴露出來,面對一些高密計算任務時很難滿足業務需求,共享內存與物理核的機制導致租
6、戶之間處理任務可能需要相互排隊,導致性能大幅下降;或者互相干擾的情況導致性能波動。一、揭秘 ECS 倚天實例背后的技術 7 如何能在實現高性能(減少干擾)的同時實現低功耗、低成本?我們認為,以此前的技術方案,無法解決業務需求和痛點,需要設計一款云原生芯片,結合現有的阿里云軟硬件架構,才能更好地解決客戶應用的需求。我們先來看下結果:在編解碼的場景下,ECS 倚天實例和傳統實例相比,實現了 80%的性價比提升,數據庫場景、AI 推理場景、大數據場景也都分別有著 30%、70%、50%的性價比有效提升。目前,ECS 倚天實例已應用于阿里巴巴集團核心業務,并服務科學研究、智能手機行業和多家知名互聯網公
7、司。2021 年雙 11 期間,天貓雙 11 核心交易系統平滑遷移至倚天 710 云實例,算力性價比提升 30%;匯量科技廣告推理業務使用倚天 710云實例,性能和網絡帶寬雙雙提升,性價比提升 40%以上。2.“倚天”利劍出鞘:軟硬一體的云原生 ECS 架構 ECS 倚天實例是如何實現大幅的性價比提升的?我們從不同 ECS 產品架構層面,包括:云原生處理器倚天 710、云計算基礎設施處理器 CIPU、云原生應用優化方案 ECS Booster 等不同層面,給大家分享。倚天 710:高性能、低功耗 我們先來看下倚天 710 處理器在設計上,是如何解決上述問題的。從芯片層面看,主要影響應用性能的四
8、大要素包括 ALU(邏輯計算單元)、Cache、主頻、加速指令。首先,倚天 710 單顆 CPU 即實現了 128 核的高密度設計,高規格實例可以實現線性的性能增長;同時處理器無超線程概念,避免了性能爭搶的問題:獨享物理核,性能更強勁;獨享 Cache,應用緩存更高效。一、揭秘 ECS 倚天實例背后的技術 8 x86 架構是兩個 vCPU/HT 共享一個物理核,1 份 ALU(算術邏輯運算單元)。ECS倚天實例采用的是獨享物理核心方式,這可以讓算力密集的計算指令不必排隊、不必爭搶,計算速度更快。在 Cache 維度,過去兩個 vCPU/HT 共享一二級緩存,相互爭搶,性能波動較為嚴重。采用倚天
9、 CPU 獨享 Cache 的設計,讓 vCPU 之間相互不影響,為重負載計算帶來更高性能。一、揭秘 ECS 倚天實例背后的技術 9 影響算力性能的關鍵因素,除了核的資源,還有主頻 大家知道為什么多數 Web、App、DB 的生產業務 CPU 使用率的安全水位線是 50%,日常水位低于 30%嗎?以下圖中的視頻編碼為例,并發超過 4 路后,性能下降 40%;再加上前面說到的核爭搶問題,如果客戶的實際業務超過 50-60%水位,關鍵生產應用將響應放慢,客戶感知卡頓甚至超時問題。因此需要將 CPU 使用率安全水位壓低,犧牲成本保證安全,浪費了另外 50%資源。背后的原因是 x86 功耗大,高算力負
10、載很容易造成功耗過大,溫度上升,因此采用降頻規避,進而影響了性能。而倚天 710 的功耗是主流 x86 的 1/6,沒有任何降頻問題。同時也推薦倚天的安全水位可以提高到 70-80%,減少資源浪費。在云上多租戶共用平臺,即使用戶運行低負載應用,也存在相互影響的風險,倚天徹底解決了此問題。下圖展示的案例就可以看到,在視頻編解碼四路以上時,代表倚天的橙色部分基本保持恒定,x86 則會降低幅度 40%。值得一提的是,倚天 710 還針對特定算法場景進行了加速與優化。比如像 NEON、SVE 等矢量計算技術,可以讓單條指令處理更長的數據,可以大幅提升機器學習、視頻編碼和高性能計算等場景性能;另外,倚天
11、實例還支持 BF16 和 INT8,在機器學習場景下,大幅提升計算效率,為客戶提供更多選擇。一、揭秘 ECS 倚天實例背后的技術 10 以 CIPU 為中心的架構:高密、穩定、強勁 除了芯片本身能力,為了實現降本增效,倚天ECS實例基于云原生的硬件架構設計。傳統的服務器常常設計為 2 路或 4 路,通過多 NUMA 互連的方式提升整機 CPU 密度,讓一個 OS 調度更多 CPU 算力,卻也增加了復雜度。在這種架構下,隨著核數增加,網絡和存儲 IO 也快速翻番,還要保持跨 NUMA cache 一致性,導致應用性能下降;同時也帶來爆炸半徑過大的問題,在云計算場景下,多路的設計會讓局部硬件故障的
12、影響范圍更大。阿里云采用云原生的思想重新設計。倚天 710 CPU 單顆 CPU 即實現了 128 核的高密度設計,同時以 CIPU 為中心的硬件架構,通過 CIPU 連接 2 顆或者更多倚天的芯片,去 NUMA 方案下實現整機核密度更高,避免了跨 NUMA 帶來的性能下降,同時由整機的高密度帶來了成本下降,使得倚天實例更有競爭力。同時,多單路的硬件機型設計,爆炸半徑減半,產品更穩定。此外 CIPU 硬件本身也是創新性的設計,通過將虛擬化與 IO 轉發等數據面卸載到專用硬件上進行加速,消除了原來虛擬化損耗與性能爭搶,并大幅加速了 IO,也會使得整體性能更高;VPC 環境下支持彈性 RDMA 加
13、速能力,相比 TCP 時延降低 70%以上。一、揭秘 ECS 倚天實例背后的技術 11 ECS Booster ECS Booster是阿里云在倚天實例上提供的軟件性能優化方案,通過網絡中斷優化、操作系統優化、應用層優化等技術,針對 web、APP、數據庫等主流場景進行優化,運行在倚天實例上阿里云 PaaS 產品的性能獲已經實現得顯著性能收益,相信也能給客戶業務場景帶來明顯受益。3.全場景性能大幅提升 11 月 15 日,ECS G8y(倚天實例)將正式上線,產品規格覆蓋 1-128 核,全面搭載 eRDMA 加速能力,可以大大提升軟件性能。一、揭秘 ECS 倚天實例背后的技術 12 ECS
14、G8y(倚天實例)有著性能卓越、生態豐富,綠色降本三個方向的業務價值,其中關于性能收益及增長方面有著很好的數據表現。前文說到的云原生處理器和創新的硬件架構,最終在應用上有哪些性能收益?我們從 Web、App、Media、DB、大數據、科學計算、AI 推理等七個最廣泛場景來看產品性能表現。Web 場景:綜合性能提升 30%Web 場景是互聯網中應用場景最多、消耗服務器資源最多的場景。為了解決移動場景流量和體驗問題,服務端常常采用網頁壓縮方案節約帶寬。但壓縮算法非常消耗CPU 算力和時間,導致隊列中多客戶請求時延變長。倚天擁有獨立 CPU 物理核,結合 SVE 指令加速,單 vCPU 數據壓縮性能
15、翻倍,前面提到的體驗影響減半。Web 場景包括 Nginx、Apache、NodeJS、PHP 等排名靠前的應用,倚天實例對比阿里云 G7 系列實例,綜合性能提升 30%左右。阿里云防火墻 CFW 已經實現倚天 ECS 遷移。CFW 為客戶業務提供安全防護,需進行大量正則表達規則進行掃描,消耗大量算力,影響業務性能。采用獨享物理核的ECS 倚天實例,實現安全和體驗收益兼得。在不同正則匹配性能優勢分別為 23%、40%、28%。一、揭秘 ECS 倚天實例背后的技術 13 App 編程語言性能:多數性能提升 40%不管是編譯型語言 C、Go 等還是無需編譯的語言 Java、Python 等,都很好
16、的平滑兼容 ARM 架構,我們可以看到,使用開源的 Benchmark 進行測試,應用運行在 ECS倚天實例上獲得的性能提升多數有 40%。編解碼場景:20-40%性能提升 短視頻和直播是如今最火熱的應用,UGC 時代內容指數級增長,編解碼算力消耗也隨之增長。如今最流行的 H.264 算法速度快,節約算力,但是編碼后的文件更大,一、揭秘 ECS 倚天實例背后的技術 14 消耗更多存儲和帶寬。H.265 可以很好解決此問題,使用比重快速增長,但多消耗1 倍算力成本。無論是在哪種場景下,倚天的視頻編解碼性能均比 x86 實例更高,成本更低。如圖,上述兩類視頻編碼規范的編碼器 X.264、X.265
17、 運行在 ECS 倚天實例上,都收獲了 20-40%性能提升;這個過程中我們進行了大量矢量指令優化,使性能大幅提高,優化軟件可以向客戶輸出。數據庫場景:10-30%性能提升 數據庫場景下,運行在 ECS 倚天實例上,相較與 G7 實例,開源軟件 Redis、Memcached 有 30%性能優勢,MySQL 和 PGSQL 有 10-20%性能優勢。阿里集團電商業務所使用的Tair數據庫也已經遷移到倚天平臺,協議上兼容Redis,性能是開源 Redis 數據庫的 3 倍。Tair 支撐了多年天貓雙 11 大促,有強大的緩存能力,需要把數據緩存到內存,消耗 Memory 資源。我們采用倚天強大的
18、算力優勢進行數據壓縮,讓內存成本降低 60%,疊加倚天實例自帶的 eRDMA 加速能力,可以提升吞吐量 80%,時延降低 15%以上。目前基于 ECS倚天實例的 Tair 產品已經上線,大家可以在云上使用。一、揭秘 ECS 倚天實例背后的技術 15 大數據場景:20-60%性能提升 在需要消耗大量 IO、大量計算以及高內存帶寬的大數據場景中,ECS 倚天實例由于擁有獨立物理核、Cache 更大、網絡時延更低等特點,運行 Spark 應用性能收益 20%以上,搜索 Elastic Search 和流計算 Flink 場景性能收益達到 40%和 60%。上述大數據開源軟件,直接編譯即可在倚天實例上
19、運行,歡迎大家試用。一、揭秘 ECS 倚天實例背后的技術 16 科學計算:20%以上性能提升 在科學計算等場景下,相比于同規格 x86 云實例,運行在倚天實例上的基因、制藥,汽車領域等方面的算法都有 20%左右的收益,我們近期有兩個伙伴測試分子動力學和 EDA 應用,甚至實現了性能翻倍。這主要是由于科學計算場景使用的主要是物理核資源,倚天實例與同規格的 x86 實例相比,核物理核數量是后者的兩倍,計算性能更高。阿里云彈性高性能計算平臺 E-HPC、彈性伸縮等云上工具已經支持 ARM 平臺,主要科學算法也都可以平滑兼容。AI 推理:性能提升 1 倍 AI 場景算力消耗增長飛快,成本占比急劇上升。
20、推理場景下典型的搜推廣客戶都無法接受下調精度(影響模型準確度)降本。阿里云彈性計算團隊和達摩院合作,推出了 HIE-Engine 動態量化方案,利用倚天實例的 INT8 加速能力,可將 RestNet 和 Bert 場景性能提升 1 倍,且精度沒有損失。一、揭秘 ECS 倚天實例背后的技術 17 4.降低碳排放、降低成本 對于企業客戶來說,除了業務性能表現,IT 碳排放和成本也很重要的一環。今天的這款倚天處理器,可以在 CPU 負載 30%的情況下,每 vCPU 功耗比 x86 降低 6 倍,整機功耗降低 60%以上。碳排放也等比降低。全國 IDC 年耗電量約 2000 多億度,相當于兩個三峽
21、大壩的發電量,采用倚天實例進行替換,可以省下一整個三峽的電量。一、揭秘 ECS 倚天實例背后的技術 18 除了綠色低碳,企業還能降低 IT 成本,大家可以看圖中的定價,倚天實例對比最新一代主售實例定價是 30%、23%、22%的降本幅度,將技術收益讓利給客戶。使用這款產品會獲得更好的性價比。在前面提到的七大主要應用場景,平均性價比(性能價格)收益可達 50-80%。5.豐富的軟件生態及應用案例 下圖為 ARM 服務器軟件生態,包括主流 OS、編程語言、Lib 庫、開源應用。這些軟件我們都做過使用和測試,可以做到無需修改代碼即可運行。遷移文檔、遷移工具等方案可以點擊這里。一、揭秘 ECS 倚天實
22、例背后的技術 19 目前在阿里云產品中,RDS、容器、PAI、視頻云等多款 PaaS 產品接入倚天 ECS;阿里集團電商業務也使用了倚天 ECS,有效支撐阿里 618、99 大促以及雙 11 大促多個活動。外部有短視頻、Web、游戲、廣告等客戶提前使用了新產品。最后總結一下關鍵詞。技術關鍵詞 倚天 710 云原生處理器(獨立物理核、重新定義 CPU 水位)、CIPU 為中心的硬件架構(業界最高密度、NUMA less 提高穩定性、硬件加速)、ECS booster 方案(加速應用性能)。關鍵數字 性能提升 30%以上,性價比提升 50%;節約用電 1 個三峽。再次感謝各位見證硬核技術的倚天專場
23、,今天倚天的一小步,將是改變未來IT歷史、改變云計算浪潮的一大步,感謝大家!點擊這里,查看 ECS 倚天實例產品詳情頁。二、Neoverse 生態與軟件遷移 20 二、Neoverse 生態與軟件遷移 作者:別再平,安謀科技(Arm China)高級軟件經理 2022 年 11 月 5 日,“倚天開啟云原生算力新時代”專場在杭州云棲大會 D 館云棲科創 SHOW 場舉行,安謀科技(Arm China)高級軟件經理別再平帶來了題為Neoverse 生態與軟件遷移的主題分享,詳細的介紹了 Arm Neoverse 生態及性能優勢和遷移建議,本文根據該演講整理而成。安謀科技(Arm China)高級
24、軟件經理 別再平 1.Arm 完善、豐富的生態成為國內外多家云廠商首選 在 Arm 的生態系統中包含 CPU 架構、CPU 微架構,芯片實現三個概念,CPU 架構定義了用戶對 CPU 核心的期望行為,包括寄存器、內存模型,異常模型等等,而 CPU微架構則是一個 CPU 核心的具體實現,芯片則是芯片廠商在 CPU 核心的基礎上配合各種加速器和總線互聯最終實現。二、Neoverse 生態與軟件遷移 21 同一個 CPU 架構可以有不同的微架構實現,例如上圖右側中的例子:Arm 的 Cortex A710 和 Arm 的 Neoverse N2 兩款 CPU 核心,都是基于 Armv9.0 架構實現
25、,同一款軟件也同樣可以在兩款 CPU 上運行。上圖中展示的是 Arm 的 CPU 架構演進,Arm 自 2011 年推出基于 64 位的 Armv8 架構以來,保持著逐代演進的節奏,根據市場和客戶的需求,不斷地在安全、性能、功能等方面加入不同的 CPU 特性,不同的 CPU 特性會組合成為一個 CPU 擴展,也就是一個?。ㄐ拢┌姹?。Arm 的 CPU 版本是逐年演進且向前兼容的,像 Neoverse 二、Neoverse 生態與軟件遷移 22 N2 是基于 Armv9 的架構,它可以同時兼容前代架構的所有特性,系統軟件等也可以通過查詢系統寄存器了解當前硬件所實現的具體 CPU 架構特性。201
26、8 年 Arm 戰略性地將服務器芯片設計和傳統客戶端芯片設計分離,推出了 Arm Neoverse 產品線,縱向看 Arm Neoverse 平臺有三個系列產品,V 系列、N 系列和E 系列。V 系列強調性能,可提供最高單核處理能力,主要用于 HPC 和數據中心云應用等;N 系列更注重性能、功耗和面積的平衡,具備最高的可擴展性,主要適用于數據中心、云計算應用;E 系列更注重功耗和面積,主要應用于無線接入等功耗受限的領域。橫向看 Neoverse 平臺近幾年推出的 CPU 產品,N1 平臺是第一代聚焦基礎設施的CPU實現,目前已經獲得廣泛應用。在服務器領域,基于N1的產品有AWS和Ampere的
27、服務器芯片,DPU 領域有英特爾基于 Neoverse N1 的 DPU 實現。第二代是 V1,屬 V 系列產品,更注重單核性能,新增 2256 的 SVE 加速引擎,AWS 的 Graviton 3 是基于 V1 來實現的,并且已經于今年 5 月份正式商用。N2 是第一個支持 Armv9 架構的 CPU 核心,支持 2128 的 SVE 引擎,倚天 710 芯片也是基于 N2 平臺實現的。二、Neoverse 生態與軟件遷移 23 Poseidon 平臺基于 Armv9.2 架構,在 N2 的基礎上性能再提高 30%,且增加了 CCA架構特性,支持機密計算。上圖展示的是 Arm Neover
28、se 平臺推出以來,在最近兩年時間里取得的一些成就??梢钥吹皆谠粕?,AWS、微軟、谷歌、阿里云等都推出了基于 Arm Neoverse 的云實例。在智能網卡領域,Marvell 推出了基于 Neoverse 的智能網卡,谷歌云和英特爾聯合推出了“Mt Evans”DPU。在企業領域,惠普發布了基于 Ampere 的 ProLiant Gen11 平臺,也代表 Arm 正進入傳統的企業領域。同時在規范方面,Arm 推出了 System Ready 認證項目,針對Arm 系統的軟硬件進行測試認證,確保最終 Arm 的系統可以開箱即用和安裝多樣的操作系統,過去兩年已經有五十多個系統獲得 System
29、 Ready 認證。二、Neoverse 生態與軟件遷移 24 聚焦云計算領域,從上圖中可以看到 Arm Neoverse 系統已經被部署在公有云、私有云,混合云等方方面面,且已經被國內外主流云計算廠商所采用,比如阿里云、騰訊云、AWS、微軟、谷歌等。在云原生的軟件生態方面,Arm 持續致力于開源軟件開發和支持。目前 Arm 對超過 100 個開源項目進行投入,可以看到(上圖)自下而上從網絡、OS、虛擬化、容器,編程語言以及各種上層應用負載,Arm 都有很完善的支持。對 二、Neoverse 生態與軟件遷移 25 底層網絡側的 DPDK、OVS、ODP 均可支持。在語言層面,OpenJDK、G
30、oLang 等也都可以在 Arm 平臺上直接運行,包括壓縮方面的主流計算庫,Arm 也可以很好的支持。頂部(上圖)列出了一些主流的云負載應用,有常見的一些數據庫、緩存、Web 服務器、大數據、存儲等。左側(上圖)中可以看到 Arm 在 CI/CD 領域也有很大的投入,GitLab、Github Actions、Travis 等都原生支持 Arm 系統,方便開發者在 Arm系統上進行開發構建。在操作系統領域,從主流的發行版 OS 到社區版 OS,Arm 都已經是所謂的”第一等公民“,Red Hat Enterprise Linux、CentOS、SUSE、龍蜥社區等對 Arm 系統都有原生支持。
31、二、Neoverse 生態與軟件遷移 26 在編譯器領域,在 GCC 和 LLVM,Arm 和生態伙伴一起合作,持續投入,確保在Silicon 硬件系統面世以前,相應的架構特性和微架構實現就在編譯器中獲得支持。隨著編譯器版本的更新,Arm 會逐步支持相應架構特性,以及相應微架構實現,保證客戶用最簡便的編譯方法獲得最優化的運行性能。從另一角度可以看到,Arm 會把自己的 IP 路線圖和編譯器路線圖相配合,例如在2024 年之后,相應的編譯器就會支持 Poseidon,我們會在 Poseidon 平臺落地前,就把相應的功能支持加入到編譯器當中,保證最終用戶拿到硬件之后可以第一時間用現有的編譯器獲得
32、最好的性能。2.多兼容、可擴展,Arm 多業務場景性能大幅提升 下圖中列了 Neoverse 平臺的 N1、N2 兩款 CPU 核心以及 Cortex A72 的性能對比及架構特性的增強。Arm Neoverse N1 這款 CPU 核心,對比 Cortex A72 有 60%的性能提升,同時降低了 30%的功耗。Arm Neoverse N1 加入了很多服務器領域的架構特性,例如獨立的L2 Cache,支持原子操作,同時也支持基本的 RAS 特性。二、Neoverse 生態與軟件遷移 27 接下來的 Neoverse N2 CPU 核心,在 N1 基礎上提升了 35%的性能,且保持了同樣的功
33、耗,使得 N2 有了非常好的可擴展性,同時 N2 也是第一款支持 Armv9 架構的CPU 實現,尤其指出 N2 實現了 MPAM 架構特性,類似于傳統 x86 的 RDT,可以把內存及cache進行隔離劃分,可以避免系統抖動及云環境下多租戶之間的相互影響。使用基于 Arm Neoverse 平臺的服務器,可以獲得更高的性能,更低的功耗,以及最終帶來更低的部署成本。二、Neoverse 生態與軟件遷移 28 給大家列一個端到端的例子,上圖中包含網絡服務的端到端的解決方案,可以看到從整個解決方案中的各種軟件,Arm 都有相應的性能提升,比較熟悉的包括前端的web 服務、反向代理、防火墻,后端的數
34、據庫、緩存,以及業務處理的 Java、視頻編解碼等,Arm 系統相對于同代的 x86 系統,都有 20%以上的性能優勢。相對于第一代N1來說,N2在各種應用負載上均有大幅的性能提升,在MemcacheD、MySQL、NGINX 上分別有 30%、29%、48%的性能提升。二、Neoverse 生態與軟件遷移 29 上圖中為大家展示的是我們基于 Neoverse N2 的倚天 g8y 實例,和傳統 x86 實例的實測對比結果,我們對 Web 服務器場景進行測試,使用默認的編譯器及軟件版本,最終測試得到的結果顯示,對于 HTTP 場景下,g8y 實例相對于 x86 實例有 20%的性能優勢。如果再
35、考慮加密層面,針對 HTTPS 進行測試會有 38%的性能優勢。倚天 g8y 實例將于 11 月 15 號正式商用,相應的測試參數都在上圖中列了出來,大家可以參考進行對比測試。同時我們也進行了內存數據庫 Redis 的測試,在 pipeline 參數分別設置為 1、50、100 的情況下,基于倚天 710 芯片的 g8y 實例相對于 x86 實例分別有 10%、20%,36%的性能收益。其中整個軟件都是直接用現有的開源軟件項目直接下載并直接編譯安裝,無需經過任何手動優化即可獲得圖中的結果。3.有效操作優化保障代碼安全,實現性能提升 在上文中我們已經看到,Arm 本身有很完善的軟件生態,尤其在云
36、原生領域,用戶在使用的時候,基本無需進行特殊代碼改動,接近于開箱即用的場景,我這邊給到大家的遷移建議主要是針對一些自研非開源的軟件,尤其是大家之前的軟件中使用了一些針對 x86 系統的手動優化,在這些場景下,主要是在 SIMD 并發處理和內存訪問優化方面給大家提一些建議。二、Neoverse 生態與軟件遷移 30 首先是 SIMD 單指令多數據的優化,通過使用這種技術,我們可以在一條指令中同時執行多個操作,提高操作并行度,進而最終提高 IPC。Arm 架構主要包含兩個架構擴展,Neon 和 SVE,特別適合用在一些數據量比較大的處理場景,起到加速作用,例如視頻編解碼、圖形圖像處理、音頻語音處理
37、、壓縮與解壓縮,以及一些網絡的處理等等。首先來看 Neon,我們可以把一個 128 比特的寄存器,當做是幾個元素的集合,元素的大小可以是 8、16、32、64 位,元素可以被當作整數或者浮點數進行處理,但 二、Neoverse 生態與軟件遷移 31 是要保證這里面的每個元素和數據類型是相同的,對應的元素會組成一個通道,當我們執行一條 Neon 指令的時候,就可以同時處理多個數據元素,提高效率。再看 SVE 架構擴展,其功能和 Neon 類似,但 SVE 相比 Neon 主要有兩個方面的優勢:從架構角度看,Neon 寄存器寬度固定為 128 比特,限制了它的擴展。SVE 在架構上允許從 128
38、一直到 2048 比特的位寬,只要是 128 比特的整數倍就可以,給了設計者更大的靈活度。從軟件角度看,SVE 在軟件上不需要關心 Vector 具體的寬度,開發人員只需要寫一套代碼,就可以運行在不同硬件上。二、Neoverse 生態與軟件遷移 32 關于使用 Neon 和 SVE 加速,最常用的方式是通過傳入一些編譯選項,或者編譯器識別當前 CPU 類型去自動應用 Neon 和 SEV 加速。但如果大家發現了一些熱點想要手動進行優化的時候,建議直接用 intrinsics 方式,相對于匯編代碼,代碼邏輯更清晰且更容易編寫,同時也便于編譯器進一步進行性能優化。關于性能優化的例子:Arm 在 S
39、PDK 當中應用 Neon 對算法進行優化,無論編碼還是解碼,基本上都有大約 2 倍的性能提升,在 SPDK 內存清零操作中,使用 SVE 加速獲得了 8 倍的性能提升。右側(上圖)是代碼的示例,通過代碼示例,在右下角也可以看到,這套代碼沒有具體 vector 寬度的指定,不管最終 SVE 硬件的寬度是 128 還是 256,都可以直接運行。另外也可以看到這個 SVE 版本的循環沒有針對尾循環的特殊處理,因為 SVE 擴展配合特殊的循環指令以及相應的掩碼預測寄存器,可以自動處理尾循環。二、Neoverse 生態與軟件遷移 33 Arm 和傳統 x86 CPU 之間一個很顯著的區別是它們的內存模
40、型(memory model)。大家最直觀的內存序是順序內存序(SC),這種情況下所有的內存操作都不會亂序,好處是容易理解,但對于 CPU 的實現限制太嚴,會嚴重影響 CPU 性能。目前比較多的是 x86 采用的 TSO 模型,相對于第一種 SC,解除了一些限制,允許存儲和加載這兩個操作亂序。Arm 架構則采用了一種限制更少的 memory model,這種模型下所有的內存加載和存儲操作都可以進行亂序,這樣給了微架構設計者最大的自主權,可以帶來更高的性能。二、Neoverse 生態與軟件遷移 34 Arm 為了提高性能允許各種內存操作進行亂序,當我們需要按照一種固定的順序執行時,Arm 提供了
41、各種內存柵欄來保證內存訪問的順序,幫助大家來保證代碼正確性。從左到右(上圖)分別是 Load-Acquire/Store-Release 半柵欄、DMB 全柵欄、DSB、ISB,屏障的限制越來越強,對性能的影響也越來越大,在保障正確性的前提下,盡量選擇比較弱的柵欄,做到恰到好處地實現正確性和性能的平衡。我們的建議是寫代碼時,先選擇比較強的柵欄,保證代碼的正確性,后續進行代碼評測優化的過程中如果發現成為瓶頸的話,再選用一些比較弱的柵欄進行優化。上圖是 Arm 對 DPDK Virtio 應用進行優化的例子,包含前端后端,通過一個隊列進行通信,相當于一個生產者一個消費者。這里最初使用的是全柵欄,后
42、續在性能測試時發現是一個瓶頸,做優化時把相應的全柵欄 DMB 換成了半柵欄后,在 PVP 測試場景下獲得了 20%的性能提升,只要改動這一處即可達到性能提升的效果。二、Neoverse 生態與軟件遷移 35 這里說明一下,Arm memory model 是一種硬件定義的內存模型,對于大多數情況,我們并不建議大家直接操作依賴于具體架構的匯編代碼,一種更推薦的方式是借助于語言定義的 memory model,例如我們可以使用 C+11 或者 C11 的 memory model,調用其 API,這樣工具鏈會處理語言的 memory model 并自動映射到最終硬件架構的 memory model
43、,這樣的操作方便移植且不容易出錯。最后再次強調,與內存序相關的編程非常復雜,memory model 是非常容易出問題的點,我們必須仔細權衡其正確性和性能。為了代碼的安全,建議大家在開發初期可以使用一些較強的屏障指令保證邏輯正確,在后續的代碼優化過程當中,通過移除一些冗余屏障或在必要時切換到較輕的屏障,最終達到提高性能的目的。三、阿里云倚天 710 實例助力 ABACUS 新實踐 36 三、阿里云倚天 710 實例助力 ABACUS 新實踐 作者:蔡淳,北京科學智能研究院高性能計算團隊負責人 2022 年 11 月 5 日,“倚天開啟云原生算力新時代”專場在杭州云棲大會 D 館云棲科創 SHO
44、W 場舉行,北京科學智能研究院高性能計算團隊負責人蔡淳發表了倚天助力 AI for Science:ABACUS 新實踐的主題分享。本文根據該演講整理而成,主要分為三個部分:1)AI for Science 探索材料研發新范式 2)倚天 710 的適配與調優 3)基于 E-HPC 的萬核級別算例驗證 北京科學智能研究院高性能計算團隊負責人 蔡淳 三、阿里云倚天 710 實例助力 ABACUS 新實踐 37 1.AI for Science 探索材料研發新范式 首先,講一講 AI for Science 如何定義材料研發流程中的新范式。材料創新是藥物設計、新能源等領域發展的源動力。材料研發的范式
45、由傳統的大量重復實驗試錯,升級為先通過理論模擬篩選出可能的材料,再進行驗證研發的計算驅動流程。但是,在進行理論模擬的過程中,維數災難阻礙了高精度計算的進行。借用保羅狄拉克所說:“有了量子力學之后,對于所有的化學問題和大部分的物理問題,所依照的基本物理定律都已經明確,困難僅在于這些定律的精確應用會導致數學方程過于復雜而無法求解?!比?、阿里云倚天 710 實例助力 ABACUS 新實踐 38 為了解決維數災難的問題,科學家把最基礎、最精確的物理模型層層抽象,在不同體系中,選擇相對應的物理模型,以保證能在合理的時間內給出計算結果。但不同尺度的物理模型,在時間和空間上有多個數量級的差異,結果的精度也有
46、不小差距。AI for Science 方法旨在解決上述問題:它能夠通過機器學習的方式,將高精度方法下學習的特征應用到更大體系下,同時擁有高精度的計算結果,以及高效率的求解時間。在原子尺度分子模擬方法方面,還存在一些挑戰。傳統的分子動力學方法,需要科學家提供力場經驗參數,勢函數開發周期非常長。對于密度泛函理論(DFT)來說,DFT 軟件的代碼分支非常龐雜,研發周期長;DFT算法使用了交換關聯泛函近似,但精度越高的近似方式計算量越大。三、阿里云倚天 710 實例助力 ABACUS 新實踐 39 深度勢能方法是基于機器學習的分子動力學方法。它很好地耦合了科學計算、機器學習與高性能計算。左側的圖展示
47、了深度勢能方法的訓練流程。它通過 DFT 計算原子勢,用神經網絡學習勢函數,最后將它應用到分子動力學中,從而實現高效率、高精度的計算。上圖中間的結果,展示了深度勢能方法和傳統 DFT 方法計算得出的分子徑向分布函數對比,其結果非常一致。三、阿里云倚天 710 實例助力 ABACUS 新實踐 40 DFT 是一種通過求解薛定諤波函數方程,直接求解物質性質的算法。假設給定一個晶體的晶胞參數等信息,通過 DFT 方法計算可以得到它的電導率、體系密度等基本的物理性質。它是幾乎不需要經驗參數的第一性原理方法。研究者也憑借著這項工作獲得 1998 年的諾貝爾化學獎。如上圖公式所示,密度泛函理論的核心是,將
48、系統的總能量 E 表示為電子密度 的泛函。左下角展示了DFT的雅各布天梯,從最簡單的局域密度近似開始,以計算量為代價,逐漸接近通過精確的量子力學方法計算得到的結果。DeePKS 方法采用神經網絡模型表示高精度方法與低精度方法之差;研究人員可以使用 DeePKS 軟件,先使用低精度的泛函,用比較高的效率給出結果,再將結果加上 DeePKS 方法給出的修正值,從而讓計算結果逼近高精度的泛函。右圖是水分子中氧元素之間距離的徑向分布函數:DeePKS 方法和高精度 DFT 方法計算的結果能夠很好的吻合;相比之下,使用 PBE 泛函的計算結果會出現比較大的偏差。三、阿里云倚天 710 實例助力 ABAC
49、US 新實踐 41 AI+材料科學范式需要依賴 DFT 軟件為 AI 模型訓練產生數據;訓練中的模型會再次影響 DFT 軟件的計算結果,這一過程需要反復迭代直至收斂,其中需要進行大量的DFT 計算。ABACUS(中文名“原子算籌”)是一款國產開源的密度泛函理論軟件。ABACUS 最早是由中科大的何力新老師課題組發展起來的,并且在 2021 年 3 月加入 Deep Modeling 開源社區。三、阿里云倚天 710 實例助力 ABACUS 新實踐 42 作為一款科學計算軟件,ABACUS 研發突破了傳統課題組的代碼開發方式,把代碼托管在 GitHub 平臺,歡迎開源貢獻者一起進行新功能的開發以
50、及錯誤的修復。加入 DeepModeling 社區之后,ABACUS 迎來了來自中科大、北京大學、物理所以及北京科學智能研究院(AISI)等不同單位的貢獻者。值得一提的是,北京科學智能研究院(AISI)是鄂維南院士在 2021 年建立的首個以AI for Science 為使命的科學研究機構。2.倚天 710 的適配與調優 接下來,為大家介紹 ABACUS 如何遷移到倚天 710 云平臺。倚天 710 的操作系統是阿里云提供的 Ali Linux3,它能夠很好地支持現有 Linux 的軟件生態。用戶在安裝軟件時,可以直接從包管理器下載需要的依賴,不再需要重新手動編譯。倚天 710 芯片是基于
51、ARM v9 架構開發的,支持 SVE、INT8mm、BF16mm 等指令集加速。除此之外,ARM 平臺為大家提供了高性能的數學庫,它可以讓研究者注重算法開發,不需要操心矩陣計算的實現方式。三、阿里云倚天 710 實例助力 ABACUS 新實踐 43 上圖是 ABACUS 自帶算例進行的性能對比圖。最右邊一列是倚天 710 的計算時間,它和七代 x86 架構 CPU 以及六代高頻實例,在計算時間上是一致的。需要注意的是,上面的測試中倚天 710 使用的實例是 4xlarge 規格,僅為 x86 實例的一半。這個結果得益于倚天 710 的獨立物理核心、獨立 cache 和 ALU 性能,且無超線
52、程損耗。3.基于 E-HPC 的萬核級別算例驗證 三、阿里云倚天 710 實例助力 ABACUS 新實踐 44 研究人員在阿里云 E-HPC 上,進行了貼近實際算力的驗證。阿里云團隊提供的彈性高性能計算 E-HPC 服務,從 ECS 的虛擬機鏡像創建計算節點,實現計算集群資源的彈性伸縮,保障計算在云上與本地超算類似的操作體驗下高效進行。E-HPC在創建ECS實例時,可以選用競價實例,讓時間要求不敏感的科學計算任務,在云平臺資源使用的低谷期,以非常低廉的價格進行科學計算。ABACUS 針對 350 eV 的極端高溫下的 32 個硼原子體系,在由倚天 710 實例構成集群上進行了最新發展的 Sto
53、chastic DFT 方法的計算。如上圖所示,研究人員使用了 11008 個倚天 710 的 CPU 核心,即 86 個 128 核節點。這是一個弱擴展的任務,每個核心數的運算量是一定的,計算資源消耗隨著核心數增加而線性增加。在 ABACUS 實現的軌道并行和 K 點并行兩種不同的任務劃分模式下,計算時間都在有限范圍內增長,并行性能非常好。在軟件精度方面,不同的核心數計算得到的能量和壓強一致,計算結果是正確的。三、阿里云倚天 710 實例助力 ABACUS 新實踐 45 每個展示的數據點都由十個隨機種子初始化進行計算,以避免系統性的隨機誤差。隨著計算量的增加,壓強和能量的標準差在不斷地收斂,
54、直至理論的最優值。在實際運算時,研究人員可以針對下游任務需要的精度,選用相應的核心數進行計算。本次實驗驗證了倚天 ECS 實例的下列優勢:首先,倚天 710 有著穩定的主頻,它能夠保證在高密計算的科學計算場景下不降頻,保持性能輸出的一致性。其次,倚天 710 實例的擴展性優秀,它能夠在 1 萬級別的核心規模上,實現接近線性的加速。最后,倚天實例的性價比相較于 x86 非常高,研究院可以節省將近 70%的成本。倚天幫助我們在傳統的科學計算任務由本地超算部署到云平臺的過程中,實現降本增效。四、基于倚天的視頻云原生業務新范式 46 四、基于倚天的視頻云原生業務新范式 作者:何亞明,阿里云智能視頻云總
55、經理 2022 年 11 月 5 日,“倚天開啟云原生算力新時代”專場在杭州云棲大會 D 館云棲科創 SHOW 場舉行,阿里云智能視頻云總經理何亞明帶來了題為基于倚天的視頻云原生業務新范式的主題分享,詳細地介紹了視頻云原生業務基于倚天云服務器的新走向,本文根據該演講整理而成,供大家閱覽。阿里云智能視頻云總經理 何亞明 1.市場份額第一,阿里云視頻云云邊端能力凸顯 視頻作為一種內容表現形式,目前已經覆蓋直播、短視頻等多個行業,社會化的新視頻時代,也就是“社會視頻化”已經到來。而在內容產出維度,不止有前期拍攝,還有對視頻的處理、分發、傳播等動作,并加入了 AI 功能。四、基于倚天的視頻云原生業務新
56、范式 47 阿里云視頻云的云邊端一體的數智化音視頻能力,包含了云端一體、彈性伸縮、交互順滑、技術普惠、數智升級等優勢特點,所以我們認為視頻是一個交叉學科創造的技術領域,不論是傳統信號處理編解碼還是傳輸、網絡、AI 等,大量的算力需求一定是首要選擇。在 IDC 報告中,阿里云視頻云連續四年榮獲中國視頻云整體市場份額第一。先前也有提到,表面看視頻拍攝完成后直接上傳直播、分發,但實際背后的技術處理需要經過非常長的鏈路,且成本和門檻以及專業度都非常高。四、基于倚天的視頻云原生業務新范式 48 之所以說視頻云是云原生的最佳案例,是因為整個視頻云就是“長”在阿里云云原生上的,上圖中可以看到從上到下,不管是
57、 PaaS 還是 SaaS 工具,實質都是包含服務化的性質。在彈性層面,也不止時間彈性和空間彈性,還有很多 CPU、GPU 等一些 Intel,ARM 的異構資源。2.邁向多趨勢,業務場景+客戶需求推動視頻高清化技術不斷向前 視頻發展呈現高清化、低延時、智能化、專業化等多個趨勢。以高清化維度舉例,因為用戶感官對視頻高清的極致體驗的要求,類似視頻平臺標清分辨率從最小的 SD 增長到 1080P,這是近乎七倍的信息量增長,到現在的 4K、8K,分辨率的提升帶來的是大量數據量的膨脹,加之用戶的常態需求,給算力、存儲,網絡傳輸帶來了不同程度的壓力。同時,在一些高運動場景下,視頻幀率越高,從肉眼體驗上就
58、會越清晰,寬色域也是同樣的道理。在沉浸式體驗的場景下,視頻越高清、分辨率越高,沉浸感也就越強,這些實實在在的挑戰也在推動著視頻高清化技術不斷向前。四、基于倚天的視頻云原生業務新范式 49 第二個趨勢是低延時。在觀看同一場足球比賽直播時,可能隔壁已經在歡呼,你觀看的內容球員還沒有進球,這就是延時。即使是標準的寬帶電視,也有 5s 以上的延時,但是隨著對低延時要求極高的 VR、AR 等沉浸式體驗的興起,對底層計算力和芯片的要求也越來越高。不管是低延時還是高碼率,最核心的點就是視頻編碼。視頻標準每升級一代,技術復雜度就會提高十倍;視頻編碼每升級一代,質量碼率則小 50%,但視頻升級數據量不止 2 倍
59、,這是第二個矛盾;同時,摩爾定律在變慢,算力增長無法實時跟上高清/8KVR 的直播畫面,所以復雜度和視頻算力之間就是第三個矛盾。四、基于倚天的視頻云原生業務新范式 50 我們認為解決三個矛盾實際上是三個方向的結合,即軟硬協同提速度、AI 處理提畫質、云端聯合保體驗。軟硬協同要充分利用 CPU 的能力,在計算、編碼優化、算力提升上和硬件結合,算力提升是大方向。其次是智能處理,我們利用大量 AI 技術,把大量畫面中人眼不關注的地方做智能化的忽略。最后一點云端聯合,算力不僅云上有,云端的聯合我們可以做后處理,算力不夠時發小分辨率視頻,用端上的算力進行超分,做成大視頻,所有的結合就是我們智能編碼解決方
60、案,當然今天著重講“軟硬協同”。3.視頻云原生業務擁抱倚天 ECS,可靠、穩定、彈性 倚天云服務器在視頻云原生業務下可以發揮可靠、穩定、彈性的優勢,包括直播、點播,媒體處理等,很多業務可以混跑,時間復雜度和算法復雜度也可以結合在一起。四、基于倚天的視頻云原生業務新范式 51 算力的需求恒定存在,很多活動高峰時對算力要求不一樣,倚天芯片可以給視頻云更好的選擇。一些新品存在超頻、降頻等問題,使得業務復雜度和抖動較大,選擇和倚天結合的 Arm 芯片給我們帶來了更強的穩定性。我們選擇把算力分布式地部署在不同池子中,在真正“災難”到來時也相應增加了業務的逃逸能力。在算法層面,基于自研 S263 和 S2
61、65 結合 Arm 芯片帶來了很多效能提升。在做引擎的過程中我們發現 Arm 在各種視頻、轉封裝、文件,流媒體等協議上適配的過程非常靈活,與此同時 Arm 芯片的架構給視頻云的轉碼業務也帶來了更多的選擇。四、基于倚天的視頻云原生業務新范式 52 在調度方面,使用 Arm 芯片以后,我們實測在單機上資源水位率,CPU 利用率可以提高到 95%,幫助視頻云提高了 10%的 CPU 利用率。在視頻編碼技術層面,Arm 提供了強大的工具幫助指令集實現輕松遷移,不管是高并發的指令還是進程優化,從架構設計上都有天然的優勢,和視頻云的編碼也是一個很好的結合。上圖中可以看到,和平頭哥合作,結合大量快速的算法優
62、化,遷移到 Arm 上之后,S264、S265 相對 C7 分別可以再提高 31.9%和 33%。四、基于倚天的視頻云原生業務新范式 53 性能的提升帶來了成本的節省和延遲的降低,視頻云是典型的大規模視頻處理場景業務,成本和體驗就是企業的核心競爭力。倚天的超強算力也讓 8K 視頻實時直播成為可能。四、基于倚天的視頻云原生業務新范式 54 在 AI 方面,我們在推理上及自適應上,相較過去 x86 架構,都在不斷地進行性能提升,也在正面幫助視頻云降低業務成本。同時,Arm 機型混跑也已經在視頻云點播業務上線。4.倚天 ECS+Arm 芯片,發揮算力優勢,打造核心競爭力 客戶和業務場景的需求給視頻技
63、術帶來更多挑戰,不管是更清晰、更流暢、更低延遲還是更高清的體驗,都需要在算力上對視頻進行大力支持,后續我們會和倚天云服務器和 Arm 芯片深度合作,發揮算力優勢。四、基于倚天的視頻云原生業務新范式 55 通過視頻的力量讓創新變得更簡單,倚天710也給了我們更好的機會和更強的技術,我的演講就到這里,謝謝大家。五、RDS On 倚天 ECS 的技術演進 56 五、RDS On 倚天 ECS 的技術演進 作者:彭祥,阿里云數據庫事業部資深技術專家、RDS 產品部負責人 2022 年 11 月 5 日,“倚天開啟云原生算力新時代”專場在杭州云棲大會 D 館云棲科創 SHOW 場舉行,阿里云數據庫事業部
64、資深技術專家、RDS 產品負責人彭祥發表了云數據庫新未來-新一代 RDS 架構和優化實踐的主題分享。本篇內容根據該演講整理而成,主要分為兩個部分:1)RDS 數據庫的架構演進 2)RDS On 倚天 ECS 的技術演進 阿里云數據庫事業部資深技術專家、RDS 產品部負責人 彭祥 1.RDS 數據庫的架構演進 如下圖所示,展示了阿里云 RDS 的發展歷程。2009 年,AliSQL 去商業數據庫實現了腳本化自動運維。2011 年,阿里云 RDS 上線,成功實現了全自動部署免運維,以及高可用容災能力。2014 年,RDS 支持 OpenAPI,以及 PostgreSQL、SQL Server等多引
65、擎,成功進入服務化階段。五、RDS On 倚天 ECS 的技術演進 57 2019 年,阿里云實現了 DAS 自助診斷服務,支持全自動彈性伸縮,以及基于機器學習的智能決策和參數調優;同時集團電商業務開始全面上云。自此阿里云 RDS 正式步入智能化階段。2022 年,RDS 與阿里云基礎設施深度融合,支持 Serverless 產品彈性,與 ECS 以及 CIPU 高度一體化,成功實現國產硬件上深度優化,以及自主可控內核。阿里云RDS 開始全面云原生化?;诎⒗镌?ECS 和 ESSD 等基礎服務,RDS 數據庫構建了計算和存儲分離的架構,大幅提升了產品能力和客戶業務價值。在這個架構之下,用戶可
66、以利用云盤快照功能,快速構建數據庫的備份恢復能力。除此之外,用戶也可以利用ECS的彈性資源能力,輕松實現資源的快速拉起和擴容。五、RDS On 倚天 ECS 的技術演進 58 RDS 基于阿里云 IaaS 服務,構建了 K8S 集群調度系統,將數據庫容器化部署在其核心管控架構之上。該平臺支撐了 RDS 的四款引擎,包括 MySQL、PostgreSQL、MariaDB 以及 SQL Server。在這個架構之上,阿里云實現了多項核心業務創新,包括 Serverless,云原生 Kubernetes 多租戶部署形態等等。在架構升級的過程中,為了解決本地盤遷移至云盤后出現的 IO 等相關問題,阿里
67、云技術團隊進行了大量的技術創新。團隊通過對 Binlog 體系改造,以及對 RTO 和 RPO等方面進行有效提升,解決了由于架構演進帶來的 IO 延時問題。Binlog 作為 MySQL 數據庫最基本的機制之一,是所有云上 MySQL 數據庫深度依賴的功能。但是 Binlog 機制也有很多局限性,比如大事務處理,高吞吐場景下的局限性等。阿里云研發團隊通過對 Binlog 進行深度改造之后,大幅提升了吞吐和延時等性能指標。除此以外,阿里云在 Buffer Pool 初始化以及 Crash Recovery 進行了深度優化。盡管有大量的優化細節和代碼改造,其內核與開源社區的內核能力保持兼容。五、R
68、DS On 倚天 ECS 的技術演進 59 RDS 通過 OnECS 架構演進,為產品能力以及客戶業務價值提供了大量優化的可能性。比如 OnECS 基于 ESSD 不但支持常規的 PL1、PL2、PL3 云盤,還支持 PL0 和AutoPL 等,幫助客戶實現降本增效的目的。與此同時,OnECS 支持 PL 等級的動態降級,業務在降級過程中全程無感。除此以外,OnECS 支持云盤擴容和縮容能力,使數據存儲隨著客戶數據和業務發展階段進行動態調整,最終達到降本增效的效果。隨著穩定性的提升,OnECS 架構能夠在高可用只讀實例的基礎上,支持基礎版的只讀實例,并將只讀實例的成本下降50%,進一步實現了降
69、本增效的目的。2.RDS On 倚天 ECS 的技術演進 五、RDS On 倚天 ECS 的技術演進 60 接下來,講一講 RDS On 倚天 ECS 的技術演進。通過前面提到的技術架構演進,阿里云大幅提升了數據庫 RDS 由英特爾機型的 OnECS 架構向 On 倚天 ECS 遷移的研發效率。如上圖所示,在 MySQL 讀寫混合負載場景下,RDS On 倚天 ECS 的性能小幅超越第七代 x86 機器。在不同實例規格下,RDS On 倚天 ECS 的性能提升了 10%到 25%不等。除此之外,倚天 ECS 相比第七代英特爾機型,售價下降了 13%,整體性價比提升了 25%??蛻魳I務和應用從
70、x86 架構數據庫向倚天 ECS 架構數據庫遷移的過程中,業務代碼改造量是零,成功實現無縫遷移??蛻糁恍枰褦祿斓倪B接地址,從 x86 架構改成 RDS On 倚天 ECS 的地址即可。接下來,給大家深度分享一下 RDS On 倚天 ECS 在技術上的深度優化。RDS 數據庫作為一個最基本的 PaaS 服務,需要在 ARM 體系架構的服務器進行深度調優。這是一個全棧優化的過程,從芯片的 prefetch 策略優化到 ECS 的 TSO 等優化,以及操作系統優化、編譯器優化、數據庫內核代碼優化以及參數調優等。其中,最核心的部分是數據庫的代碼優化、參數調優以及編譯環境調優。On 倚天 ECS 支
71、持 RDS 兩款傳統開源引擎產品 MySQL 和 PostgroSQL。上圖展示了這兩款引擎,在優化之前和優化后的性能變化。經過上述深度調優之后,在只寫業務場景下,RDS 的性能是第七代 ECS 云服務器性能的 110%,只讀能力高達 125%。五、RDS On 倚天 ECS 的技術演進 61 上圖是阿里云官網 RDS 售賣控制臺的截圖,用戶可以在購買過程中選擇使用 x86 架構或 ARM 架構。目前,該產品還處于邀測階段。倚天 710 不只是單核性能上的提升,同時還體現在數據加密、數據解密、數據壓縮、數據解壓等業務場景里的性能提升。接下來 RDS 數據庫也會在這些特殊場景下進行深度優化。我今
72、天的分享就到這里,謝謝大家。點擊這里,查看嘉賓的精彩演講視頻。六、倚天平臺全棧應用性能優化與遷移最佳實踐 62 六、倚天平臺全棧應用性能優化與遷移最佳實踐 作者:李三紅,阿里云程序語言與編譯器技術總監 2022 年 11 月 5 日,“倚天開啟云原生算力新時代”專場在杭州云棲大會 D 館云棲科創 SHOW 場舉行,阿里云程序語言與編譯器技術總監李三紅發表了倚天平臺全棧應用性能優化與遷移最佳實踐的主題分享,本篇內容根據該演講整理而成,主要分為四個部分:1)倚天 ECS 應用生態全景 2)全棧應用性能優化實踐 3)跨架構遷移 4)重要發布 阿里云程序語言與編譯器技術總監 李三紅 1.倚天 ECS
73、應用生態全景目前,倚天 ECS 支持豐富的開源生態。六、倚天平臺全棧應用性能優化與遷移最佳實踐 63 在開發者工具方面,倚天 ECS 支持 GCC、LLVM 等編譯器,以及 Java(OpenJDK、GraalVM)、Python 等語言;在 OS/基礎庫方面,倚天 ECS 支持 glibc、dpdk、jemalloc、OpenSSL 等基礎庫,以及 ubuntu 等 OS;在容器/虛擬化方面,支持安全容器、Kubernetes(K8S)、Docker、KVM 等等。如上圖所示,從應用生態全景看倚天 ECS 的支持。在操作系統方面,倚天 ECS 支持OpenAnolis Anolis OS 創
74、新 LTS 版,以及其定制版 Alibaba Cloud Linux;在虛擬化&容器方面,倚天 ECS 支持 Dragonfly Hypervisor、ACK、以及阿里云沙箱容器袋鼠;在工具鏈和語言方面,倚天 ECS 支持 Alibaba Cloud Compiler(LLVM based)、六、倚天平臺全棧應用性能優化與遷移最佳實踐 64 Alibaba Dragonwell、Noslate Anode、APython;在中間件和工作負載方面,倚天ECS 支持 MySQL、Flink、TensorFlow、Spark 等等。使用倚天 ECS,大家比較關心的問題有兩個。1)應用如何平滑遷移倚天
75、 ECS?OS、編譯器、基礎庫,開源組件是否能提供更好的適配?是否有工具支持遷移?遷移之后,是否有優秀的云原生管理軟件?多架構的軟件版本又如何管理?2)倚天 ECS 上,應用可以獲得多大的收益?應用能跑多快?倚天 ECS 通過軟件?;A組件優化,二/三方庫優化,以及通用負載優化,最終實現全棧性能優化。通過相關工具,以及最佳實踐,也支持客戶場景應用調優。2.全棧應用性能優化實踐 六、倚天平臺全棧應用性能優化與遷移最佳實踐 65 如上圖所示,全棧應用優化主要包括倚天 ECS、操作系統、編譯器/運行時、以及應用。實現全棧優化方法主要有兩種,即 Outside in approach 和 Layere
76、d approach。其中,Outside in approach 是阿里云基于真實的 Workload 建立基線,然后基于基線進行迭代優化。在分層優化方面,阿里云的操作系統團隊、編譯器團隊、中間件團隊,以及 PaaS 團隊等,圍繞倚天 710 芯片進行各自的分層優化。舉個例子:我們結合倚天架構的特點,對特定的操作系統和編譯器版本進行的協同優化。目前,阿里云推薦的基礎軟件版本有 Alibaba Cloud Linux(3)、Alibaba Cloud Compiler(13)、Alibaba Dragonwell(11)。應用工具支持包括 KeenTune、EMT4J、Jifa、Perf(x)
77、。圍繞倚天 ECS,Alibaba Cloud Linux 有四個特點。1)Alibaba Cloud Linux 首次完成全面支持倚天 710,實現開箱即用、工單支持、十年維護。2)Alibaba Cloud Linux 歷經阿里雙 11 場景歷練,有效支撐阿里云數據庫,容器服務等云產品。3)Alibaba Cloud Linux 作為基座,我們從硬件,內核,編譯器,運行時,做了全棧應用優化,大幅提升性能。六、倚天平臺全棧應用性能優化與遷移最佳實踐 66 4)Alibaba Cloud Linux 逐步向龍蜥社區,以及上游社區開源。接下來,講一講 C/C+編譯器套件 Alibaba Clou
78、d Compiler。Alibaba Cloud Compiler 面向倚天 710 芯片,進行了全面優化。能夠更好地支持 SVE 指令;團隊基于倚天 710 芯片進行微架構調優;倚天 710 芯片上最新 C+20 特性支持:Coroutine,Modules 等等。除此之外,Alibaba Cloud Compiler 面向阿里云產品,服務云上客戶。一套編譯器,同時支持 X64,AArch64 兩種架構;支持更快的構建、編譯速度,相比 GCC 提升 15%至 40%構建加速;更多易用的編譯優化,相比 GCC 取得 5%至 15%的性能提升。六、倚天平臺全棧應用性能優化與遷移最佳實踐 67 A
79、libaba Dragonwell 的中文名是“龍井”,于 2019 年開源。如上圖所示,在倚天芯片上,Alibaba Dragonwell 在不同版本間進行迭代優化,11.0.11.6 相比11.0.8.3SPECjbb2015 吞吐量提升了 58%。在多核情況下的性能,更好地保證擴展性。接下來,講一講一鍵式調優工具 KeenTune。KeenTune 可以將云上不同的業務場景和 VM 規格,進行更好的組合,形成最佳的性能調優 profiles。KeenTune 可以一鍵式全棧調優內核參數、應用配置等。如上圖所示,倚天 ECS 基礎軟件進行了大量優化,主要有四個方向,即 Workload P
80、rofiling Driven 優化、架構差異優化、編譯優化、以及并發優化。六、倚天平臺全棧應用性能優化與遷移最佳實踐 68 Workload Profiling Driven 方面,我們根據負載特點,針對性地使用代碼大頁、XPS、內核調度、ext4 fast commit 等技術進行優化。架構差異方面,主要有 TLBi、新指令集、Code Cache、寄存器等方面的優化。其中,在新指令集方面,并發多線程是現代化通用負載的典型特征。LSE 指令在多核情況下,能夠有效提升通用負載的性能。編譯優化方面,使用了 FDO/PGO、LTO 等這些傳統的編譯器優化技術。并發優化方面,阿里云在 JAVA 虛
81、擬機領域,做了大量的 Weak Memory 優化,也做了 CAS、Lock 等多線程優化。如上圖所示,倚天 ECS 在數據庫,Big Data,Web 多項場景達到了 20%以上的性能提升。在 C+的 RDS-MySQL 場景,性能提升了 33%;在 Java 的 Fink 場景,性能提升了 30%;在 Web-tooling/Node.js 場景,性能提升了 43%;在 PHP 的 WordPress場景,性能提升了 20%。3.跨架構遷移 接下來,講一講跨架構遷移方案的全軟件生命周期支持。目前,阿里云跨架構遷移方案覆蓋了源碼、構建、測試、生產上線的全流程的跨架構支持。六、倚天平臺全棧應用
82、性能優化與遷移最佳實踐 69 l 用戶在 source code 階段,可以用工具去檢查架構上的兼容性、健康性問題。l 在構建階段,我們可以幫助用戶跨架構編譯,支持優化的基礎庫、開源庫、框架的集成。l 在測試階段,阿里云沉淀了大量的實踐案例,可以幫助用戶進行 Build Sanity 檢查,以及軟件版本依賴檢查。l 在生產階段,支持用戶進行生產參數檢查、軟件版本檢查,以及線上問題排查的工具支持。六、倚天平臺全棧應用性能優化與遷移最佳實踐 70 上圖是 ACK 面向多 CPU 架構的管理圖。一個 ACK 集群同時管理 x86 節點池和 Arm節點池。阿里云鏡像倉庫 ACR 全面支持多架構鏡像。在
83、 ACK 云原生環境里,它會根據 CPU 架構的不同,自動管理和拉取匹配當前 CPU架構的鏡像。除此之外,用戶業務可以在 x86 和 Arm 架構間平滑遷移和配置流量。我們總結一下:倚天 ECS 支持豐富的軟件、工具,并提供了豐富的文檔。用戶可以根據自己的需求選擇不同的 ECS 實例,OS 實例、工具鏈、容器。我們通過工具/解決方案支持應用遷移、以及問題排查等方案。目前,第八代 ECS 云服務器 ARM 實例 g8y 開放邀測。相關網址如下:https:/ 4.重要發布 六、倚天平臺全棧應用性能優化與遷移最佳實踐 71 接下來,介紹全新的源代碼掃描工具 Cross Platform Migra
84、tion Scanner;開箱即用的倚天 ECS 智能優化方案;以及面向開發者社區的倚天 ECS 開發指南。Cross Platform Migration Scanner 支持多語言,以及跨架構兼容性檢查。它可以在源代碼階段,掃描代碼,發現兼容性問題。上圖展示了 ECS Booster 倚天智能優化方案架構,ECS 倚天根據不同場景,Web,數據庫,緩存,視頻,AI 等不同場景,自動調配優化參數,支持開箱即用。六、倚天平臺全棧應用性能優化與遷移最佳實踐 72 11 月 15 號倚天 ECS 商業版即將正式上線,倚天 ECS 開發者指南也會在 Github 開源發布(開源地址:https:/ ECS 開發者指南提供了豐富的分析工具,幫助用戶解決不同的性能問題。以上就是我今天分享的全部內容,謝謝大家。點擊這里,查看嘉賓的精彩演講視頻。