国产精品亚洲一区-欧美日韩国产在线-伊人成人在线-国产精品无码久久久久-亚洲国产成人91精品-欧美成人精品欧美一级乱黄

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企資快報(bào) » 服務(wù) » 正文

基于英特爾? 優(yōu)化分析包(OAP)的 Spar

放大字體  縮小字體 發(fā)布日期:2021-08-21 18:12:18    作者:媒體小英    瀏覽次數(shù):35
導(dǎo)讀

Spark SQL 作為 Spark 用來處理結(jié)構(gòu)化數(shù)據(jù)的一個(gè)基本模塊,已經(jīng)成為多數(shù)企業(yè)構(gòu)建大數(shù)據(jù)應(yīng)用的重要選擇。但是,在大規(guī)模連接(Join)、聚合(Aggregate)等工作負(fù)載下,Spark 性能會(huì)面臨穩(wěn)定性和性能方面的挑戰(zhàn)。為了

Spark SQL 作為 Spark 用來處理結(jié)構(gòu)化數(shù)據(jù)的一個(gè)基本模塊,已經(jīng)成為多數(shù)企業(yè)構(gòu)建大數(shù)據(jù)應(yīng)用的重要選擇。但是,在大規(guī)模連接(Join)、聚合(Aggregate)等工作負(fù)載下,Spark 性能會(huì)面臨穩(wěn)定性和性能方面的挑戰(zhàn)。

為了提升 Spark SQL 的性能,用戶可以選擇使用英特爾? 優(yōu)化分析包(Optimized Analytics Package,OAP)以及英特爾? 傲騰? 持久內(nèi)存和新一代英特爾? 至強(qiáng)? 處理器來改善典型 Spark SQL 工作負(fù)載的運(yùn)行效率。

Spark SQL 面臨多場(chǎng)景性能瓶頸

IDC 報(bào)告顯示,全球數(shù)據(jù)規(guī)模將從2019年的45 ZB 增長(zhǎng)到2025年的175 ZB ,2021年創(chuàng)建、捕獲和消耗的數(shù)據(jù)量估計(jì)過 59 ZB。在數(shù)據(jù)快速移動(dòng)、迅猛增長(zhǎng)的趨勢(shì)下,企業(yè)需要使用先進(jìn)的分析技術(shù)來實(shí)時(shí)處理數(shù)據(jù)以獲得實(shí)時(shí)的業(yè)務(wù)洞察力。大數(shù)據(jù)分析技術(shù)的新發(fā)展與革命性新硬件的問世,顯著提高了大數(shù)據(jù)分析性能,使得數(shù)據(jù)科學(xué)家、分析師和業(yè)務(wù)用戶能夠獲得更深刻的業(yè)務(wù)洞察。

作為面向大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,Spark 具有開源、經(jīng)濟(jì)、靈活等優(yōu)點(diǎn),常用來構(gòu)建大型、低延遲的數(shù)據(jù)分析應(yīng)用程序。但是,Spark 在特定場(chǎng)景下依然會(huì)面臨性能挑戰(zhàn),特別是當(dāng)處理特大規(guī)模數(shù)據(jù)及交互式查詢時(shí)。例如,由于缺少高性能緩存方案,數(shù)據(jù) I/O 很容易成為瓶頸。此外,Spark Shuffle 也常常因?yàn)榇罅康妮^小隨機(jī)磁盤 IO、序列化、網(wǎng)絡(luò)數(shù)據(jù)傳輸成為性能瓶頸,導(dǎo)致作業(yè)延遲大幅增加,進(jìn)而影響工作負(fù)載性能。

新興的硬件技術(shù)可以幫助解決這些挑戰(zhàn)。例如,高級(jí)矢量擴(kuò)展(AVX)功能使 Spark 能夠利用 SIMD 同時(shí)處理更多的數(shù)據(jù)來加快執(zhí)行速度,而英特爾? 傲騰? 持久內(nèi)存可以利用其高性能,大容量和低延遲創(chuàng)新的突破性組合來提高 Spark SQL 性能。OAP(優(yōu)化分析包)是英特爾和社區(qū)開發(fā)的一個(gè)開源項(xiàng)目,旨在借助先進(jìn)的英特爾處理器、內(nèi)存和存儲(chǔ)以及網(wǎng)絡(luò)技術(shù),通過數(shù)據(jù)源緩存、SQL 索引、Native SQL 引擎、MLlib 優(yōu)化等創(chuàng)新軟件功能提高 Spark 性能,以解決 Spark 核心和相關(guān)組件面臨的計(jì)算和 I/O挑戰(zhàn)。

