一種基于mic協(xié)處理器的多數(shù)據(jù)流處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)高性能計算的技術(shù)領(lǐng)域,特別是涉及一種基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法。
【背景技術(shù)】
[0002]現(xiàn)實生活中,高速網(wǎng)絡(luò)故障診斷,零售業(yè)務(wù)中的交易數(shù)據(jù)流、在線拍賣、交易日志、Web跟蹤和個性化、醫(yī)學(xué)監(jiān)測、通信領(lǐng)域中的電話記錄數(shù)據(jù)流、網(wǎng)絡(luò)監(jiān)測中的數(shù)據(jù)包流、環(huán)境溫度的監(jiān)測數(shù)據(jù)以及衛(wèi)星傳回的圖像數(shù)據(jù)流等形成了一種與傳統(tǒng)數(shù)據(jù)庫中靜態(tài)數(shù)據(jù)不同的數(shù)據(jù)形態(tài)。數(shù)據(jù)流中的數(shù)據(jù)到達是快速、時變、不可預(yù)測和無限的數(shù)據(jù)流形式,不可能完全存儲原始數(shù)據(jù)。而且這些數(shù)據(jù)流產(chǎn)生的數(shù)據(jù)量在多個應(yīng)用領(lǐng)域中快速增長,而且產(chǎn)生數(shù)據(jù)流的應(yīng)用通常要求在線實時處理。
[0003]對于傳統(tǒng)的多數(shù)據(jù)流處理基本模型,傳統(tǒng)的多數(shù)據(jù)流處理技術(shù)將所有數(shù)據(jù)存放到數(shù)據(jù)庫或者數(shù)據(jù)倉庫中;系統(tǒng)響應(yīng)用戶提交的DML語句,搜索數(shù)據(jù)存儲媒介,返回查詢結(jié)果。當數(shù)據(jù)規(guī)模很大時,數(shù)據(jù)往往以磁盤或者磁帶為介質(zhì),因而執(zhí)行查詢操作需要大量的I/O交換,效率低下,不能適應(yīng)實時系統(tǒng)的需求。由于多數(shù)據(jù)流本身不斷變化且難以預(yù)測的特點,以及多數(shù)據(jù)流突發(fā)的產(chǎn)生對多數(shù)據(jù)流負載能力提出了更高的要求,同時多數(shù)據(jù)流處理因為時間開銷過大而難以滿足實時性需求,所以多數(shù)據(jù)流處理的并行性和實時性很低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法,以實現(xiàn)提高多數(shù)據(jù)流處理的并行性和實時性。
[0005]為解決上述技術(shù)問題,本發(fā)明提供基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法,該方法包括:
[0006]中央處理器CPU獲取數(shù)據(jù)源,將并行到達的多條數(shù)據(jù)流通過PCIE總線傳輸至MIC協(xié)處理器中;
[0007]所述MIC協(xié)處理器采用四層滑動窗口模型對所述多條數(shù)據(jù)流進行并行計算,并執(zhí)行多數(shù)據(jù)流查詢算法,得到數(shù)據(jù)流查詢結(jié)果;
[0008]所述MIC協(xié)處理器將所述數(shù)據(jù)流查詢結(jié)果返回至所述CPU ;
[0009]所述CPU依據(jù)所述數(shù)據(jù)流查詢結(jié)果得到用戶的1輸出任務(wù),執(zhí)行所述1輸出任務(wù)。
[0010]優(yōu)選的,所述中央處理器CPU獲取數(shù)據(jù)源之后,還包括:
[0011]所述中央處理器CPU將并行到達的多條數(shù)據(jù)流匯集到前緩沖區(qū),交換前后緩沖區(qū)內(nèi)容,將后緩存區(qū)中緩沖窗口的數(shù)據(jù)交換到MIC協(xié)處理器中。
[0012]優(yōu)選的,所述四層滑動窗口模型包括:時序數(shù)據(jù)層、緩沖窗口層、滑動窗口層和概要數(shù)據(jù)矩陣。
[0013]優(yōu)選的,所述時序數(shù)據(jù)層的數(shù)據(jù)為三元組:〈SID,Timestamp, Value〉,SID是數(shù)據(jù)流標識,Timestamp是元組到達時間,Value是數(shù)據(jù)值,所述時序數(shù)據(jù)層用于數(shù)據(jù)1處理和數(shù)據(jù)緩沖處理,對任意數(shù)據(jù)采樣時間單位內(nèi)到達的具有相同SID的數(shù)據(jù)計算和值,沒有數(shù)據(jù)到達的按照O插值或線性插值進行處理。
[0014]優(yōu)選的,所述緩沖窗口層的數(shù)據(jù)為四元組:〈SID,Timestamp,Data,Synopsis〉,SID是數(shù)據(jù)流標識符,Timestamp是所有基本窗口內(nèi)數(shù)據(jù)共享的時間戳,Data是窗口內(nèi)的數(shù)據(jù)的集合,Synopsis該緩沖窗口的統(tǒng)計信息或摘要信息,所述緩沖窗口層用于通過PCIE總線將每條數(shù)據(jù)流對應(yīng)的緩沖窗口的數(shù)據(jù)交換到MIC協(xié)處理器的內(nèi)存中,在MIC協(xié)處理器上生成基本窗口的摘要信息。
[0015]優(yōu)選的,所述滑動窗口層的數(shù)據(jù)為三元組:〈SID,Data,Synopsis〉,SID表示該滑動窗口的數(shù)據(jù)流標識符,Data是滑動窗口數(shù)據(jù),滑動窗口數(shù)據(jù)是在物理存儲上是連續(xù)的w/b個基本窗口的數(shù)據(jù)的集合,Synopsis是整個滑動窗口的概要數(shù)據(jù),所述滑動窗口層用于在新的緩沖窗口被交換到MIC協(xié)處理器的內(nèi)存時,增量維護每條數(shù)據(jù)流的整體摘要信息。
[0016]優(yōu)選的,所述概要數(shù)據(jù)矩陣為:M = [s。,S1,...sn JT,M為所述概要矩陣,S1是索引SID = i的數(shù)據(jù)流的數(shù)據(jù)或概要數(shù)據(jù)結(jié)構(gòu)組成的行向量,所述概要數(shù)據(jù)矩陣用于通過將多個滑動窗口密集排列在概要數(shù)據(jù)矩陣中,保存在連續(xù)的內(nèi)存空間中。
[0017]優(yōu)選的,所述四層滑動窗口模型為跨PCIE總線的四層滑動窗口模型。
[0018]優(yōu)選的,所述MIC協(xié)處理器通過最小交換原則執(zhí)行多數(shù)據(jù)流查詢算法,僅返回最后的查詢結(jié)果。
[0019]優(yōu)選的,所述中央處理器CPU獲取數(shù)據(jù)源,將并行到達的多條數(shù)據(jù)流通過PCIE總線傳輸至MIC協(xié)處理器中之后,還包括:
[0020]所述MIC協(xié)處理器將多條數(shù)據(jù)流存儲至連續(xù)的內(nèi)存空間中,利用索引標識符和偏移量對所述多條數(shù)據(jù)流進行并行的讀寫操作。
[0021]本發(fā)明所提供的一種基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法,中央處理器CPU獲取數(shù)據(jù)源,將并行到達的多條數(shù)據(jù)流通過PCIE總線傳輸至MIC協(xié)處理器中;所述MIC協(xié)處理器采用四層滑動窗口模型對所述多條數(shù)據(jù)流進行并行計算,并執(zhí)行多數(shù)據(jù)流查詢算法,得到數(shù)據(jù)流查詢結(jié)果;所述MIC協(xié)處理器將所述數(shù)據(jù)流查詢結(jié)果返回至所述CPU ;所述CPU依據(jù)所述數(shù)據(jù)流查詢結(jié)果得到用戶的1輸出任務(wù),執(zhí)行所述1輸出任務(wù)??梢?,該方法直接將數(shù)據(jù)進行讀寫處理,不需要寫入數(shù)據(jù)庫中,也不需要以磁盤為介質(zhì)進行查詢,節(jié)省整個并行處理時間,并且將多個數(shù)據(jù)流的并行計算處理和查詢算法交由MIC協(xié)處理器并行執(zhí)行,利用中央處理器處理復(fù)雜程序流程和強大的數(shù)據(jù)緩沖能力,集中處理流程控制和數(shù)據(jù)緩沖數(shù)以千計的數(shù)據(jù)流的任務(wù),這樣實現(xiàn)提高多數(shù)據(jù)流處理的并行性和實時性。
【附圖說明】
[0022]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0023]圖1為本發(fā)明提供的一種基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法的流程圖;
[0024]圖2為四層滑動窗口 I旲型不意圖;
[0025]圖3為MIC協(xié)處理器的多數(shù)據(jù)流處理流程示意圖。
【具體實施方式】
[0026]本發(fā)明的核心是提供一種基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法,以實現(xiàn)提高多數(shù)據(jù)流處理的并行性和實時性。
[0027]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0028]請參考圖1,圖1為本發(fā)明提供的一種基于MIC協(xié)處理器的多數(shù)據(jù)流處理方法的流程圖,該方法包括:
[0029]Sll:中央處理器CPU獲取數(shù)據(jù)源,將并行到達的多條數(shù)據(jù)流通過PCIE總線傳輸至MIC協(xié)處理器中;
[0030]其中,數(shù)據(jù)流實際上就是連續(xù)移動的元素隊伍,其中的元素是由相關(guān)數(shù)據(jù)的集合組成。令t表示任一時間戳,at表示在該時間戳到達的數(shù)據(jù),流數(shù)據(jù)可以表示成{>",at-l,at,at+l,…}。區(qū)別于傳統(tǒng)應(yīng)用模型,流數(shù)據(jù)模型具有以下共性:數(shù)據(jù)實時到達;數(shù)據(jù)到達次序獨立,不受應(yīng)用系統(tǒng)所控制;數(shù)據(jù)規(guī)模宏大且不能預(yù)知其最大值;數(shù)據(jù)一經(jīng)處理,除非特意保存,否則不能被再次取出處理,或者再次提取數(shù)據(jù)代價昂貴。
[0031]中央處理器CPU獲取數(shù)據(jù)源之后,中央處理器CPU將并行到達的多條數(shù)據(jù)流匯集到前緩沖區(qū),交換前后緩沖區(qū)內(nèi)容,將后緩存區(qū)中緩沖窗口的數(shù)據(jù)交換到MIC協(xié)處理器中。
[0032]中央處理器CPU將并行到達的多條數(shù)據(jù)流通過PCIE總線傳輸至MIC協(xié)處理器中之后,MIC協(xié)處理器將多條數(shù)據(jù)流存儲至連續(xù)的內(nèi)存空間中,利用索引標識符和偏移量對所述多條數(shù)據(jù)流進行并行的讀寫操作。
[0033]S12:MIC協(xié)處理器采用四層滑動窗口模型對多條數(shù)據(jù)流進行并行計算,并執(zhí)行多數(shù)據(jù)流查詢算法,得到數(shù)據(jù)流查詢結(jié)果;
[0034]其中,MIC (Many Integrated Cores,集成眾核處理器)是基于X86架構(gòu)的協(xié)處理器,具有操作系統(tǒng)和相當高的內(nèi)存帶寬,MIC包含61個計算核心,每個核可支持4個硬件線程,可幫助CPU進行一些復(fù)雜的計算工作,可將MIC看成一個獨立的小型服務(wù)器。在編程創(chuàng)新方面,MIC也是采用編譯指導(dǎo)語句的方式進行,難度小,開發(fā)周期短,易于維護。執(zhí)行多數(shù)據(jù)流查詢算法,對多條數(shù)據(jù)流進行查詢,得到的是查詢結(jié)果,即數(shù)據(jù)流查詢結(jié)果。
[0035]MIC集成