服務(wù)熱線
0755-83647532
發(fā)表日期:2019-02-21 文章編輯: 閱讀次數(shù):
Apache Spark作為一種常見的數(shù)據(jù)處理引擎,可用于對超大數(shù)據(jù)集進(jìn)行高級分析。Spark采用了一個(gè)通用的集群計(jì)算框架,能夠獲取和處理實(shí)時(shí)的超大數(shù)據(jù)流,即時(shí)處理和分析事件和異常情況,從而支持企業(yè)快速制定決策,更好地響應(yīng)用戶需求。
Spark作為類Hadoop Map Reduce的通用并行框架,擁有Hapdoop Map Reduce所具有的優(yōu)點(diǎn)。目前,大多數(shù)Hadoop發(fā)行版中都包含了Spark。但是由于Spark本身的兩大優(yōu)勢,使Spark在處理大數(shù)據(jù)時(shí)已經(jīng)成為首選框架,超越了Hadoop 引入MapReduce范例。
簡單比較一下Spark和Hadoop的區(qū)別。
從以上對比我們可以發(fā)現(xiàn),Spark的數(shù)據(jù)存儲(chǔ)受到限制。
為了使Spark能夠在運(yùn)行不同工作負(fù)載(例如機(jī)器學(xué)習(xí)應(yīng)用)時(shí)實(shí)現(xiàn)卓越性能,Spark內(nèi)置了內(nèi)存數(shù)據(jù)存儲(chǔ)功能。因此,Spark的性能要明顯優(yōu)于其他大數(shù)據(jù)處理技術(shù)。但是,Spark內(nèi)存功能受到服務(wù)器中可用內(nèi)存的限制;受此影響,執(zhí)行 Spark作業(yè)期間經(jīng)常出現(xiàn)系統(tǒng)內(nèi)存已經(jīng)飽和,但計(jì)算資源卻處于閑置狀態(tài)的情況。要消除這種限制,一種辦法為在節(jié)點(diǎn)集群上運(yùn)行Spark的分布式架構(gòu),以充分利用所有節(jié)點(diǎn)中的可用內(nèi)存。雖然采用更多節(jié)點(diǎn)可以解決服務(wù)器DRAM容量問題,但會(huì)增加成本。因?yàn)镈RAM不僅成本高昂,而且還要求各企業(yè)配置額外的服務(wù)器以獲得更多內(nèi)存。
英特爾® IMDT助力Spark擴(kuò)展系統(tǒng)內(nèi)存
英特爾® IMDT(Intel® Memory Drive Technology)是一種軟件定義內(nèi)存(SDM)技術(shù),與英特爾® 傲騰™ 固態(tài)盤相結(jié)合使用時(shí),可有效擴(kuò)展系統(tǒng)內(nèi)存。這種英特爾® 傲騰™ 固態(tài)盤與英特爾® IMDT的結(jié)合,可以透明地為操作系統(tǒng)和Spark 作業(yè)提供更多內(nèi)存,消除Spark應(yīng)用所固有的內(nèi)存限制。為了演示此功能,英特爾使用了一種當(dāng)前名為TeraSort的 Spark性能指標(biāo)評測程序。 該程序測試得出的初始數(shù)值顯示,英特爾® IMDT能夠有效提升資源利用率,改進(jìn)系統(tǒng)性能。
Spark TeraSort性能指標(biāo)評測
TeraSort是一種常見的性能指標(biāo)評測程序,用于測量在特定計(jì)算機(jī)系統(tǒng)上對1TB隨機(jī)分布數(shù)據(jù)進(jìn)行排序所需的時(shí)間。它最初是一種用于測量 Apache Hadoop集群的 MapReduce性能的常用方法,并且有一些用于Spark的變體。在數(shù)據(jù)處理中,傳入的數(shù)據(jù)必須先排序才能進(jìn)行分析或處理,因此排序性能至關(guān)重要。而這也說明了該性能指標(biāo)評測套件如此流行的原因所在。
系統(tǒng)配置
表1列出了測試的三個(gè)不同場景的系統(tǒng)配置。這三種配置包括:基準(zhǔn)DRAM配置;基準(zhǔn)配置加英特爾® IMDT,以增加內(nèi)存容量;以及與僅增加DRAM的比較。
表 1:比較配置
測試方法
圖1展示了軟件堆棧的構(gòu)成。Spark驅(qū)動(dòng)器和執(zhí)行器是JVM(Java虛擬機(jī))進(jìn)程。Spark執(zhí)行器使用的內(nèi)核和內(nèi)存均可配置;在這些測試中,Spark驅(qū)動(dòng)器的內(nèi)存為7.5GB,Spark執(zhí)行器的內(nèi)存為21GB。
圖 1:軟件堆棧
Spark執(zhí)行器進(jìn)程包含兩個(gè)部分:用戶提交‘spark作業(yè)’和驅(qū)動(dòng)器向執(zhí)行器分配‘任務(wù)’,如圖2所示。
圖 2:Spark 執(zhí)行器進(jìn)程
在Spark TeraSort性能指標(biāo)評測的實(shí)驗(yàn)中,實(shí)驗(yàn)的排序數(shù)據(jù)共有4種大?。?00GB、250GB、500GB和1TB。使用表1中給出的3種不同場景(128G DRAM、使用英特爾® IMDT的DRAM擴(kuò)展和增加DRAM容量)的系統(tǒng)配置,在這4種排序數(shù)據(jù)(100GB、250GB、500GB和1TB)的上使用不同數(shù)量的執(zhí)行器(4個(gè)執(zhí)行器、8個(gè)執(zhí)行器和8個(gè)執(zhí)行器)來進(jìn)行實(shí)驗(yàn)測評。執(zhí)行器的數(shù)量與場景一一對應(yīng)。
圖 3:性能指標(biāo)評測結(jié)果
這一內(nèi)存擴(kuò)展方法可通過使用英特爾® IMDT顯著加大系統(tǒng)內(nèi)存,同時(shí)通過運(yùn)行更多的Spark執(zhí)行器,充分利用系統(tǒng)計(jì)算容量。該性能指標(biāo)評測程序表明,在具有相同內(nèi)存和計(jì)算能力的系統(tǒng)上,通過添加英特爾® IMDT軟件,可以將 Spark作業(yè)吞吐量提高一倍。相對于使用英特爾® IMDT,另一種方法是為系統(tǒng)添加更多DRAM。如圖3的性能指標(biāo)評測結(jié)果所示,添加更多DRAM只能略微提高性能,但成本卻要顯著高于英特爾® IMDT。
測試表明,通過在運(yùn)行基于Spark的TeraSort工作負(fù)載的單個(gè)服務(wù)器節(jié)點(diǎn)上,使用英特爾® IMDT添加兩塊英特爾® 傲騰™ 固態(tài)盤DC P4800X,吞吐量提高了一倍,同時(shí)運(yùn)行時(shí)間縮短了多達(dá)40%。而在向系統(tǒng)添加更多DRAM的方案中,性能相比于IMDT的方案略有提高。然而,要實(shí)現(xiàn)這一不到6%的性能提升,成本需要增加大約50%。
相比之下,英特爾® IMDT軟件憑借更低的成本(在本文的比較中,成本大約是DRAM成本的一半),以及所能實(shí)現(xiàn)的更高容量(英特爾® IMDT可在雙路節(jié)點(diǎn)中添加1280-3200GB的系統(tǒng)內(nèi)存),在總體擁有成本方面明顯具有更高的優(yōu)勢。
文章摘自英特爾精英匯
想購買及了解更多英特爾產(chǎn)品詳情,歡迎咨詢以下聯(lián)系方式!
寶通集團(tuán)聯(lián)系方式
咨詢熱線:0755-88603572
寶通官網(wǎng):m.bjshst.cn
客戶垂詢郵箱:cuifang.mo@ex-channel.com
客戶垂詢QQ:1627678462
地址:深圳市福田區(qū)深南大道1006號(hào)國際創(chuàng)新中心C座11樓
郵編:518026