當(dāng)前位置:首頁 > 智能硬件 > 人工智能AI
[導(dǎo)讀] 在中國大數(shù)據(jù)和人工智能時代,許多數(shù)據(jù)密集型應(yīng)用程序表現(xiàn)出傳統(tǒng)批處理模型無法滿足的要求。流媒體應(yīng)用,如流分析,物聯(lián)網(wǎng)數(shù)據(jù)處理,網(wǎng)絡(luò)監(jiān)控,或金融欺詐檢測,必須支持高處理率,但始終達(dá)到亞秒級處理延遲。

在中國大數(shù)據(jù)和人工智能時代,許多數(shù)據(jù)密集型應(yīng)用程序表現(xiàn)出傳統(tǒng)批處理模型無法滿足的要求。流媒體應(yīng)用,如流分析,物聯(lián)網(wǎng)數(shù)據(jù)處理,網(wǎng)絡(luò)監(jiān)控,或金融欺詐檢測,必須支持高處理率,但始終達(dá)到亞秒級處理延遲。作為響應(yīng),分布式流處理系統(tǒng),如SparkStreaming或ApacheFlink,利用計算集群的資源進(jìn)行流式應(yīng)用。他們的目標(biāo)是從許多處理節(jié)點(diǎn)的總吞吐量中受益。與任何分布式系統(tǒng)一樣,這引發(fā)了分布式流處理系統(tǒng)如何利用每個節(jié)點(diǎn)上的可用硬件資源的問題。單個處理節(jié)點(diǎn)的性能至關(guān)重要,因?yàn)樗鼪Q定了滿足給定流應(yīng)用程序的吞吐量和延遲要求所需的計算集群的大小。

當(dāng)談到單節(jié)點(diǎn)性能時,流處理系統(tǒng)必須考慮(a)節(jié)點(diǎn)提供什么類型的并行處理器(即多核CPU,GPU,FPGA)和(b)如何有效地并行處理流計算。隨著高度并行的異構(gòu)體系結(jié)構(gòu)在數(shù)據(jù)中心中的普及,流處理系統(tǒng)甚至可以從單個節(jié)點(diǎn)開始利用先前看不見的并行處理級別。

在這篇博客文章中,我們比較了針對單一服務(wù)器SABRE設(shè)計的高效流處理引擎與受歡迎的分布式流處理系統(tǒng)ApacheSpark和ApacheFlink所實(shí)現(xiàn)的性能。我們還將結(jié)果與StreamBox進(jìn)行了比較,StreamBox是最近提出的另一個強(qiáng)調(diào)數(shù)據(jù)亂序處理的單服務(wù)器設(shè)計。根據(jù)我們的結(jié)果,我們認(rèn)為單個多核服務(wù)器可以為多個流應(yīng)用程序提供比多節(jié)點(diǎn)群集更好的吞吐量。這為通過用可能復(fù)制的單個服務(wù)器部署替換基于集群的流處理系統(tǒng)打開了一個降低系統(tǒng)復(fù)雜性和運(yùn)營成本的機(jī)會。

實(shí)驗(yàn)裝置

對于我們的比較,我們使用YahooStreamingBenchmark作為工作量。其他人(ApacheFlink,ApacheApex,差異數(shù)據(jù)流)也報告了此基準(zhǔn)的局限性,它無法捕獲流式應(yīng)用程序中滑動窗口計算的豐富語義?;瑒哟翱诳梢哉f是流處理中最具挑戰(zhàn)性的方面之一,并且對如何高效并行化計算有著深遠(yuǎn)的影響。盡管有這些限制,但該基準(zhǔn)最近已被用于工業(yè)(數(shù)據(jù)布雷克,數(shù)據(jù)工匠)和學(xué)術(shù)界(SparkStreaming,Drizzle)。這使我們的結(jié)果與先前的努力相媲美。

單節(jié)點(diǎn)比較

在模擬廣告流應(yīng)用程序,它有一個包含四個操作符的流式查詢:過濾器,項(xiàng)目,連接(關(guān)系數(shù)據(jù))和聚合(窗口計數(shù))。在我們的實(shí)現(xiàn)中,輸入元組是128個字節(jié),并直接存儲JavaByteBuffer中。

我們使用2個IntelXeonE5-2660v32.60GHzCPU,共有20個物理CPU核心,25MB最后一級緩存(LLC)緩存和32GB內(nèi)存,在6臺服務(wù)器(1個主服務(wù)器和5個從服務(wù)器)上執(zhí)行實(shí)驗(yàn)。機(jī)器連接10Gbps以太網(wǎng)。我們用SABRE(沒有GPU支持),Spark2.4.0,F(xiàn)link1.3.2和StreamBox的最后一個版本來評估查詢。對于分布式實(shí)驗(yàn),我們每個節(jié)點(diǎn)只使用8個內(nèi)核,因?yàn)樵谶@個數(shù)字之后我們沒有看到任何顯著的吞吐量變化。

我們設(shè)計實(shí)驗(yàn)的目的是將流處理系統(tǒng)的性能與外部影響隔離開來。為此,我們以下列方式進(jìn)行實(shí)驗(yàn):

對于SABER,我們最初在一臺單獨(dú)的機(jī)器上生成數(shù)據(jù)。由于只有一個CPU核心設(shè)法使10Gbps網(wǎng)絡(luò)連接飽和(每秒830萬個元組),我們改為在內(nèi)存中生成數(shù)據(jù)。

