張志強(qiáng)
摘要:在互聯(lián)網(wǎng)技術(shù)迅速普及的大潮下,信息數(shù)據(jù)呈指數(shù)增長(zhǎng)趨勢(shì),如何對(duì)這些異構(gòu)數(shù)據(jù)進(jìn)行高效處理和調(diào)度,成為當(dāng)今大數(shù)據(jù)處理的一個(gè)研究熱點(diǎn),針對(duì)這一熱點(diǎn),該文提出云計(jì)算下多源異構(gòu)大數(shù)據(jù)的優(yōu)化算法,首先通過(guò)閾值對(duì)比預(yù)取大數(shù)據(jù)源,接著進(jìn)行數(shù)據(jù)調(diào)度優(yōu)先級(jí)計(jì)算,最后按優(yōu)先權(quán)值確定調(diào)度順序,選擇合理處理器執(zhí)行。通過(guò)本算法與傳統(tǒng)大數(shù)據(jù)調(diào)度方法對(duì)比實(shí)驗(yàn),證明本算法具有更高的加速比和吞吐量的優(yōu)點(diǎn)。
關(guān)鍵詞:云計(jì)算;異構(gòu)數(shù)據(jù);數(shù)據(jù)源
中圖分類號(hào):TP391? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)15-0025-03
1 引言
在互聯(lián)網(wǎng)技術(shù)迅速普及的大潮下,信息數(shù)據(jù)呈指數(shù)增長(zhǎng)趨勢(shì),龐大的數(shù)據(jù)由于來(lái)源不一、分布不一,其數(shù)據(jù)結(jié)構(gòu)具有多樣性、多源性、異構(gòu)性、復(fù)制性的特點(diǎn)[1]。如何對(duì)這些異構(gòu)數(shù)據(jù)進(jìn)行高效處理和調(diào)度,成為當(dāng)今大數(shù)據(jù)處理的一個(gè)研究熱點(diǎn),其中對(duì)大數(shù)據(jù)跨源調(diào)度算法的研究更是廣大相關(guān)學(xué)者廣泛關(guān)注的一個(gè)課題。
現(xiàn)今,大數(shù)據(jù)多源異構(gòu)體結(jié)構(gòu)一般包括三種形式:DBMS異構(gòu)形式、SELECT異構(gòu)形式以及FROM 異構(gòu)形式[2]。目前國(guó)內(nèi)相關(guān)研究重點(diǎn)是圍繞這三種形式關(guān)于如何解決大數(shù)據(jù)多源異構(gòu)合理調(diào)度和有效對(duì)接方面 [3]。如夏明等雖然提出對(duì)全部變量進(jìn)行更新處理,將所有待調(diào)度多源異構(gòu)子流的質(zhì)量以權(quán)重的方式重新組合排列,然后從排列出來(lái)的多源異構(gòu)子流群里優(yōu)先選擇高質(zhì)量的子流來(lái)作為傳輸?shù)臄?shù)據(jù),通過(guò)反復(fù)操作后,最終把所有的調(diào)度的多源異構(gòu)子全部處理完畢[4],但對(duì)各類多源異構(gòu)數(shù)據(jù)差異性研究不足,不能解決大量復(fù)雜多源異構(gòu)數(shù)據(jù)的有效調(diào)度問(wèn)題;劉運(yùn)提出結(jié)合采集和融合手段,先構(gòu)建統(tǒng)一的數(shù)據(jù)模型標(biāo)準(zhǔn),然后再按照數(shù)據(jù)分類構(gòu)造各個(gè)分類體系,包括數(shù)據(jù)結(jié)構(gòu)、運(yùn)營(yíng)機(jī)制、約束方法等,最后把縱向多源異構(gòu)數(shù)據(jù)和橫向多源異構(gòu)數(shù)據(jù)相互融合在一起,以解決其一致性的問(wèn)題[5],但此算法開(kāi)銷太大,對(duì)系統(tǒng)的負(fù)荷過(guò)重,算法運(yùn)行速度過(guò)慢;岳婧文等將渲染應(yīng)用特點(diǎn)以及作業(yè)調(diào)度算法相結(jié)合,將任務(wù)劃分為不同的子任務(wù),引入Min-min 以及Max-min 思想構(gòu)建時(shí)間負(fù)載均衡模型[6],該方法雖然解決了開(kāi)銷問(wèn)題,但適用范圍十分有限,對(duì)于并行度高的大數(shù)據(jù)調(diào)度很難達(dá)到理想的效果。本文針對(duì)云計(jì)算下的復(fù)雜多源異構(gòu)大數(shù)據(jù),提出首先通過(guò)沖突檢測(cè)預(yù)取異構(gòu)數(shù)據(jù),然后利用標(biāo)準(zhǔn)方差值計(jì)算數(shù)據(jù)調(diào)度優(yōu)先級(jí),最后依據(jù)優(yōu)先權(quán)值確定調(diào)度順序,選擇合理處理器執(zhí)行。實(shí)驗(yàn)證明本文算法與傳統(tǒng)調(diào)度算法在相同的硬件環(huán)境下,具有更高的平均加速比,調(diào)度時(shí)間更短的優(yōu)點(diǎn)。當(dāng)丟包率不斷增高時(shí),本算法還能保持十分理想的吞吐量,從而證明本文算法相比其他算法具備更高的調(diào)度能力。
2 云計(jì)算下多源異構(gòu)大數(shù)據(jù)的跨源調(diào)度算法
2.1 云計(jì)算下的多源異構(gòu)大數(shù)據(jù)預(yù)取
由于多源異構(gòu)大數(shù)據(jù)源的數(shù)據(jù)體煩瑣、凌亂,所以需要先進(jìn)行前期的歸一整理,即預(yù)取操作,通過(guò)預(yù)取算法,縮短數(shù)據(jù)源開(kāi)始的計(jì)算時(shí)間,減少系統(tǒng)運(yùn)行成本[7]。由于多源異構(gòu)大數(shù)據(jù)具備數(shù)據(jù)源差異的特征,可以認(rèn)為每個(gè)數(shù)據(jù)源來(lái)自不同的任務(wù)。使用[Map]來(lái)表示數(shù)據(jù)源的任務(wù),通過(guò)完成的[Map]任務(wù)數(shù)與[Map]任務(wù)總數(shù)的比率來(lái)計(jì)算[Map]比率,然后設(shè)置一個(gè)預(yù)定的閾值。當(dāng)比率達(dá)到預(yù)定閾值時(shí),實(shí)現(xiàn)多源異構(gòu)大數(shù)據(jù)源的預(yù)取操作,如式(1)所示。
[Ratemap=MapNumsfinishedMapNumstotal]? ? ? ? ? ? ? ? ? ? ? ?(1)
在式(1)中,[MapNumsfinished]表示完成的映射任務(wù)數(shù);[MapNumstotal]表示所有映射總?cè)蝿?wù)數(shù)。在整個(gè)預(yù)取算法運(yùn)行過(guò)程中,很容易會(huì)出現(xiàn)多個(gè)節(jié)點(diǎn)同一時(shí)間從相同的輸出結(jié)果中預(yù)取數(shù)據(jù),形成競(jìng)爭(zhēng)狀態(tài),從而降低預(yù)取的效率。為解決上述問(wèn)題,可以通過(guò)加入沖突判斷算法來(lái)提供數(shù)據(jù)預(yù)取的效率。當(dāng)另一個(gè)任務(wù)在該任務(wù)預(yù)取數(shù)據(jù)的節(jié)點(diǎn)中預(yù)取數(shù)據(jù)時(shí),將丟棄該數(shù)據(jù),并預(yù)取其他節(jié)點(diǎn)上所需的數(shù)據(jù)。如果在某個(gè)時(shí)間段內(nèi),系統(tǒng)占用了所有的節(jié)點(diǎn),那么,算法就會(huì)錯(cuò)開(kāi)一個(gè)時(shí)間,再進(jìn)行讀取,算法如下:
[WaitingTime=rateTIME]? ? ? ? ? ? ? ? ? (2)
[rate=DatafinishedDatatotal]? ? ? ? ? ? ? ? ? ? ? ? (3)
在式(2)和式(3)中,數(shù)據(jù)[Datafinished]用于描述已預(yù)取的數(shù)據(jù),[Datatotal]用于描述全部需要預(yù)取的數(shù)據(jù);[TIME]為時(shí)間常量,主要作用是代表在多源異構(gòu)的環(huán)境里傳輸所有數(shù)據(jù)所需的時(shí)間;[WaitingTime]代表的是等待的時(shí)間,該時(shí)間與預(yù)取異構(gòu)數(shù)據(jù)的速度成正比關(guān)系。如果預(yù)取數(shù)據(jù)的速度不斷增加,那么[WaitingTime]的值也就越大。
2.2 多源異構(gòu)大數(shù)據(jù)跨源調(diào)度算法
2.2.1 數(shù)據(jù)調(diào)度優(yōu)先級(jí)計(jì)算
上述算法在計(jì)算異構(gòu)數(shù)據(jù)調(diào)度優(yōu)先級(jí)的過(guò)程時(shí),會(huì)把出口節(jié)點(diǎn)作為出發(fā)點(diǎn)向上迭代來(lái)得到每個(gè)節(jié)點(diǎn)的優(yōu)先權(quán)值[rankj],然后實(shí)現(xiàn)異構(gòu)數(shù)據(jù)調(diào)度的排序方式,因此,節(jié)點(diǎn)[rankj]的計(jì)算公式如式(4)。
[rankjQi=maxωi×δi+Z(Qi)O(QI)+rankj(QJ)rankjQexit=ωexit×δexit]? ? ? ?(4)
式(4)中,[δi]代表對(duì)變量[Qi]進(jìn)行計(jì)算所需要系統(tǒng)開(kāi)銷的標(biāo)準(zhǔn)方差;[O(Qi)]代表變量[Qi]所有后繼節(jié)點(diǎn)的數(shù)目;[Z(Qi)]代表算法的總系統(tǒng)開(kāi)銷。從式(4)可以看出,[δi]能比較有效地反映同一數(shù)據(jù)在不同處理器中的差異值,當(dāng)差異值增大時(shí),[δi]的值也會(huì)提高,這時(shí)系統(tǒng)的調(diào)度效果越好。如果把[δi]與節(jié)點(diǎn)的平均值相乘,并將所得結(jié)果作為計(jì)算權(quán)重,可以確保算法在一定系統(tǒng)開(kāi)銷上的公平性。如果把總系統(tǒng)開(kāi)銷[Z(Qi)]除以傳出量,那么,得到的商可以作為系統(tǒng)的通信開(kāi)銷權(quán)重。上述算法與傳統(tǒng)通信權(quán)重算法相比,更能確保數(shù)據(jù)計(jì)算差異和通信開(kāi)銷之間的平衡關(guān)系,從而提高在多源異構(gòu)環(huán)境中跨源數(shù)據(jù)調(diào)度的穩(wěn)定性。C1FF0C1A-5727-4603-A204-CC5DB6166ACC
2.2.2 分配處理器算法
為節(jié)省系統(tǒng)開(kāi)銷,需要在處理器的分配方法上進(jìn)行優(yōu)化,本文算法是以優(yōu)先級(jí)權(quán)重來(lái)作為處理器分配和執(zhí)行順序的原則[8]。第一步,選擇入口數(shù)據(jù),入口數(shù)據(jù)指的是在異構(gòu)數(shù)據(jù)調(diào)度過(guò)程中首先要處理的第一個(gè)數(shù)據(jù),即當(dāng)所有處理器為空時(shí),通過(guò)入口數(shù)據(jù)選擇處理器,以進(jìn)一步提高調(diào)度效率,而不會(huì)造成處理器過(guò)載。具體步驟如下:
(1) 選擇輸入數(shù)據(jù)[γj]數(shù)據(jù)處理開(kāi)銷最小的處理器;
(2) 對(duì)于其余處理器[γi],如果錄入數(shù)據(jù)有直接后繼節(jié)點(diǎn)分配處理器,則根據(jù)以下公式判斷。如果滿足以下公式所示的條件,則完成[γi]復(fù)制處理器輸入數(shù)據(jù);否則,直接在[γi]處理器中處理。
[WQentry,i 其中,[W]用于描述總計(jì)算開(kāi)銷,[H]用于描述總權(quán)重。 當(dāng)滿足以下的某一個(gè)條件時(shí),系統(tǒng)就會(huì)結(jié)束上面的循環(huán),否則繼續(xù)循環(huán)執(zhí)行: (1)每個(gè)處理器分配數(shù)據(jù)處理,即所有處理器[γi]的條目副本選擇已完成。 (2)所有數(shù)據(jù)都經(jīng)過(guò)處理。選擇條目副本后,后繼節(jié)點(diǎn)用于調(diào)度仍然沒(méi)有分配處理器的數(shù)據(jù)。上述方法與傳統(tǒng)的處理器分配方法相比,由于兼顧到直接后繼節(jié)點(diǎn)完成的速度對(duì)調(diào)度結(jié)果數(shù)據(jù)的影響,從而提高了通信速度和縮短了數(shù)據(jù)傳輸?shù)臅r(shí)間。其中,后繼節(jié)點(diǎn)完成時(shí)間的計(jì)算公式為: [τQi,γk=maxminω(Qi,γk)+Hi,j]? ? ? ? ? ?(6) 在數(shù)據(jù)中,[Qi]和直接后繼節(jié)點(diǎn)在同一處理器上處理,[Hi,j]值為0,對(duì)于出口節(jié)點(diǎn),[τ(Qi,γk)]為0。在調(diào)度過(guò)程中,[τ(Qi,γk)]在處理器上的值最小。 3 實(shí)驗(yàn)結(jié)果分析 3.1 實(shí)驗(yàn)環(huán)境 為了驗(yàn)證基于云計(jì)算的多源異構(gòu)大數(shù)據(jù)跨源調(diào)度方法的實(shí)用價(jià)值,設(shè)計(jì)了以下對(duì)比實(shí)驗(yàn)。以兩臺(tái)配備VMwareace核心處理器的計(jì)算機(jī)為實(shí)驗(yàn)對(duì)象,其中一臺(tái)配備傳統(tǒng)大數(shù)據(jù)調(diào)度方法作為控制組,另一臺(tái)配備新的大數(shù)據(jù)調(diào)度方法作為實(shí)驗(yàn)組。在保持其他影響因素不變的前提下,采用控制變量法記錄實(shí)驗(yàn)組和控制組應(yīng)用調(diào)度方法后底層網(wǎng)絡(luò)流量整合時(shí)間和數(shù)據(jù)完整性的變化。 3.2 測(cè)試加速比 加速比作為數(shù)據(jù)調(diào)度性能的關(guān)鍵指標(biāo),主要是用來(lái)判斷調(diào)度算法的運(yùn)行效率,加速比的計(jì)算公式如下: [Sp=TpT1]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7) 在等式(7)中,[Tp]用于描述P測(cè)試程序在處理器系統(tǒng)里并行處理的時(shí)間;[T1]表示單個(gè)CUP上,測(cè)試程序的平均運(yùn)行時(shí)間。 參與本次實(shí)驗(yàn)的有傳統(tǒng)的遺傳算法、當(dāng)今流行的社會(huì)力量群算法和本文算法,為了讓分析結(jié)果更科學(xué),系統(tǒng)采用了CPU8核+1個(gè)GPU核、CPU8核+2個(gè)GPU核、CPU8核+GPU4核這三種硬件環(huán)境下,測(cè)試三種算法的加速比,測(cè)試結(jié)果如圖1所示。 根據(jù)圖1的分析,當(dāng)系統(tǒng)的硬件環(huán)境為CPU8核+GPU1核時(shí),加速比結(jié)果顯示,本文算法比遺傳算法高出35%,比社會(huì)力量群算法高出18%;當(dāng)系統(tǒng)的硬件環(huán)境為CPU8核+GPU2核時(shí),加速比結(jié)果顯示,本文算法比遺傳算法高出33%,比社會(huì)力量群算法高出25%;當(dāng)系統(tǒng)的硬件環(huán)境為CPU8核+ GPU4核時(shí),加速比結(jié)果顯示,本文算法比遺傳算法高出16%,比社會(huì)力量群算法高出40%。 從比較結(jié)果可以看出,在三種硬件環(huán)境下,傳統(tǒng)蟻群算法和社會(huì)力群算法的加速比都不高,其原因主要是由于這兩種算法在運(yùn)行時(shí)難以對(duì)處理器性能做有效的預(yù)測(cè)[9]。遺傳算法的執(zhí)行率無(wú)法與GPU的真實(shí)執(zhí)行率同步,因此降低了處理器的實(shí)際利用率;而社會(huì)力量群算法由于沒(méi)有優(yōu)化調(diào)度性能,使得在大多數(shù)時(shí)間下,CPU是在等待狀態(tài),因此也降低了處理器的實(shí)際利用率。在實(shí)驗(yàn)過(guò)程中,加大GPU的數(shù)量時(shí),本文算法、遺傳算法和社會(huì)力群算法的平均加速度如表1所示。 從表1結(jié)果可知,當(dāng)加大GPU的核數(shù)時(shí),平均加速比結(jié)果顯示,本文算法從原來(lái)的39%提高為97%,提高了1.3倍;遺傳算法從原來(lái)的23.8%提高為62.3%,提高了1.6倍;社會(huì)力量群算法從原來(lái)的30%提高為88%,提高了1.9倍。通過(guò)比較分析,本文的算法由于能很好地提高CPU的利用率,因此平均加速比的提高值最高。 下面在比較三種算法在不斷加大GPU的環(huán)境下平均執(zhí)行時(shí)間的對(duì)比,用[T]表示應(yīng)用程序執(zhí)行的總時(shí)間,用[Ta]表示應(yīng)用程序的調(diào)度時(shí)間,那么,[Ta÷T]就表示了調(diào)度時(shí)間占時(shí)比,稱為“時(shí)間比例”。硬件環(huán)境跟測(cè)試平均加速比的硬件環(huán)境一樣,分別為CPU8核+GPU1核、CPU8核+GPU2核、CPU8核+GPU4核。采用BFS等級(jí)調(diào)度來(lái)測(cè)試,測(cè)試結(jié)果如表2所示。 從表2的測(cè)試結(jié)果分析,在同一個(gè)硬件環(huán)境中,本文算法的時(shí)間比例都比另外兩個(gè)算法低。當(dāng)加大GPU核數(shù)時(shí),時(shí)間比例分析結(jié)果表明,本文算法從原來(lái)的22.3%降低為13.8%,遺傳算法從原來(lái)的57%降低為41.5%,社會(huì)力量群算法從原來(lái)的40.9%降低為21.5%。通過(guò)比較分析,本文的算法由于能充分利用GPU的資源,所以執(zhí)行調(diào)度的時(shí)間比另外兩種算法都短。C1FF0C1A-5727-4603-A204-CC5DB6166ACC 3.3 吞吐量測(cè)試 本節(jié)通過(guò)吞吐量測(cè)試該算法的調(diào)度性能。對(duì)于Lud應(yīng)用,隨著測(cè)試時(shí)間的增長(zhǎng),當(dāng)丟包率上升時(shí),本文算法和另外兩種算法的吞吐量測(cè)試結(jié)果如圖2所示。 從圖2測(cè)試結(jié)果分析,隨著測(cè)試時(shí)間的增長(zhǎng),當(dāng)丟包率上升時(shí),三種算法的吞吐量都有所降低,但總體來(lái)說(shuō),本文算法的吞吐量一直保持在1500以上的吞吐量,明顯高于另外兩種算法,說(shuō)明本文算法相比另外兩種算法具備更高的調(diào)度性能。 4 結(jié)論 隨著現(xiàn)代制造業(yè)往工業(yè)4.0的演進(jìn),企業(yè)在運(yùn)營(yíng)和生產(chǎn)的過(guò)程中所產(chǎn)生的海量多源異構(gòu)數(shù)據(jù)急需進(jìn)行調(diào)度處理,以保證企業(yè)正常運(yùn)營(yíng)。對(duì)多源異構(gòu)數(shù)據(jù)進(jìn)行有效處理和深度挖掘,可以為制造商提供更有效的生產(chǎn)調(diào)度、設(shè)備管理等策略,從而提高生產(chǎn)質(zhì)量和效率[6]。本文針對(duì)云計(jì)算環(huán)境下的多源異構(gòu)大數(shù)據(jù),提出了一種新的跨源調(diào)度算法。實(shí)驗(yàn)測(cè)試分析結(jié)果說(shuō)明本文算法較傳統(tǒng)的遺傳算法和社會(huì)力量群算法具備更高的加速比和吞吐量,具有更好的數(shù)據(jù)調(diào)度性能。 參考文獻(xiàn): [1] 李漢鵬,王陽(yáng),鄭君旋,等.多源異構(gòu)檢測(cè)大數(shù)據(jù)采集與存儲(chǔ)方法研究[J].電子質(zhì)量,2021(9):53-55. [2] 屈春一.非均質(zhì)性海量復(fù)雜異構(gòu)數(shù)據(jù)的混合云存儲(chǔ)技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2021,21(8):26-30. [3] 李帥,郭妍彤,周文迪.基于Neo4j的數(shù)據(jù)空間多源異構(gòu)數(shù)據(jù)集成管理研究[J].現(xiàn)代計(jì)算機(jī),2021(12):36-42. [4] 夏明,劉川杰,王奇.面向公共安全的多源異構(gòu)數(shù)據(jù)結(jié)構(gòu)化提取關(guān)鍵技術(shù)研究[J].數(shù)字通信世界,2021(5):3-4,30. [5] 劉運(yùn).基于循環(huán)神經(jīng)網(wǎng)絡(luò)的多源異構(gòu)大數(shù)據(jù)融合模型構(gòu)建[J].內(nèi)蒙古民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,36(3):204-210. [6] 岳婧文,李曉霞,秦少林.互聯(lián)網(wǎng)信息監(jiān)督管理大數(shù)據(jù)平臺(tái)多源異構(gòu)數(shù)據(jù)融合及應(yīng)用技術(shù)分析[J].長(zhǎng)江信息通信,2021,34(9):119-122. [7] 萬(wàn)磊,陳洪勝,王曉婷,等.面向電力大數(shù)據(jù)的多源異構(gòu)數(shù)據(jù)融合技術(shù)研究[J].電子技術(shù)與軟件工程,2021(2):172-173. [8] 肖楠.基于DTS的多模態(tài)異構(gòu)大數(shù)據(jù)檢測(cè)方法研究[J].電子設(shè)計(jì)工程,2021,29(20):143-146,151. [9] 李躍鵬,溫亮明,黎建輝.基于查詢語(yǔ)言轉(zhuǎn)換的多源數(shù)據(jù)統(tǒng)一訪問(wèn)框架[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2021,30(9):53-61. 【通聯(lián)編輯:代影】C1FF0C1A-5727-4603-A204-CC5DB6166ACC