英特爾 Spark 優(yōu)化分析包(OAP)

英特爾? 優(yōu)化分析包(OAP)是英特爾和社區(qū)開發(fā)的開源項(xiàng)目,旨在提高 Spark 性能。她基于先進(jìn)的英特爾硬件技術(shù),提供了多種功能來改善 Spark 高速緩存、Shuffle、執(zhí)行和機(jī)器學(xué)習(xí)性能。如下圖1顯示了 OAP 架構(gòu),她包括以下組件:OAP 數(shù)據(jù)源高速緩存、Native SQL 引擎、Arrow 數(shù)據(jù)源、OAP MLlib、RDD 高速緩存、RPMem Shuffle 和遠(yuǎn)端 Shuffle。

  • SQL 數(shù)據(jù)源高速緩存: 一種優(yōu)化的擴(kuò)展包,通過在 Spark SQL 數(shù)據(jù)源層使用高速緩存技術(shù)來提升 Spark SQL 性能。
  • Native 執(zhí)行引擎: Spark SQL 的 Native 引擎將 Spark 行數(shù)處理轉(zhuǎn)為列式處理,并借助矢量化 SIMD 以及 Arrow 數(shù)據(jù)格式進(jìn)行加速。
  • MLlib: Vanilla Spark MLlib 的替代版本,通過oneDAL、oneMKL 和 oneCCL 進(jìn)行了優(yōu)化。
  • RDD 高速緩存、RPMem Shuffle 等功能:通過借助持久內(nèi)存的大容量、高性能等特點(diǎn)來避免存儲(chǔ)溢出(包括 RDD 高速緩存、溢出、中間數(shù)據(jù)),提高 Spark 性能。
  • 遠(yuǎn)端 Shuffle: 支持遠(yuǎn)端 Shuffle 和基于持久內(nèi)存的 Shuffle。

    (圖1)

    OAP 數(shù)據(jù)源高速緩存

    數(shù)據(jù)源高速緩存(SQL DataSource Cache)旨在利用用戶定義的索引和智能細(xì)粒度內(nèi)存數(shù)據(jù)高速緩存來提高 Spark SQL 性能(如圖2所示),主要目的是解決交互式查詢和批處理作業(yè)的性能問題。

    (圖2)

  • 交互式查詢

    大多數(shù)用戶使用 Spark SQL 作為批處理引擎。但作為一個(gè)統(tǒng)一處理引擎,很難與非批處理區(qū)分。交互式查詢需要在幾秒、甚至幾亞秒內(nèi)返回?cái)?shù)據(jù),而非批處理所需的幾分鐘、甚至幾小時(shí)。這對(duì)于當(dāng)前的 Spark SQL 數(shù)據(jù)處理來說是一個(gè)很大的挑戰(zhàn)。交互式查詢通常處理較大的數(shù)據(jù)集,但在通過特定條件過濾后只返回一小部分?jǐn)?shù)據(jù)。通過為關(guān)鍵列創(chuàng)建和存儲(chǔ)完整的 B+ 樹索引,并使用智能細(xì)粒度內(nèi)存數(shù)據(jù)高速緩存策略,Spark SQL 交互式查詢處理時(shí)間可以顯著縮短。

  • 批處理作業(yè)

    對(duì)于在數(shù)據(jù)倉儲(chǔ)中使用 Spark SQL 進(jìn)行業(yè)務(wù)分析的用戶,OAP SQL 數(shù)據(jù)源高速緩存可以通過兩種可配置的高速緩存策略來加速批處理作業(yè):

    ? 自動(dòng)高速緩存熱數(shù)據(jù)。

    ? 專門高速緩存熱表。

    SQL 索引和數(shù)據(jù)源高速緩存為不同列式存儲(chǔ)格式提供統(tǒng)一的高速緩存表示形式,并設(shè)計(jì)了針對(duì) RowGroup 中單列的細(xì)粒度高速緩存單元。同時(shí),她為兩種列存儲(chǔ)文件格式 Parquet 和 ORC 設(shè)計(jì)了兼容的適配器層,索引和高速緩存都構(gòu)建在統(tǒng)一表示形式和適配器之上。

    OAP 數(shù)據(jù)源高速緩存架構(gòu)設(shè)計(jì)

    數(shù)據(jù)源高速緩存可以高速緩存已解壓縮和已解碼的矢量化數(shù)據(jù)以及二進(jìn)制原始數(shù)據(jù)。一般來說,DRAM 通常在 Spark 集群中用作高速緩存介質(zhì),但在 OAP 數(shù)據(jù)源高速緩存中,英特爾? 傲騰?持久內(nèi)存也可以用作高速緩存介質(zhì),以提供高性能、高成本效益的高速緩存解決方案。如下圖3顯示了英特爾? 傲騰? 持久內(nèi)存用作高速緩存介質(zhì)時(shí)的 OAP 數(shù)據(jù)源高速緩存的架構(gòu)設(shè)計(jì)。

    (圖3)

    OAP 數(shù)據(jù)源高速緩存提供以下主要功能:

  • 覆蓋內(nèi)置的 Parquet/ORC 文件格式。
  • 在分布式集群中提供本地 cache(需要外部 KV 存儲(chǔ)以支持元數(shù)據(jù)持久性)。
  • NUMA 綁定以提供更高性能(若啟用英特爾? 傲騰? 持久內(nèi)存的 snoopy 模式,則不需要 NUMA 綁定)。
  • 基于 Plasma 的實(shí)現(xiàn),從而支持多個(gè) spark 執(zhí)行單元同時(shí)訪問緩存。

    OAP RPMem Shuffle

    Spark 旨在為不同的工作負(fù)載(如即席查詢、實(shí)時(shí)流和機(jī)器學(xué)習(xí))提供高吞吐量和低延遲的數(shù)據(jù)處理。但是,在某些工作負(fù)載(大規(guī)模數(shù)據(jù)連接/聚合)下,由于 Shuffle 需要在本地 Shuffle 磁盤讀取/寫入中間數(shù)據(jù)并將其通過網(wǎng)絡(luò)傳輸,Spark 可能會(huì)出現(xiàn)性能瓶頸。英特爾? 傲騰? 持久內(nèi)存是一種創(chuàng)新型內(nèi)存技術(shù),相較于 DRAM,其在同等價(jià)位下一般可提供更大的容量,并且支持?jǐn)?shù)據(jù)的持久性。同時(shí),遠(yuǎn)程直接內(nèi)存訪問(RDMA)技術(shù)支持在不同計(jì)算機(jī)之間進(jìn)行獨(dú)立于操作系統(tǒng)的直接內(nèi)存訪問,從而提供高吞吐量、低延遲的網(wǎng)絡(luò)性能。使用高性能英特爾? 傲騰? 持久內(nèi)存和 RDMA 網(wǎng)絡(luò)可以幫助在一定程度上化解 Shuffle 挑戰(zhàn)。

    OAP RPMem Shuffle 提供了一個(gè)名為 RPMem Shuffle 擴(kuò)展的可插拔模塊,該模塊可通過修改配置文件覆蓋默認(rèn)的 Spark Shuffle 管理器,無需更改 Spark 代碼即可使用。使用此擴(kuò)展,Spark shuffle 可以充分利用英特爾? 傲騰? 持久內(nèi)存和 RDMA Shuffle 解決方案,相較于傳統(tǒng)的基于磁盤的 shuffle 方式,可以顯著提高 Shuffle 性能。

    OAP RPMem Shuffle 架構(gòu)設(shè)計(jì)

    如前文所述,Spark Shuffle 是一項(xiàng)成本高昂的操作,需要大量的小型隨機(jī)磁盤 IO、序列化、網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)炔襟E,因此會(huì)大幅增加作業(yè)延遲,并且很容易成為工作負(fù)載性能的瓶頸。通常,Spark Shuffle 將從底層存儲(chǔ)加載數(shù)據(jù)并作為 Mapper 的輸入,然后 Mapper 將根據(jù)某種規(guī)則處理數(shù)據(jù),例如根據(jù)特定的 Key 將數(shù)據(jù)分組到不同的分區(qū)中。每個(gè) Mapper 的輸出都會(huì)持久化到本地存儲(chǔ)中,即 Shuffle 寫操作。然后 Reducer 會(huì)嘗試讀取不同 Mapper 的輸出數(shù)據(jù),即 Shuffle 讀操作,再將讀入的數(shù)據(jù)進(jìn)行排序等聚合操作,并最終輸出結(jié)果。可以看到,一個(gè)經(jīng)典的 Shuffle 操作包括數(shù)據(jù)在磁盤的讀寫和在網(wǎng)絡(luò)的傳輸,而這二者在大數(shù)據(jù)集下都可能成為工作負(fù)載的性能瓶頸。

    OAP RPMem Shuffle 旨在解決 Shuffle 瓶頸。如下圖4所示,OAP RPMem Shuffle 可以通過附加庫的形式覆蓋現(xiàn)有的 Spark Shuffle 實(shí)現(xiàn)。在底層,她使用英特爾? 傲騰? 持久內(nèi)存作為 Shuffle 介質(zhì),并在用戶空間通過 libpmemobj 對(duì)英特爾? 傲騰?持久內(nèi)存進(jìn)行訪問,作為 PMDK 的重要組件,libpmemobj 在英特爾? 傲騰? 持久內(nèi)存上提供了事務(wù)對(duì)象存儲(chǔ)。OAP RPMemShuffle 擴(kuò)展使用 Java Native Interface 對(duì) libpmemobj 進(jìn)行封裝,并通過 Spark Shuffle Manager 以插件的方式接入Spark。

    (圖4)

    RDMA 網(wǎng)卡是 RPMem Shuffle 擴(kuò)展的可選項(xiàng),她可以增加網(wǎng)絡(luò)帶寬,降低網(wǎng)絡(luò)延遲和通信節(jié)點(diǎn)的 CPU 利用率。HPNL4 作為一款高性能網(wǎng)絡(luò)庫,支持各種網(wǎng)絡(luò)協(xié)議,如 TCP/IP、RoCE、iWRAP、OPA 等,她為 RPMem Shuffle 提供網(wǎng)絡(luò)通信支持。如下圖5顯示了 Vanilla Spark Shuffle 和 OAP RPMem Shuffle 的設(shè)計(jì)。

    (圖5)

    在 Vanilla Spark Shuffle 設(shè)計(jì)中,需要首先將數(shù)據(jù)序列化到堆外內(nèi)存,然后寫入機(jī)械硬盤或固態(tài)盤上的本地文件系統(tǒng),并最終通過 TCP-IP 網(wǎng)絡(luò)傳輸數(shù)據(jù)。這一過程涉及大量上下文切換和文件系統(tǒng)開銷,因此如果不對(duì)現(xiàn)在的 Spark shuffle 實(shí)現(xiàn)進(jìn)行更改,就無法充分利用英特爾? 傲騰? 持久內(nèi)存的能力。

    OAP RPMem Shuffle 使用 libpmemobj 庫將數(shù)據(jù)直接寫入英特爾? 傲騰? 持久內(nèi)存,然后通過將 RDMA 內(nèi)存區(qū)域注冊(cè)在英特爾? 傲騰? 來傳輸數(shù)據(jù)。此實(shí)現(xiàn)方案減少了上下文切換開銷,消除了文件系統(tǒng)開銷,并可充分利用 RDMA 實(shí)現(xiàn)零拷貝來進(jìn)一步降低延遲和 CPU 利用率。

    原文鏈接:http://click.aliyun.com/m/1000290564/

    本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

  •  
    (文/媒體小英)
    免責(zé)聲明
    本文僅代表作發(fā)布者:媒體小英個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

    粵ICP備16078936號(hào)

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號(hào): weishitui

    客服001 客服002 客服003

    工作時(shí)間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    主站蜘蛛池模板: 亚洲国产成人精品区 | 男女视频免费网站 | 欧美午夜毛片a级在线 | 国产精品1区2区3区在线播放 | 精品久久在线观看 | 亚洲影院在线 | 亚洲欧美久久 | 欧美大片一级毛片 | 中国农村一级毛片 | 国模偷拍在线观看免费视频 | 香蕉521av网站永久地址 | 全国男人的天堂网站 | 日本成人一级片 | 91精品一区二区综合在线 | 日本一级在线播放线观看视频 | 日本一级级特黄特色大片 | 国产视频在线免费观看 | 中国国产一级毛片 | 91视频综合网| 免费特黄一级欧美大片 | 亚洲免费区 | 日韩视频在线观看中字 | 在线观看日本www | 久久93精品国产91久久综合 | 亚洲经典在线观看 | 国产高清国产专区国产精品 | 精品外国呦系列在线观看 | 久久免费国产精品一区二区 | 午夜两性试爱视频免费 | 午夜专区| 国产一区二区三区美女在线观看 | 国产亚洲女在线精品 | 国产在线啪 | 久久亚洲精品一区成人 | 欧美一级一毛片 | 欧美视频精品 | av国产精品 | 亚洲最新网站 | tom影院亚洲国产 | 一级做a爰片性色毛片中国 一级做a爰性色毛片 | 精品成人一区二区三区免费视频 |