吞吐量比較

在吞吐量方面的可擴(kuò)展性,因?yàn)槲覀冊黾恿丝捎肅PU核心的數(shù)量。通過單個節(jié)點(diǎn),F(xiàn)link的性能比Spark和StreamBox都要好,將吞吐量提高了1.9倍以上。憑借8個CPU內(nèi)核,Spark和StreamBox分別擁有每秒1200萬和1100萬元的吞吐量,而Flink則達(dá)到了2200萬以上。

與其他系統(tǒng)相比,SABRE的吞吐量分別比Spark,F(xiàn)link和StreamBox分別高出7倍,3倍和7倍。它使用8個CPU內(nèi)核每秒處理近7,900萬個元組。只有兩個CPU核心,SABRE超過了其他系統(tǒng)的最佳單節(jié)點(diǎn)吞吐量。除了不利用存儲器層次并最小化數(shù)據(jù)復(fù)制外,F(xiàn)link和Spark的吞吐量都受到通信和串行化開銷的不利影響。這是預(yù)期的,他們的分布式設(shè)計試圖利用多個節(jié)點(diǎn)的聚合性能。

有了這樣一個簡單的查詢,我們的實(shí)驗(yàn)主要測量系統(tǒng)可以執(zhí)行數(shù)據(jù)移動的速度,因?yàn)榛ㄔ谟幸饬x的計算上的時間很短。SABRE將工作線程和生成線程綁定到CPU內(nèi)核,以最大限度地減少L2緩存之外的內(nèi)存訪問。另外,我們維護(hù)一個512KB的輸入緩沖區(qū),確保所有活動數(shù)據(jù)都保存在LLC中。我們使用原子操作來編寫和讀取這個緩沖區(qū)的部分內(nèi)容,同步代價可以忽略不計。

集群吞吐量比較

有趣的是觀察到,與最近的結(jié)果相比,即使在集群部署的情況下,F(xiàn)link的性能也比Spark好。Flink吞吐量的增長是由于更快的10Gbps網(wǎng)絡(luò)所致,我們認(rèn)為這在以前的工作中并未使用(請參閱結(jié)構(gòu)化流媒體文件)。使用StreamBox,我們觀察到致命的內(nèi)存泄漏,當(dāng)我們將攝取率提高到超過我們在圖中報告的數(shù)量時。

總之,只有8個CPU內(nèi)核的SABRE比具有5個工作節(jié)點(diǎn)(40個內(nèi)核,5500萬元組/秒)和Flink(40個內(nèi)核;6700萬元組/秒)的Spark性能更好。仔細(xì)調(diào)整的單服務(wù)器系統(tǒng)可以勝過計算集群,將所需資源減少一半以上。

分銷的成本是多少?

根據(jù)先前提出的優(yōu)于單線程(COST)的配置指標(biāo),我們通過將單核實(shí)現(xiàn)與手寫C++程序進(jìn)行比較來分析系統(tǒng)的性能。C++實(shí)現(xiàn)在我們的測試臺服務(wù)器上每秒處理近2300萬個元組(即它比SABER快2倍)。這個結(jié)果與FrankMcSherry的實(shí)現(xiàn)(3500萬tuples/sec)基本一致,后者運(yùn)行在具有更高基本時鐘速度的筆記本電腦上。

理解此性能差距背后的原因并將其用于設(shè)計具有硬件意識的流處理系統(tǒng)非常重要。我們已經(jīng)開始設(shè)計利用超標(biāo)量執(zhí)行和SIMD并行性的高效流媒體運(yùn)算符實(shí)現(xiàn)。我們還致力于基于編譯的技術(shù),盡可能將數(shù)據(jù)保存在CPU寄存器中,從而最大限度地提高數(shù)據(jù)和代碼的局部性(Hyper)。正如我們從上面的結(jié)果看到的那樣,在LLC中維護(hù)數(shù)據(jù)已經(jīng)帶來了主要的性能優(yōu)勢。我們還設(shè)想了一組硬件無關(guān)的基元,它們考慮到現(xiàn)代擴(kuò)展架構(gòu)上多個CPU插槽引起的非均勻內(nèi)存訪問(NUMA)。

得出結(jié)論

隨著大容量DRAM,數(shù)據(jù)中心中的許多CPU內(nèi)核和加速器的可用性,流處理系統(tǒng)的設(shè)計必須專注于硬件意識技術(shù)。在YahooStreamingBenchmark的修改版本中,SABRE每秒處理7千萬個元組,并擁有8個CPU內(nèi)核,性能優(yōu)于Flink(3x),SparkStreaming(7x)和StreamBox(7x)。它比具有40個CPU內(nèi)核的基于群集的部署具有更好的性能。我們的結(jié)果還表明,填充單個節(jié)點(diǎn)仍然存在性能差距,我們認(rèn)為這構(gòu)成了設(shè)計下一代流處理引擎的機(jī)會。最后,關(guān)于雅虎流媒體基準(zhǔn)測試的先前評論,我們同意基準(zhǔn)測試不會捕捉真實(shí)世界的流媒體應(yīng)用程序的行為,而這些應(yīng)用程序往往是計算密集型的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