近年來(lái),大數(shù)據(jù)行業(yè)的蓬勃發(fā)展除了來(lái)自軟件層的持續(xù)迭代與創(chuàng)新,更有賴于計(jì)算機(jī)硬件環(huán)境的持續(xù)優(yōu)化,尤其是在芯片與操作系統(tǒng)國(guó)產(chǎn)化的大趨勢(shì)下,硬件升級(jí)帶來(lái)的性能提升、成本降低、并行處理能力優(yōu)化、存儲(chǔ)與網(wǎng)絡(luò)優(yōu)化、安全風(fēng)險(xiǎn)管控等均為數(shù)據(jù)引擎的發(fā)展提供了階梯式進(jìn)步的空間。在奇點(diǎn)云2024年版《OLAP數(shù)據(jù)庫(kù)引擎選型白皮書》中,中科馭數(shù)聯(lián)合奇點(diǎn)云針對(duì)Spark+Hive這類大數(shù)據(jù)計(jì)算場(chǎng)景下的主力引擎,測(cè)評(píng)DPU環(huán)境下對(duì)比CPU環(huán)境下的性能提升效果。特此節(jié)選該章節(jié)內(nèi)容,與大家共享。
DPU概述
什么是DPU?為什么要關(guān)注DPU?
DPU(Data Processing Unit)是以數(shù)據(jù)為中心構(gòu)造的專用處理器,采用軟件定義技術(shù)路線支撐基礎(chǔ)設(shè)施層資源虛擬化,支持存儲(chǔ)、安全、服務(wù)質(zhì)量管理等基礎(chǔ)設(shè)施層服務(wù)。提到DPU,2020年英偉達(dá)CEO黃仁勛在其GTC大會(huì)上的一句話引起業(yè)界高度關(guān)注:“DPU 將成為未來(lái)計(jì)算的三大支柱之一,未來(lái)的數(shù)據(jù)中心標(biāo)配是“ CPU + DPU + GPU”。NVIDIA GTC 2020(英偉達(dá)2020年GPU技術(shù)大會(huì))上,其CEO黃仁勛的一句話引起了業(yè)界高度關(guān)注:“DPU 將成為未來(lái)計(jì)算的三大支柱之一,未來(lái)的數(shù)據(jù)中心標(biāo)配是CPU + DPU + GPU。”DPU的設(shè)計(jì)思路,是將“CPU處理效率低下、GPU處理不了”的負(fù)載卸載到專用DPU,提升整個(gè)計(jì)算系統(tǒng)的效率、降低整體系統(tǒng)的總體擁有成本(TCO,Total Cost of Ownership),以實(shí)現(xiàn)底層基礎(chǔ)設(shè)施的“降本增效”。DPU最直接的作用是作為CPU的卸載引擎,接管網(wǎng)絡(luò)虛擬化、硬件資源池化等基礎(chǔ)設(shè)施層服務(wù),釋放CPU的算力到上層應(yīng)用。對(duì)比CPU、GPU與DPU:
CPU面向應(yīng)用程序,負(fù)責(zé)進(jìn)行系統(tǒng)管理維持軟硬件生態(tài);
GPU面向科學(xué)計(jì)算,負(fù)責(zé)進(jìn)行規(guī)則計(jì)算支持?jǐn)?shù)據(jù)級(jí)并行應(yīng)用;
DPU面向數(shù)據(jù)中心基礎(chǔ)設(shè)施,負(fù)責(zé)進(jìn)行異構(gòu)計(jì)算支撐卸載網(wǎng)絡(luò)、存儲(chǔ)、安全業(yè)務(wù)等降低“Datacenter Tax”。
DPU與CPU最大的區(qū)別是,DPU是IO密集型,而GPU是計(jì)算密集型。CPU通過(guò)間接手段來(lái)支持網(wǎng)絡(luò)IO,其前端總線帶寬也主要匹配主存(特別是DDR)的帶寬,而非網(wǎng)絡(luò)IO的帶寬;DPU的IO帶寬則幾乎可以與網(wǎng)絡(luò)帶寬等同,其在支持強(qiáng)IO基礎(chǔ)上具備強(qiáng)算力。DPU的出現(xiàn)并非偶然,而是IT產(chǎn)業(yè)發(fā)展到一定階段的必然選擇。隨著AI、5G等技術(shù)的發(fā)展,端、邊、云各處的計(jì)算節(jié)點(diǎn)暴露在了劇增的數(shù)據(jù)量下,CPU的性能增長(zhǎng)率與數(shù)據(jù)量增長(zhǎng)率出現(xiàn)了“剪刀差”現(xiàn)象。同時(shí),以數(shù)據(jù)為中心的新興應(yīng)用對(duì)數(shù)據(jù)的實(shí)時(shí)處理提出了越來(lái)越高的要求。DPU則可以在數(shù)據(jù)流上就近計(jì)算,實(shí)現(xiàn)數(shù)據(jù)處理的低時(shí)延和高吞吐,更具靈活性與效率。業(yè)內(nèi)越來(lái)越多觀點(diǎn)認(rèn)為,CPU+DPU的異構(gòu)計(jì)算解決方案將是應(yīng)對(duì)大數(shù)據(jù)性能瓶頸的新趨勢(shì),DPU也越來(lái)越得到數(shù)據(jù)中心運(yùn)營(yíng)商和大數(shù)據(jù)軟件廠商的關(guān)注。因此,本書選擇“Spark+Hive”(大數(shù)據(jù)計(jì)算場(chǎng)景下的主力引擎)為代表,進(jìn)行了DPU與CPU環(huán)境下的性能對(duì)比測(cè)評(píng),為讀者提供參考。
DPU如何實(shí)現(xiàn)加速?有哪些應(yīng)用場(chǎng)景?
針對(duì)Spark+Hive的大數(shù)據(jù)計(jì)算場(chǎng)景測(cè)試,本次測(cè)評(píng)的技術(shù)方案中除了引入中科馭數(shù)Spark-Race解決方案中最底層的DPU硬件(面向數(shù)據(jù)中心的專用處理器)、HADOS平臺(tái)層(異構(gòu)軟件開發(fā)平臺(tái))外,也包含專門針對(duì)Spark的DPU加速層,其最核心的能力就是修改查詢計(jì)劃樹。簡(jiǎn)單來(lái)講就是通過(guò) Spark Plugin的機(jī)制(作為Spark插件),把 Spark 查詢計(jì)劃攔截并下發(fā)給 DPU來(lái)執(zhí)行,跳過(guò)原生 Spark 不高效的執(zhí)行路徑。整體的執(zhí)行框架仍沿用 Spark 既有實(shí)現(xiàn),包括消費(fèi)接口、資源和執(zhí)行調(diào)度、查詢計(jì)劃優(yōu)化、上下游集成等,用戶可以直接使用已有的代碼,“無(wú)痛”享受DPU帶來(lái)的性能提升。
中科馭數(shù)介紹,DPU環(huán)境對(duì)超大業(yè)務(wù)表或?qū)挶淼膉oin聯(lián)合查詢場(chǎng)景有突破性的優(yōu)化效果。例如,對(duì)于連續(xù)join 4張100萬(wàn)條數(shù)據(jù)的維表,在CPU模式下全部time out(3600s),而DPU模式下只需數(shù)百秒即可查詢出結(jié)果,計(jì)算加速比達(dá)到8.4倍。在應(yīng)對(duì)涉及復(fù)雜SQL多表查詢的挑戰(zhàn)時(shí),Spark-Race 2.0的優(yōu)勢(shì)也尤為突出。因此,本書就“Spark+Hive”引擎(包括高復(fù)雜度的數(shù)據(jù)查詢?nèi)蝿?wù)場(chǎng)景),進(jìn)行了測(cè)試和檢驗(yàn)。
DPU測(cè)試方案說(shuō)明
測(cè)評(píng)方案概述
DPU測(cè)評(píng)方案仍沿用引擎測(cè)評(píng)模型2.0,在相同環(huán)境與資源配置前提下,分別在底層硬件資源開啟DPU模型與不開啟DPU模式下,執(zhí)行本次測(cè)評(píng)SQL用例三次,采集SQL執(zhí)行耗時(shí)、整機(jī)CPU、整機(jī)內(nèi)存消耗等核心數(shù)據(jù)進(jìn)行對(duì)比實(shí)驗(yàn)。在測(cè)試過(guò)程中,除底層硬件資源開啟/關(guān)閉DPU加速功能外,保持DPU和CPU對(duì)比實(shí)驗(yàn)環(huán)境的主機(jī)與網(wǎng)絡(luò)環(huán)境一致,大數(shù)據(jù)計(jì)算引擎Hive、Yarn、Spark配置一致,測(cè)評(píng)工具(即模型2.0)一致,測(cè)試表與數(shù)據(jù)一致。
環(huán)境參數(shù)說(shuō)明
機(jī)器資源配置:12C/144G/6T 物理機(jī)1臺(tái);2C/144G/3T物理機(jī)2臺(tái)
測(cè)試工具、測(cè)試數(shù)據(jù)集、模型維度、指標(biāo)與引擎測(cè)評(píng)模型2.0保持一致,具體參數(shù)信息詳見附錄。
中科馭數(shù)DPU性能測(cè)試結(jié)果
經(jīng)過(guò)對(duì)比測(cè)試,在數(shù)據(jù)計(jì)算和處理場(chǎng)景中,DPU環(huán)境相較于CPU環(huán)境下的查詢性能提升能達(dá)到50%-60%,且DPU環(huán)境下整體較CPU環(huán)境的峰值性能資源有優(yōu)化,整機(jī)CPU峰值降低24%,內(nèi)存消耗降低50%且波動(dòng)更平穩(wěn)。
數(shù)據(jù)處理場(chǎng)景下,SQL性能提升50%
在數(shù)據(jù)處理相關(guān)的場(chǎng)景,如TPC-DS標(biāo)準(zhǔn)SQL和行業(yè)典型場(chǎng)景SQL的測(cè)試用例下,DPU模式下占優(yōu)的用例數(shù)明顯高于CPU模式下占優(yōu)的用例數(shù),且從相同SQL用例的查詢耗時(shí)數(shù)據(jù)來(lái)看,DPU模式下的耗時(shí)相較于CPU模式有50%-60%的提升。

注:性能對(duì)比計(jì)算公式,針對(duì)執(zhí)行結(jié)果數(shù)據(jù)(CPU-DPU)/CPU
表:DPU模式對(duì)比CPU模式下SQL查詢耗時(shí)性能結(jié)果表
DPU環(huán)境下的整機(jī)CPU峰值高位較CPU環(huán)境降低24%
從測(cè)試過(guò)程中采集到的整機(jī)CPU峰值數(shù)據(jù)來(lái)看,DPU環(huán)境下的整機(jī)CPU峰值高位比CPU環(huán)境下整機(jī)CPU峰值高位低24%左右,配合大數(shù)據(jù)平臺(tái)完善的調(diào)度體系,可以實(shí)現(xiàn)更多的任務(wù)并行。
DPU環(huán)境較CPU環(huán)境可以降低50%的內(nèi)存配置,內(nèi)存消耗走勢(shì)更平穩(wěn)
測(cè)試過(guò)程中采集到的內(nèi)存消耗數(shù)據(jù)來(lái)看,DPU環(huán)境在測(cè)試執(zhí)行過(guò)程中內(nèi)存消耗走勢(shì)更平穩(wěn),且整體峰值相較于CPU環(huán)境更低。從性能優(yōu)化的角度來(lái)看,DPU環(huán)境相較于CPU環(huán)境降低50%左右的內(nèi)存配置,即本次實(shí)驗(yàn)DPU環(huán)境內(nèi)存可從128G降為64G。
附錄:測(cè)評(píng)環(huán)境與數(shù)據(jù)詳細(xì)說(shuō)明
以下針對(duì)本次測(cè)評(píng)的測(cè)試環(huán)境、資源參數(shù)、測(cè)試數(shù)據(jù)集進(jìn)行說(shuō)明:
| 測(cè)試環(huán)境 | 操作系統(tǒng):CentOS 7.9芯片:Intel Cascade Lake 3.0 16C/64G |
| 機(jī)器資源配置 | 16C/64G/3T物理機(jī)2臺(tái)16C/64G/6T物理機(jī)1臺(tái) |
| 數(shù)據(jù)規(guī)模 | 總數(shù)據(jù)量2.8T,213億行數(shù)據(jù) |
| 數(shù)據(jù)類型 |
業(yè)內(nèi)標(biāo)準(zhǔn)測(cè)試數(shù)據(jù):400G ? TPC-DS:300G。數(shù)據(jù)總量22億5873萬(wàn),最大表數(shù)據(jù)量8億6400萬(wàn) ? PC-H:100G。數(shù)據(jù)總量約8億6604萬(wàn),最大表數(shù)據(jù)6億條 各行業(yè)構(gòu)造數(shù)據(jù):合計(jì)138億5111萬(wàn) ? 泛零售:最大表數(shù)據(jù)10億條,場(chǎng)景合集數(shù)據(jù)條數(shù):24億8284萬(wàn) ? 金融:最大表數(shù)據(jù)10億條,26億300萬(wàn)條 ? 制造:最大表數(shù)據(jù)10億條,75億300萬(wàn)條 ? 政企:最大表數(shù)據(jù)3億條,7億6172萬(wàn)條 ? 地產(chǎn):最大表數(shù)據(jù)5億條,5億100萬(wàn) 標(biāo)準(zhǔn)業(yè)務(wù)表構(gòu)造數(shù)據(jù):合計(jì)43億2440萬(wàn) ? 業(yè)務(wù)表:最大表數(shù)據(jù)20億條 ? 寬表:3億條,130+維度 |
審核編輯 黃宇
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
4059瀏覽量
68441 -
DPU
+關(guān)注
關(guān)注
0文章
415瀏覽量
27096 -
OLAP
+關(guān)注
關(guān)注
0文章
24瀏覽量
10517 -
SPARK
+關(guān)注
關(guān)注
1文章
108瀏覽量
21259 -
hive
+關(guān)注
關(guān)注
0文章
12瀏覽量
4137
發(fā)布評(píng)論請(qǐng)先 登錄
《數(shù)據(jù)處理器:DPU編程入門》讀書筆記
《數(shù)據(jù)處理器:DPU編程入門》DPU計(jì)算入門書籍測(cè)評(píng)
IaaS+on+DPU(IoD)+下一代高性能算力底座技術(shù)白皮書
jAVA語(yǔ)言環(huán)境白皮書
最新的智能電網(wǎng)的白皮書資料
業(yè)內(nèi)首部白皮書《DPU技術(shù)白皮書》——中科院計(jì)算所主編
什么是DPU?
中科馭數(shù)等單位牽頭發(fā)布行業(yè)首部DPU評(píng)測(cè)方法技術(shù)白皮書
芯啟源參與撰寫的中國(guó)移動(dòng)DPU技術(shù)白皮書正式發(fā)布
被稱為數(shù)據(jù)中心“第三顆主力芯片”,DPU憑什么?
打破對(duì)DPU的誤解:中移動(dòng)重磅白皮書解讀
DPU在通信云里的重要角色:中國(guó)聯(lián)通白皮書解讀
中國(guó)DPU行業(yè)白皮書
中科馭數(shù)助力奇點(diǎn)云《2024 OLAP數(shù)據(jù)庫(kù)引擎選型白皮書》發(fā)布
“Spark+Hive”在DPU環(huán)境下的性能測(cè)評(píng) | OLAP數(shù)據(jù)庫(kù)引擎選型白皮書(24版)DPU部分節(jié)選
評(píng)論