• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    大數(shù)據(jù)流式計(jì)算框架Heron環(huán)境下的流分類任務(wù)調(diào)度策略

    2019-08-01 01:54:12張譯天于炯魯亮李梓楊
    計(jì)算機(jī)應(yīng)用 2019年4期
    關(guān)鍵詞:任務(wù)調(diào)度大數(shù)據(jù)

    張譯天 于炯 魯亮 李梓楊

    摘 要:新型大數(shù)據(jù)流式計(jì)算框架Apache Heron默認(rèn)使用輪詢調(diào)度算法進(jìn)行任務(wù)調(diào)度,忽略了拓?fù)溥\(yùn)行時(shí)狀態(tài)以及任務(wù)實(shí)例間不同通信方式對(duì)系統(tǒng)性能的影響。針對(duì)這個(gè)問(wèn)題,提出Heron環(huán)境下流分類任務(wù)調(diào)度策略(DSC-Heron),包括流分類算法、流簇分配算法和流分類調(diào)度算法。首先通過(guò)建立Heron作業(yè)模型明確任務(wù)實(shí)例間不同通信方式的通信開(kāi)銷差異;其次基于流分類模型,根據(jù)任務(wù)實(shí)例間實(shí)時(shí)數(shù)據(jù)流大小對(duì)數(shù)據(jù)流進(jìn)行分類;最后將相互關(guān)聯(lián)的高頻數(shù)據(jù)流整體作為基本調(diào)度單元構(gòu)建任務(wù)分配計(jì)劃,在滿足資源約束條件的同時(shí)盡可能多地將節(jié)點(diǎn)間通信轉(zhuǎn)化為節(jié)點(diǎn)內(nèi)通信以最小化系統(tǒng)通信開(kāi)銷。在包含9個(gè)節(jié)點(diǎn)的Heron集群環(huán)境下分別運(yùn)行SentenceWordCount、WordCount和FileWordCount拓?fù)?,結(jié)果表明DSC-Heron相對(duì)于Heron默認(rèn)調(diào)度策略,在系統(tǒng)完成時(shí)延、節(jié)點(diǎn)間通信開(kāi)銷和系統(tǒng)吞吐量上分別平均優(yōu)化了8.35%、7.07%和6.83%;在負(fù)載均衡性方面,工作節(jié)點(diǎn)的CPU占用率和內(nèi)存占用率標(biāo)準(zhǔn)差分別平均下降了41.44%和41.23%。實(shí)驗(yàn)結(jié)果表明,DSC-Heron對(duì)測(cè)試拓?fù)涞倪\(yùn)行性能有一定的優(yōu)化作用,其中對(duì)接近真實(shí)應(yīng)用場(chǎng)景的FileWordCount拓?fù)鋬?yōu)化效果最為顯著。

    關(guān)鍵詞:大數(shù)據(jù);流式計(jì)算;Apache Heron;任務(wù)調(diào)度;數(shù)據(jù)流分類;通信開(kāi)銷

    中圖分類號(hào):TP311

    文獻(xiàn)標(biāo)志碼:A

    文章編號(hào):1001-9081(2019)04-1106-011

    0?引言

    隨著云計(jì)算、物聯(lián)網(wǎng)、移動(dòng)互聯(lián)、社交媒體和人工智能等新型信息技術(shù)和應(yīng)用模式的不斷發(fā)展,數(shù)據(jù)正以前所未有的方式推動(dòng)人類社會(huì)進(jìn)入大數(shù)據(jù)時(shí)代[1]。國(guó)際數(shù)據(jù)公司(International Data Corporation, IDC)發(fā)布的白皮書《數(shù)據(jù)時(shí)代2025》中顯示,預(yù)計(jì)到2025年全球互聯(lián)網(wǎng)數(shù)據(jù)總量達(dá)162ZB,其中超過(guò)1/4的數(shù)據(jù)為實(shí)時(shí)數(shù)據(jù),而物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)將占這部分?jǐn)?shù)據(jù)的95%以上[2]。面對(duì)實(shí)時(shí)大數(shù)據(jù)具有的實(shí)時(shí)性、易失性、突發(fā)性、無(wú)序性和無(wú)限性的新特征[3],傳統(tǒng)的MapReduce等批處理方式不再適用,分布式大數(shù)據(jù)流式計(jì)算應(yīng)運(yùn)而生。流數(shù)據(jù)處理摒棄了傳統(tǒng)批處理中對(duì)數(shù)據(jù)先存儲(chǔ)后計(jì)算的方式,將數(shù)據(jù)以數(shù)據(jù)流的形式在數(shù)據(jù)產(chǎn)生初期進(jìn)行計(jì)算,使用可靠傳輸模式而不對(duì)計(jì)算中間結(jié)果進(jìn)行存儲(chǔ),在對(duì)數(shù)據(jù)分析實(shí)時(shí)性要求較高的場(chǎng)景中得到了廣泛的應(yīng)用,并不斷融入實(shí)時(shí)圖像識(shí)別、智慧城市等人工智能的發(fā)展中。

    目前,在典型的流數(shù)據(jù)處理系統(tǒng)(例如,Storm[4]、Flink[5])中,默認(rèn)調(diào)度算法常采用靜態(tài)輪詢調(diào)度算法。該算法實(shí)現(xiàn)簡(jiǎn)單,在拓?fù)涮峤粫r(shí)對(duì)拓?fù)溥M(jìn)行任務(wù)分配,拓?fù)溥\(yùn)行期間任務(wù)分配狀態(tài)不再發(fā)生改變;但靜態(tài)輪詢調(diào)度算法在進(jìn)行任務(wù)分配時(shí),僅考慮資源的可滿足性將任務(wù)均勻分配到各個(gè)工作節(jié)點(diǎn),未考慮拓?fù)渲腥蝿?wù)間的關(guān)聯(lián)關(guān)系和節(jié)點(diǎn)間的通信開(kāi)銷,會(huì)對(duì)集群性能產(chǎn)生一定影響。針對(duì)這一問(wèn)題,國(guó)內(nèi)外研究人員針對(duì)不同流式計(jì)算平臺(tái)提出在線調(diào)度算法,在拓?fù)溥\(yùn)行過(guò)程中通過(guò)實(shí)時(shí)監(jiān)測(cè)集群運(yùn)行狀態(tài),對(duì)已分配的任務(wù)進(jìn)行重調(diào)度或調(diào)整,以使集群具有更高效的性能。針對(duì)Storm環(huán)境,文獻(xiàn)[6]提出自適應(yīng)調(diào)度策略,分為離線調(diào)度和在線調(diào)度。其中在線調(diào)度通過(guò)實(shí)時(shí)監(jiān)測(cè)拓?fù)溥\(yùn)行過(guò)程中CPU負(fù)載和工作節(jié)點(diǎn)間數(shù)據(jù)流流量等數(shù)據(jù),依次將通信開(kāi)銷較大的一對(duì)任務(wù)調(diào)度到CPU負(fù)載較小的工作節(jié)點(diǎn)中。該策略可以較好地降低Storm的通信開(kāi)銷,但實(shí)驗(yàn)中使用的是自定義鏈?zhǔn)酵負(fù)?,缺乏一定的代表性。文獻(xiàn)[7]提出流量感知在線調(diào)度策略T-Storm,旨在最小化進(jìn)程間和工作節(jié)點(diǎn)間通信開(kāi)銷,同時(shí)實(shí)現(xiàn)了細(xì)粒度的任務(wù)分配控制,可以通過(guò)調(diào)整預(yù)設(shè)參數(shù)控制工作節(jié)點(diǎn)數(shù)量。但該策略忽略了直接通信的一對(duì)任務(wù)之間的數(shù)據(jù)流情況且調(diào)度執(zhí)行開(kāi)銷較大。文獻(xiàn)[8]提出資源感知調(diào)度策略R-Storm,通過(guò)將CPU、內(nèi)存和網(wǎng)絡(luò)帶寬資源映射為三維空間向量,使用最小化向量距離的方法尋找任務(wù)和工作節(jié)點(diǎn)的分配關(guān)系,從而最大化資源利用并提高系統(tǒng)吞吐量。該策略充分考慮了集群資源的有效利用,但拓?fù)渲懈魅蝿?wù)的資源需求由編程人員設(shè)定而非實(shí)時(shí)監(jiān)測(cè)獲得,很難應(yīng)用于資源需求變化較大的在線調(diào)度。文獻(xiàn)[9]提出一種異構(gòu)環(huán)境下的任務(wù)遷移策略TMSH-Storm,將超出閾值節(jié)點(diǎn)中的阻尼線程細(xì)粒度地遷移至滿足條件的目標(biāo)節(jié)點(diǎn),避免了資源溢出后的任務(wù)重部署,可以較好地降低調(diào)度時(shí)延和節(jié)點(diǎn)間通信開(kāi)銷。針對(duì)Flink環(huán)境,文獻(xiàn)[10]提出流網(wǎng)絡(luò)的流式計(jì)算動(dòng)態(tài)任務(wù)調(diào)度策略。該策略通過(guò)建立流網(wǎng)絡(luò)模型,基于最大流算法使模型在滿足延遲約束前提下提高集群的實(shí)際吞吐量,能在一定程度上解決輸入速率增加階段出現(xiàn)的計(jì)算延遲升高問(wèn)題。

    但該策略僅關(guān)注集群輸入速率急劇上升階段的性能優(yōu)化,且沒(méi)有考慮流網(wǎng)絡(luò)容量動(dòng)態(tài)變化的問(wèn)題。針對(duì)其他流式計(jì)算系統(tǒng),文獻(xiàn)[11]從資源分配的角度出發(fā),對(duì)多代分布式流處理系統(tǒng)的彈性資源調(diào)度機(jī)制進(jìn)行對(duì)比并提出未來(lái)研究方向。文獻(xiàn)[12]基于拓?fù)淙蝿?wù)與集群資源的分配與映射關(guān)系提出模型驅(qū)動(dòng)的調(diào)度策略,為流處理系統(tǒng)提供高效的資源利用率和吞吐量。文獻(xiàn)[13-14]側(cè)重于流處理系統(tǒng)的穩(wěn)定性,分別提出一種基于隊(duì)列的穩(wěn)定性預(yù)測(cè)模型和一種穩(wěn)定的在線調(diào)度策略以優(yōu)化系統(tǒng)性能。

    Heron[15-17]是Twitter為解決其上一代分布式流處理平臺(tái)Storm在可擴(kuò)展性、可調(diào)試性、可管理性以及集群資源共享等方面問(wèn)題,而構(gòu)建的新一代分布式流處理平臺(tái)[15]。Heron在2015年已經(jīng)取代Storm,成為Twitter實(shí)際使用的實(shí)時(shí)數(shù)據(jù)處理系統(tǒng)[17],現(xiàn)已進(jìn)入Apache開(kāi)源項(xiàng)目孵化器。Heron在設(shè)計(jì)層面對(duì)Storm進(jìn)行多方面優(yōu)化的同時(shí),其默認(rèn)調(diào)度策略仍使用輪詢(Round Robin,RR)算法進(jìn)行任務(wù)實(shí)例分配。該算法根據(jù)拓?fù)渲腥蝿?wù)實(shí)例資源需求和容器資源需求,創(chuàng)建用于調(diào)度的任務(wù)分配計(jì)劃,然后交由Heron調(diào)度器(Aurora[18]、Mesos[19]、YARN[20]等)分配至工作節(jié)點(diǎn)。對(duì)于Twitter目前使用的Aurora調(diào)度器,Heron將一個(gè)拓?fù)鋵?duì)應(yīng)于Aurora中一個(gè)工作(Job),一個(gè)容器與其中分配的任務(wù)實(shí)例作為Aurora的一個(gè)資源分配單元,由Aurora負(fù)責(zé)將這些單元分配至集群中滿足資源需求的工作節(jié)點(diǎn)中運(yùn)行。在配置了Aurora調(diào)度器的Heron集群中,工作節(jié)點(diǎn)資源分配由Mesos負(fù)責(zé)進(jìn)行,其采用DRF(Dominant Resource Fairness)資源分配策略為Aurora框架中提交的任務(wù)尋找集群中注冊(cè)的合適工作節(jié)點(diǎn)進(jìn)行任務(wù)分配。

    在Heron調(diào)度策略和任務(wù)分配過(guò)程中仍存在如下問(wèn)題:1)任務(wù)分配沒(méi)有考慮任務(wù)實(shí)例間通信開(kāi)銷,忽略了節(jié)點(diǎn)間通信和節(jié)點(diǎn)內(nèi)通信的差異;2)任務(wù)分配僅考慮了任務(wù)實(shí)例和工作節(jié)點(diǎn)資源的約束關(guān)系,且算法采用資源最大化對(duì)齊的方式容易造成資源浪費(fèi);3)僅提供了靜態(tài)調(diào)度策略,無(wú)法針對(duì)運(yùn)行狀態(tài)下的拓?fù)溥M(jìn)行實(shí)時(shí)調(diào)度。

    針對(duì)Heron默認(rèn)調(diào)度策略中存在的上述問(wèn)題,本文提出流分類調(diào)度策略(task scheduling strategy based on Data Stream Classification in Heron, DSC-Heron),主要工作如下:1)提出Heron作業(yè)模型,將拓?fù)渲腥蝿?wù)實(shí)例通信方式劃分為節(jié)點(diǎn)間、容器間和實(shí)例間通信,明確不同通信方式間的通信開(kāi)銷差異。

    2)以Heron作業(yè)模型為基礎(chǔ),提出資源約束模型、最優(yōu)通信開(kāi)銷模型和流分類模型,作為提出DSC-Heron任務(wù)調(diào)度策略的理論依據(jù)。

    3)提出流分類調(diào)度策略,包括流分類算法、流簇分配算法和流分類調(diào)度算法。該策略首先根據(jù)數(shù)據(jù)流實(shí)時(shí)大小對(duì)數(shù)據(jù)流進(jìn)行分類,然后以高頻數(shù)據(jù)流關(guān)聯(lián)的高頻流簇為單位進(jìn)行任務(wù)調(diào)度,使得拓?fù)涞娜蝿?wù)分配在滿足資源約束條件的同時(shí)最小化節(jié)點(diǎn)間通信開(kāi)銷。

    4)使用Heron示例拓?fù)浜妥远x拓?fù)鋵?duì)流分類調(diào)度策略進(jìn)行性能評(píng)估。實(shí)驗(yàn)結(jié)果表明,相較于Heron默認(rèn)調(diào)度策略,DSC-Heron在系統(tǒng)完成時(shí)延、節(jié)點(diǎn)間數(shù)據(jù)流大小和吞吐量方面均有一定的優(yōu)化效果。

    1?Heron作業(yè)模型

    在Heron中,拓?fù)涫怯脩舳x流式作業(yè)的抽象,使用有向無(wú)環(huán)圖(Directed Acyclic Graph, DAG)表示,由組件和數(shù)據(jù)流構(gòu)成。組件分為Spout和Bolt兩類:Spout為數(shù)據(jù)源編程單元,可以從Kafka[21]、DistributedLog[22]或HDFS(Hadoop Distributed File System)中不間斷地讀取數(shù)據(jù),以數(shù)據(jù)流的形式傳遞給下游組件;Bolt為數(shù)據(jù)流處理單元,用于實(shí)現(xiàn)數(shù)據(jù)處理邏輯。數(shù)據(jù)流是對(duì)組件間以元組形式進(jìn)行數(shù)據(jù)傳遞的抽象,可以通過(guò)不同的流組模式定義元組的傳遞和分組方式。由此定義拓?fù)溥壿嬆P腿缦隆?/p>

    Heron中為提高系統(tǒng)并行度和數(shù)據(jù)處理速度可以為拓?fù)渲忻總€(gè)組件定義運(yùn)行并行度,并在拓?fù)涮峤粫r(shí)為每個(gè)組件創(chuàng)建相應(yīng)數(shù)量的任務(wù)實(shí)例。每個(gè)任務(wù)實(shí)例運(yùn)行一個(gè)Java進(jìn)程且運(yùn)行在一個(gè)JVM中。由此定義拓?fù)鋵?shí)例模型如下。

    根據(jù)實(shí)例分配模型可知,Heron任務(wù)實(shí)例之間的通信需要經(jīng)過(guò)所在容器中的SM進(jìn)行路由。集群中各個(gè)SM彼此連接形成一個(gè)全連接網(wǎng)絡(luò),將復(fù)雜度為O(N(N-1)/2)的N個(gè)任務(wù)實(shí)例間通信,通過(guò)M個(gè)SM簡(jiǎn)化為O(M(M-1)/2),其中NM。因此,在Heron集群中存在三種不同的通信方式:1)工作節(jié)點(diǎn)間通信,即集群不同物理工作節(jié)點(diǎn)間任務(wù)實(shí)例的通信方式。這種通信方式中,數(shù)據(jù)流需要經(jīng)過(guò)源任務(wù)實(shí)例、源任務(wù)所屬SM、目的任務(wù)所屬SM和目的任務(wù)實(shí)例進(jìn)行傳輸,會(huì)占用大量的網(wǎng)絡(luò)帶寬資源,是集群中通信開(kāi)銷最大的一種通信方式。如圖3中,任務(wù)實(shí)例Ia和Id1間的通信即屬于工作節(jié)點(diǎn)間通信。

    2)容器間通信,即同一工作節(jié)點(diǎn)、不同容器中任務(wù)實(shí)例之間的通信方式。這種通信方式不占用網(wǎng)絡(luò)帶寬,數(shù)據(jù)流在同一節(jié)點(diǎn)的不同任務(wù)間進(jìn)行傳遞,但仍需要經(jīng)過(guò)源任務(wù)實(shí)例、目的任務(wù)實(shí)例以及各自所屬的SM,屬于進(jìn)程間通信且通信開(kāi)銷較小。如圖3中,任務(wù)實(shí)例Id2和Ic間的通信即為容器間通信方式。

    3)實(shí)例間通信,即同一工作節(jié)點(diǎn)且同一容器中任務(wù)實(shí)例間的直接通信。這種通信方式在一個(gè)容器中進(jìn)行,數(shù)據(jù)流只經(jīng)過(guò)一個(gè)SM進(jìn)行傳輸,是三種通信方式中通信開(kāi)銷最小的一種。由于在Heron中每個(gè)任務(wù)實(shí)例都是一個(gè)Java進(jìn)程,因此這種通信方式也屬于進(jìn)程間通信,但由于減少了數(shù)據(jù)流經(jīng)過(guò)的SM數(shù)量,因此通信開(kāi)銷較容器間通信開(kāi)銷小。如圖3中,任務(wù)實(shí)例Ib和Ig間即屬于實(shí)例間通信方式。

    2?問(wèn)題建模與分析

    本章在Heron作業(yè)模型的基礎(chǔ)之上提出資源約束模型、最優(yōu)通信開(kāi)銷模型和流分類模型。其中資源約束模型為任務(wù)分配的基礎(chǔ)條件;最優(yōu)通信開(kāi)銷模型論證了節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)通信開(kāi)銷的相互關(guān)系,為最小化通信開(kāi)銷的任務(wù)調(diào)度過(guò)程提供依據(jù);流分類模型定義了拓?fù)渲袛?shù)據(jù)流分類的理論基礎(chǔ)。

    2.1?資源約束模型

    在Heron應(yīng)用環(huán)境中,為使各個(gè)工作節(jié)點(diǎn)不會(huì)出現(xiàn)滿負(fù)荷運(yùn)行狀態(tài)以影響集群運(yùn)行性能,需要為每個(gè)工作節(jié)點(diǎn)預(yù)留少量的計(jì)算資源。因此,在上述資源約束中,α、 β、γ分別為集群管理人員為CPU、內(nèi)存和網(wǎng)絡(luò)帶寬資源設(shè)定的資源閾值參數(shù),該參數(shù)可根據(jù)集群資源情況進(jìn)行設(shè)置。

    2.2?最優(yōu)通信開(kāi)銷模型

    2.3?流分類模型

    3?流分類調(diào)度策略

    本章基于上述模型提出流分類調(diào)度策略(DSC-Heron),包括流分類算法、流簇分配算法和流分類調(diào)度算法。其中流分類算法以流分類模型為基礎(chǔ),以數(shù)據(jù)流實(shí)時(shí)大小為依據(jù)對(duì)數(shù)據(jù)流進(jìn)行分類;流簇分配算法以高頻流簇為基本單元進(jìn)行任務(wù)分配;流分類調(diào)度算法對(duì)不同類別的數(shù)據(jù)流依次進(jìn)行調(diào)度,最終完成目標(biāo)任務(wù)分配計(jì)劃的構(gòu)建。

    3.1?流分類算法

    通過(guò)使用3.4節(jié)提出的負(fù)載監(jiān)測(cè)模塊對(duì)集群中任務(wù)實(shí)例以及實(shí)例間數(shù)據(jù)流大小進(jìn)行監(jiān)測(cè),實(shí)時(shí)獲取拓?fù)渲腥蝿?wù)實(shí)例間數(shù)據(jù)流大小,得到拓?fù)涞臄?shù)據(jù)流集合S={s1,2,s1,3,…,sI-1,I}作為輸入;然后根據(jù)流分類模型將集合S劃分為高頻數(shù)據(jù)流集Hf、中頻數(shù)據(jù)流集Mf和低頻數(shù)據(jù)流集Nf。具體算法如算法1所示。

    算法1?流分類算法。

    輸出?高頻數(shù)據(jù)流集Hf;中頻數(shù)據(jù)流集Mf;低頻數(shù)據(jù)流集Nf。

    步驟1?根據(jù)S中各個(gè)數(shù)據(jù)流大小vij,kl,使用式(8)計(jì)算數(shù)據(jù)流總量V;使用式(9)計(jì)算數(shù)據(jù)流平均值;使用式(10)計(jì)算sij,kl的絕對(duì)偏差值;使用式(11)計(jì)算數(shù)據(jù)流總絕對(duì)偏差ΔV;使用式(12)平均偏差Δ。

    步驟2?根據(jù)vij,kl大小降序排序S并進(jìn)行遍歷,進(jìn)行如下判斷:若數(shù)據(jù)流sij,kl滿足式(13),將其加入高頻數(shù)據(jù)流集Hf;若滿足式(14)或式(15),將其加入中頻數(shù)據(jù)流集合Mf;若滿足式(16),將其加入低頻數(shù)據(jù)流集合Nf。

    步驟3?返回Hf、Mf和Nf。

    流分類算法步驟1中包括兩次對(duì)數(shù)據(jù)流集合S的遍歷。第一次遍歷數(shù)據(jù)流集合S,計(jì)算出拓?fù)鋽?shù)據(jù)流總量V,進(jìn)而可以計(jì)算數(shù)據(jù)流平均值。第二次遍歷數(shù)據(jù)流集合S,由數(shù)據(jù)流平均值計(jì)算各個(gè)數(shù)據(jù)流的絕對(duì)偏差值,同時(shí)累加計(jì)算所有數(shù)據(jù)流的總絕對(duì)偏差值ΔV和平均偏差值Δ。算法步驟2~3根據(jù)流分類模型中的式(13)~(16),使用步驟1計(jì)算所得值,對(duì)數(shù)據(jù)流集合遍歷的同時(shí)進(jìn)行數(shù)據(jù)流的分類并返回分類所得不同數(shù)據(jù)流集合。由此可知,該算法的時(shí)間復(fù)雜度為數(shù)據(jù)流集合S的大小,即O(S)。

    3.2?流簇分配算法

    由定義4可知,DSC-Heron將高頻數(shù)據(jù)流關(guān)聯(lián)的高頻流簇作為調(diào)度的基本單元,盡可能得將同一高頻流簇相關(guān)的任務(wù)實(shí)例調(diào)度到同一工作節(jié)點(diǎn)。在調(diào)度的過(guò)程中,需要根據(jù)當(dāng)前高頻數(shù)據(jù)流關(guān)聯(lián)的任務(wù)實(shí)例在高頻流集合Hf中遞歸搜索與之關(guān)聯(lián)的流簇,然后對(duì)該流簇中的任務(wù)實(shí)例進(jìn)行分配,由此得到流簇分配算法。具體算法如算法2所示。

    算法2?流簇分配算法。

    輸入?數(shù)據(jù)流sij,kl關(guān)聯(lián)的任務(wù)實(shí)例Iij和Ikl;高頻數(shù)據(jù)流集合Hf;目標(biāo)節(jié)點(diǎn)nk;原始任務(wù)分配計(jì)劃PPold;當(dāng)前目標(biāo)任務(wù)分配計(jì)劃PPnew。

    輸出?更新后的目標(biāo)任務(wù)分配計(jì)劃PPnew。

    步驟1?根據(jù)Iij和Ikl在Hf中搜索關(guān)聯(lián)的高頻數(shù)據(jù)流sgh,ij和skl,mn,若不存在相關(guān)聯(lián)高頻數(shù)據(jù)流或存在任務(wù)實(shí)例Igh、Imn且均已分配則遞歸結(jié)束。若存在且未分配,根據(jù)PPold判斷Igh和Imn是否分別位于目標(biāo)節(jié)點(diǎn)nk中:如果是,判斷將該任務(wù)實(shí)例仍分配至nk中是否滿足資源約束條件:若滿足則進(jìn)行分配,更新PPnew并進(jìn)行步驟2;若不滿足則查找當(dāng)前PPnew中負(fù)載最小的工作節(jié)點(diǎn)進(jìn)行調(diào)度。

    如果否,判斷將未分配任務(wù)實(shí)例調(diào)度到nk節(jié)點(diǎn)之后是否滿足資源約束條件:若滿足進(jìn)行調(diào)度,更新PPnew并進(jìn)行步驟2;若不滿足則查找當(dāng)前PPnew中負(fù)載最小的節(jié)點(diǎn)進(jìn)行調(diào)度。

    步驟2?在Hf中遞歸查找Igh和Imn關(guān)聯(lián)的高頻數(shù)據(jù)流sef,gh和smn,op,若存在任務(wù)實(shí)例Ief,Iop未分配,重復(fù)步驟1直至遞歸結(jié)束。

    流簇分配算法是一個(gè)遞歸的集合搜索過(guò)程,它將一個(gè)高頻數(shù)據(jù)流關(guān)聯(lián)的源任務(wù)實(shí)例、目的任務(wù)實(shí)例和高頻數(shù)據(jù)流集合作為輸入,分別對(duì)源任務(wù)實(shí)例和目的任務(wù)實(shí)例在高頻數(shù)據(jù)流集合中搜索相關(guān)聯(lián)的高頻數(shù)據(jù)流,并依次對(duì)搜索結(jié)果中包含的未分配任務(wù)實(shí)例進(jìn)行調(diào)度,以更新目標(biāo)任務(wù)分配計(jì)劃。同時(shí),該搜索過(guò)程也是構(gòu)建該數(shù)據(jù)流高頻流簇SC的過(guò)程。若一條高頻數(shù)據(jù)流在高頻數(shù)據(jù)流集合中不存在關(guān)聯(lián)的高頻流或存在且均已經(jīng)分配完成則遞歸結(jié)束,返回對(duì)該條數(shù)據(jù)流構(gòu)建完成的目標(biāo)任務(wù)分配計(jì)劃。流簇分配算法將每個(gè)高頻數(shù)據(jù)流的關(guān)聯(lián)的流簇集合整體作為任務(wù)調(diào)度對(duì)象,旨在最大化節(jié)點(diǎn)內(nèi)任務(wù)間數(shù)據(jù)流,根據(jù)最優(yōu)通信開(kāi)銷模型即等價(jià)于最小化節(jié)點(diǎn)間數(shù)據(jù)流,以減少拓?fù)湔w通信開(kāi)銷。根據(jù)該遞歸算法可知,其時(shí)間復(fù)雜度為:O(Hf·SC)。其中,由于SC的最大值等于拓?fù)潢P(guān)鍵路徑長(zhǎng)度,因此該算法的運(yùn)行時(shí)間與拓?fù)涞膶訑?shù)以及高頻數(shù)據(jù)流集合規(guī)模有關(guān)。

    3.3?流分類任務(wù)調(diào)度算法

    流分類調(diào)度算法整合了流分類算法和流簇分配算法,將流分類算法中得到的高頻流集合作為輸入,通過(guò)遍歷數(shù)據(jù)流集合S,首先對(duì)其中高頻數(shù)據(jù)流進(jìn)行分配并對(duì)該數(shù)據(jù)流調(diào)用流簇分配算法進(jìn)行任務(wù)調(diào)度,直至所有的高頻數(shù)據(jù)流分配完成,然后對(duì)未分配的中頻數(shù)據(jù)流和低頻數(shù)據(jù)流分別調(diào)度,完成構(gòu)建目標(biāo)任務(wù)分配計(jì)劃。具體算法如算法3所示。

    算法3?流分類調(diào)度算法。

    輸出?目標(biāo)任務(wù)分配計(jì)劃PPnew。

    初始化?由負(fù)載監(jiān)測(cè)模塊獲取當(dāng)前各數(shù)據(jù)流大小vij,kl和各任務(wù)實(shí)例CPU負(fù)載wIij以初始化數(shù)據(jù)流集合S與任務(wù)實(shí)例負(fù)載集合W;使用流分類算法得到各數(shù)據(jù)流分類集合Hf、Mf、Nf;初始化PPnew為空。

    步驟1?根據(jù)數(shù)據(jù)流vij,kl的大小對(duì)集合S進(jìn)行降序排序,遍歷集合S中各數(shù)據(jù)流sij,kl。

    步驟2?如果sij,kl屬于高頻數(shù)據(jù)流集合Hf,進(jìn)行如下步驟:①判斷數(shù)據(jù)流sij,kl關(guān)聯(lián)的兩個(gè)任務(wù)實(shí)例Iij和Ikl是否在PPnew中已經(jīng)重新分配,若都已經(jīng)重新分配則對(duì)該數(shù)據(jù)流的調(diào)度結(jié)束。

    ②若僅其中一個(gè)任務(wù)已分配,這里以Iij已分配至工作節(jié)點(diǎn)nk且Ikl未分配為例,進(jìn)行如下步驟:(a)根據(jù)PPold判斷Iij和Ikl是否位于同一節(jié)點(diǎn)。若在同一節(jié)點(diǎn)nk,更新PPnew并調(diào)用流簇分配算法,分配sij,kl關(guān)聯(lián)的其他高頻數(shù)據(jù)流,調(diào)度結(jié)束。

    (b)若Iij和Ikl位于不同節(jié)點(diǎn),根據(jù)資源約束模型判斷Ikl調(diào)度到工作nk后是否滿足資源約束,若滿足則將Ikl調(diào)度到工作節(jié)點(diǎn)nk,更新PPnew并調(diào)用流簇分配算法,分配sij,kl關(guān)聯(lián)的高頻數(shù)據(jù)流,調(diào)度結(jié)束。若不滿足,則根據(jù)W查找當(dāng)前PPnew中負(fù)載最小節(jié)點(diǎn)分配任務(wù)Ikl。

    ③若任務(wù)實(shí)例Iij和Ikl均未分配,進(jìn)行如下步驟:(a)根據(jù)PPold判斷Iij和Ikl是否位于同一節(jié)點(diǎn),若在同一節(jié)點(diǎn)nk,更新PPnew并調(diào)用流簇分配算法,分配sij,kl關(guān)聯(lián)的高頻數(shù)據(jù)流,調(diào)度結(jié)束。

    (b)若Iij和Ikl位于不同節(jié)點(diǎn)ni和nk中,計(jì)算當(dāng)前分配計(jì)劃PPnew中ni和nk已分配任務(wù)的負(fù)載,將Iij和Ikl分配到負(fù)載較小的節(jié)點(diǎn)中,并根據(jù)資源約束模型判斷調(diào)度過(guò)程中是否滿足資源約束,若滿足則逐個(gè)調(diào)度任務(wù),更新PPnew并調(diào)用流簇分配算法,分配sij,kl關(guān)聯(lián)的高頻數(shù)據(jù)流,調(diào)度結(jié)束。若在調(diào)度任務(wù)實(shí)例Ikl時(shí)已不滿足資源約束條件,則將其調(diào)度至當(dāng)前負(fù)載最小的節(jié)點(diǎn)。

    步驟3?如果sij,kl屬于中頻數(shù)據(jù)流集合Mf,則重復(fù)步驟2中的①~③,但不再調(diào)用流簇分配算法,此時(shí)高頻數(shù)據(jù)流已經(jīng)調(diào)度完成。

    步驟4?結(jié)束數(shù)據(jù)流集合S的遍歷,對(duì)剩下低頻數(shù)據(jù)流集合Nf中sij,kl計(jì)算當(dāng)前PPnew中各個(gè)節(jié)點(diǎn)的任務(wù)負(fù)載情況,優(yōu)先將任務(wù)Iij、Ikl調(diào)度到負(fù)載較輕的節(jié)點(diǎn)中并保證滿足資源約束條件,直到全部任務(wù)調(diào)度完成。

    算法步驟1中根據(jù)集合中數(shù)據(jù)流的大小對(duì)數(shù)據(jù)流集合S進(jìn)行降序排序,這樣可以保證在對(duì)集合S進(jìn)行遍歷時(shí),對(duì)高頻數(shù)據(jù)流進(jìn)行優(yōu)先處理。

    步驟2對(duì)集合S進(jìn)行遍歷,對(duì)屬于高頻數(shù)據(jù)流集合的當(dāng)前數(shù)據(jù)流進(jìn)行調(diào)度。該步驟中包含的①~③分別是對(duì)當(dāng)前高頻數(shù)據(jù)流關(guān)聯(lián)的兩個(gè)任務(wù)實(shí)例是否在目標(biāo)任務(wù)分配計(jì)劃中分配完成進(jìn)行判斷,目的是為了避免對(duì)可能出現(xiàn)在不同高頻數(shù)據(jù)流中的同一任務(wù)實(shí)例進(jìn)行重復(fù)調(diào)度。步驟①中,如果當(dāng)前的兩個(gè)任務(wù)實(shí)例均已經(jīng)在目標(biāo)任務(wù)分配計(jì)劃中分配完成,則不再進(jìn)行重復(fù)調(diào)度。步驟②中,當(dāng)前兩個(gè)任務(wù)實(shí)例中僅有一個(gè)任務(wù)實(shí)例已經(jīng)分配,則優(yōu)先將未分配的任務(wù)實(shí)例調(diào)度到已分配任務(wù)實(shí)例當(dāng)前所在的工作節(jié)點(diǎn)中,此舉是為了最大化節(jié)點(diǎn)內(nèi)任務(wù)實(shí)例間的直接通信以最小化節(jié)點(diǎn)間的通信開(kāi)銷。但在這種調(diào)度的過(guò)程中,需要判斷調(diào)度發(fā)生后目標(biāo)節(jié)點(diǎn)是否滿足資源約束條件:若滿足則可以進(jìn)行調(diào)度,完成最大化節(jié)點(diǎn)內(nèi)通信開(kāi)銷;若不滿足,則需要使用當(dāng)前目標(biāo)任務(wù)分配計(jì)劃PPnew和任務(wù)負(fù)載集合W尋找當(dāng)前集群中負(fù)載最小的工作節(jié)點(diǎn)分配該任務(wù),目的是為了在未能滿足最小化通信開(kāi)銷的情況下,盡量平衡集群各工作節(jié)點(diǎn)負(fù)載從而在負(fù)載均衡的角度優(yōu)化集群性能。步驟③中為當(dāng)前兩個(gè)任務(wù)實(shí)例均未重新分配,需要依次對(duì)兩個(gè)未分配任務(wù)實(shí)例進(jìn)行調(diào)度。首先根據(jù)原始任務(wù)分配計(jì)劃PPold判斷兩個(gè)任務(wù)實(shí)例是否位于同一節(jié)點(diǎn),并優(yōu)先將兩個(gè)任務(wù)調(diào)度到其中當(dāng)前負(fù)載較輕的工作節(jié)點(diǎn)中,以最小化通信開(kāi)銷的同時(shí)均衡集群負(fù)載。但在對(duì)兩個(gè)任務(wù)進(jìn)行依次調(diào)度時(shí),均需要對(duì)目標(biāo)工作節(jié)點(diǎn)計(jì)算調(diào)度完成后的資源約束情況,若不滿足資源約束,則同步驟②中的方法相同,將該任務(wù)實(shí)例分配至當(dāng)前集群中負(fù)載最小的工作節(jié)點(diǎn)。

    通過(guò)步驟1~2,算法將數(shù)據(jù)流集合S中包含的高頻數(shù)據(jù)流及其關(guān)聯(lián)高頻流簇調(diào)度完成,因此步驟3對(duì)中頻數(shù)據(jù)流集合中的數(shù)據(jù)流進(jìn)行調(diào)度時(shí),不需要考慮高頻流簇的分配,僅對(duì)中頻數(shù)據(jù)流本身繼續(xù)調(diào)度。

    算法步驟4進(jìn)行之前,前序算法步驟已經(jīng)對(duì)數(shù)據(jù)流集合S中高頻數(shù)據(jù)流和中頻數(shù)據(jù)流調(diào)度結(jié)束,此時(shí)只剩下低頻數(shù)據(jù)流,而低頻數(shù)據(jù)流在拓?fù)渲袑?duì)整體通信開(kāi)銷的影響最小,因此僅對(duì)其進(jìn)行負(fù)載均衡處理,依次將低頻數(shù)據(jù)流調(diào)度至集群當(dāng)前負(fù)載較小的工作節(jié)點(diǎn)中,最終完成全部數(shù)據(jù)流的調(diào)度。根據(jù)該算法步驟可知,該算法在對(duì)數(shù)據(jù)流集合S遍歷的同時(shí)分別將屬于各個(gè)類別的數(shù)據(jù)流調(diào)度至符合條件的工作節(jié)點(diǎn)中,因此算法時(shí)間復(fù)雜度為O(S·N)(其中N為工作節(jié)點(diǎn)數(shù)量)。

    3.4?算法部署與實(shí)現(xiàn)

    Heron為編程人員提供了可擴(kuò)展的Custom Scheduler[23]實(shí)現(xiàn)。為實(shí)現(xiàn)自定義調(diào)度器,需要實(shí)現(xiàn)與Heron調(diào)度器相關(guān)的IPacking、ILauncher、IScheduler和IUploader四個(gè)Java接口。在本文實(shí)驗(yàn)中,DSC-Heron基于Heron中默認(rèn)AuroraScheduler進(jìn)行部署和實(shí)現(xiàn),Uploader仍使用HDFS不作修改,但分別實(shí)現(xiàn)了以下三個(gè)接口:1)DSCPacking。實(shí)現(xiàn)IPacking接口,用于部署DSC-Heron以構(gòu)建目標(biāo)任務(wù)分配計(jì)劃,為調(diào)度控制模塊對(duì)拓?fù)淙蝿?wù)的重調(diào)度提供依據(jù)。

    2)DSCLauncher。實(shí)現(xiàn)ILauncher接口,替換原有的AuroraLauncher。用于在拓?fù)涮峤缓髣?chuàng)建DSCScheduler對(duì)象實(shí)例并調(diào)用其onSchedule方法啟動(dòng)自定義調(diào)度器。

    3)DSCScheduler。實(shí)現(xiàn)IScheduler接口,替換默認(rèn)AuroraScheduler,拓?fù)涮峤缓髮⒂稍撜{(diào)度器完成拓?fù)涞某醮握{(diào)度。其中部署調(diào)度觸發(fā)模塊和調(diào)度控制模塊,用于重調(diào)度的觸發(fā)以及使用DSCPacking創(chuàng)建的目標(biāo)任務(wù)分配計(jì)劃更新拓?fù)?,完成重調(diào)度過(guò)程。

    在拓?fù)渲卣{(diào)度的過(guò)程中,需要實(shí)時(shí)獲取各工作節(jié)點(diǎn)以及工作節(jié)點(diǎn)內(nèi)各任務(wù)實(shí)例的CPU負(fù)載。對(duì)于各任務(wù)進(jìn)程的CPU資源占用信息,可以通過(guò)Java API中ThreadMXBean類的getThreadCpuTime(long id)方法獲取,其中id為各Java進(jìn)程中運(yùn)行任務(wù)實(shí)例的線程ID。對(duì)于各工作節(jié)點(diǎn)的CPU負(fù)載,可以通過(guò)對(duì)運(yùn)行在該工作節(jié)點(diǎn)中的任務(wù)實(shí)例CPU負(fù)載進(jìn)行累加求得。此外,工作節(jié)點(diǎn)中相關(guān)硬件參數(shù)可通過(guò)/proc目錄下的相關(guān)文件獲得。在代碼編寫完成后,使用Maven創(chuàng)建自定義調(diào)度器的jar文件,將其放置到${HERON_HOME}/lib/scheduler目錄下,并在${HERON_HOME}/conf/aurora目錄下的scheduler.yaml文件中進(jìn)行配置DSCScheduler和DSCLauncher類名后即可使用。

    改進(jìn)后的Heron系統(tǒng)結(jié)構(gòu)如圖4所示。其中,在Heron系統(tǒng)結(jié)構(gòu)中新增的四個(gè)自定義模塊分別是:

    1)負(fù)載監(jiān)測(cè)模塊。部署在各個(gè)工作節(jié)點(diǎn)中,負(fù)責(zé)在一定時(shí)間窗口內(nèi)監(jiān)測(cè)工作節(jié)點(diǎn)中運(yùn)行的任務(wù)實(shí)例CPU負(fù)載、任務(wù)間數(shù)據(jù)流大小和內(nèi)存資源占用等信息,并將監(jiān)測(cè)信息實(shí)時(shí)寫入數(shù)據(jù)存儲(chǔ)模塊。使用該模塊,需要在拓?fù)渲懈鱏pout的open()和nextTuple()方法以及各Bolt的prepare()和execute()方法中調(diào)用該模塊。

    2)調(diào)度觸發(fā)模塊。部署在DSCScheduler中并在該調(diào)度器對(duì)象實(shí)例化時(shí)啟動(dòng)。負(fù)責(zé)在滿足重調(diào)度觸發(fā)條件時(shí)調(diào)用調(diào)度控制模塊中重調(diào)度方法完成DSC-Heron的重調(diào)度過(guò)程。

    3)數(shù)據(jù)存儲(chǔ)模塊。存儲(chǔ)并實(shí)時(shí)更新負(fù)載監(jiān)測(cè)模塊獲取的任務(wù)實(shí)例監(jiān)測(cè)信息,這里使用MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)。

    4)調(diào)度控制模塊。完成流分類調(diào)度策略的核心模塊,通過(guò)調(diào)度觸發(fā)模塊調(diào)用。根據(jù)原始任務(wù)分配計(jì)劃獲取由DSC-Heron構(gòu)建的目標(biāo)任務(wù)分配計(jì)劃,更新拓?fù)淙蝿?wù)分配以完成任務(wù)調(diào)度過(guò)程。該模塊采用與DSCScheduler松耦合的設(shè)計(jì)范式,便于未來(lái)部署其他在線重調(diào)度算法。

    4?實(shí)驗(yàn)

    4.1?實(shí)驗(yàn)環(huán)境

    實(shí)驗(yàn)環(huán)境采用硬件配置相同的PC搭建一個(gè)9節(jié)點(diǎn)的Heron集群。其中一個(gè)主控節(jié)點(diǎn)運(yùn)行Heron、Heron Tracker、Heron UI、Mesos Master和Aurora Scheduler;一個(gè)協(xié)調(diào)節(jié)點(diǎn)運(yùn)行ZooKeeper和MySQL等服務(wù);一個(gè)節(jié)點(diǎn)運(yùn)行Heron自動(dòng)創(chuàng)建的拓?fù)涔芾磉M(jìn)程(Topology Master)用于管理拓?fù)湔麄€(gè)生命周期;其余節(jié)點(diǎn)為工作節(jié)點(diǎn)分別運(yùn)行Mesos Agent、Aurora Observer和Aurora Executor,負(fù)責(zé)實(shí)際運(yùn)行拓?fù)涞娜蝿?wù)實(shí)例。此外,集群中各節(jié)點(diǎn)共同運(yùn)行HDFS作為Heron的Uploader系統(tǒng)組件并負(fù)責(zé)共享Heron Binaries文件。實(shí)驗(yàn)集群的軟硬件配置如表1所示。

    實(shí)驗(yàn)采用Heron Github開(kāi)源項(xiàng)目[24]提供的Sentence WordCount和WordCount示例拓?fù)湟约白远xFileWordCount拓?fù)?,三種拓?fù)渲胁捎貌煌慕Y(jié)構(gòu)和數(shù)據(jù)源以評(píng)估DSC-Heron在不同場(chǎng)景中的表現(xiàn)。其中SentenceWordCount拓?fù)浒龑咏Y(jié)構(gòu):

    第一層Spout組件隨機(jī)創(chuàng)建一個(gè)長(zhǎng)度為128×1024的句子數(shù)組并隨機(jī)發(fā)射;

    第二層Bolt組件(名為Split)通過(guò)空格字符分割句子產(chǎn)生單詞;

    第三層Bolt組件(名為Count)接受Split中發(fā)送的單詞并進(jìn)行計(jì)數(shù)。

    WordCount為兩層結(jié)構(gòu),Spout組件(名為word)隨機(jī)生成單詞并發(fā)射,由Bolt(名為consumer)組件進(jìn)行統(tǒng)計(jì)。FileWordCount拓?fù)浣Y(jié)構(gòu)與SentenceWordCount相同,但數(shù)據(jù)源來(lái)自原版英文歷史小說(shuō)《雙城記》,格式為txt。SentenceWordCount拓?fù)湎鄬?duì)于WordCount的兩層結(jié)構(gòu),包含的數(shù)據(jù)流數(shù)量和流簇規(guī)模較大,兩者對(duì)比有利于評(píng)估系統(tǒng)性能的優(yōu)化效果。

    FileWordCount拓?fù)鋽?shù)據(jù)源采用真實(shí)文本文檔,其中各單詞出現(xiàn)的頻率不盡相同,在實(shí)際的應(yīng)用場(chǎng)景中有一定代表性。

    實(shí)驗(yàn)拓?fù)渲性O(shè)置了各組件的并行度和資源需求,數(shù)據(jù)流在各組件間的傳遞模式,可用的容器數(shù)量以及資源需求,詳細(xì)的測(cè)試拓?fù)溥\(yùn)行參數(shù)配置如表2所示。

    表2中:topology.max.spout.pending(簡(jiǎn)稱為pending)的值為Spout緩存隊(duì)列的最大容量,當(dāng)隊(duì)列長(zhǎng)度達(dá)到設(shè)置的容量時(shí)Spout停止發(fā)送數(shù)據(jù),當(dāng)隊(duì)列長(zhǎng)度小于設(shè)定值時(shí)Spout持續(xù)發(fā)送數(shù)據(jù),從而實(shí)現(xiàn)對(duì)拓?fù)鋽?shù)據(jù)傳輸速率的控制。topology.message.timeout.secs(簡(jiǎn)稱為timeout)的值配合ATLEAST_ONCE可靠性語(yǔ)義模式和Acknowledgement[25]機(jī)制使用。實(shí)驗(yàn)拓?fù)湓贐olt組件中設(shè)置ack機(jī)制,唯一標(biāo)識(shí)標(biāo)記的元組從Spout中發(fā)射,在timeout設(shè)定的時(shí)間內(nèi)經(jīng)過(guò)各個(gè)組件處理完成后由Spout中ack方法進(jìn)行確認(rèn),若沒(méi)有在該參數(shù)規(guī)定的時(shí)間內(nèi)接受到指定元組,Heron則會(huì)重新發(fā)送以保證ATLESAT_ONCE的有效進(jìn)行。

    對(duì)于參數(shù)pending和timeout的取值,在默認(rèn)調(diào)度策略下使用SentenceWordCount拓?fù)浣?jīng)過(guò)多次實(shí)驗(yàn)得到表3所示參數(shù)取值對(duì)拓?fù)湓M失敗率的影響,在表2所示參數(shù)下其他測(cè)試拓?fù)鋵?shí)驗(yàn)結(jié)果與此類似。其中, pending的值設(shè)置為100且timeout值設(shè)置為60s時(shí),雖然拓?fù)溥\(yùn)行前5min的失敗率較低,但由于pending的值較小無(wú)法正常發(fā)揮集群運(yùn)行性能且無(wú)法體現(xiàn)真實(shí)應(yīng)用場(chǎng)景;當(dāng)pending的值設(shè)置為1000且timeout的值設(shè)置為60s時(shí),拓?fù)涮峤缓笄?min內(nèi)的元組失敗率為6.6%,相對(duì)于相同pending值但timeout值為30s時(shí)拓?fù)溥\(yùn)行的20%失敗率,元組失敗率明顯降低并且有少量拓?fù)涑霈F(xiàn)重新發(fā)送的情況,該場(chǎng)景較符合真實(shí)應(yīng)用場(chǎng)景且集群能夠快速地趨于穩(wěn)定。而當(dāng)pending的值設(shè)置為10000且timeout的值為60s時(shí),元組失敗率較高,此時(shí)雖然提高timeout參數(shù)值可以降低元組失敗率,但會(huì)導(dǎo)致CPU負(fù)載過(guò)高從而使集群運(yùn)行情況不可預(yù)測(cè)。因此, pending的值設(shè)置為1000,timeout的值設(shè)置為60s,在當(dāng)前集群的配置下能夠較好地滿足實(shí)驗(yàn)的需要。

    此外,由于集群中主控節(jié)點(diǎn)獨(dú)立運(yùn)行,拓?fù)涔芾砥鲉为?dú)運(yùn)行于一個(gè)工作節(jié)點(diǎn)的容器中,ZooKeeper和MySQL等服務(wù)進(jìn)程占用一個(gè)節(jié)點(diǎn)資源,因此集群中可分配任務(wù)實(shí)例的工作節(jié)點(diǎn)數(shù)量為6。在表2中將topology.stmgrs的數(shù)量設(shè)置為6,即容器數(shù)量與集群中工作節(jié)點(diǎn)的數(shù)量相同,意味著每個(gè)工作節(jié)點(diǎn)中僅運(yùn)行一個(gè)容器,從而消除容器間通信帶來(lái)的開(kāi)銷,重點(diǎn)關(guān)注節(jié)點(diǎn)間通信和節(jié)點(diǎn)內(nèi)實(shí)例間通信的轉(zhuǎn)換對(duì)集群性能的影響。

    為驗(yàn)證DSC-Heron的有效性,本文與Heron默認(rèn)的輪詢調(diào)度策略進(jìn)行了對(duì)比,表4中列出了DSC-Heron的參數(shù)設(shè)置,其中主控節(jié)點(diǎn)根據(jù)reschedule.timeout參數(shù)觸發(fā)重調(diào)度。工作節(jié)點(diǎn)中α、 β和γ為資源約束模型中設(shè)置的資源閾值參數(shù),為避免節(jié)點(diǎn)滿負(fù)荷運(yùn)行影響集群性能,α值設(shè)置為0.7,由于Heron容器中已為系統(tǒng)級(jí)進(jìn)程留有內(nèi)存資源,因此β和γ的值設(shè)置為1。time.window.length和time.window.count為負(fù)載監(jiān)測(cè)模塊中設(shè)置的數(shù)據(jù)統(tǒng)計(jì)窗口大小和數(shù)量,即使用長(zhǎng)度為5s的時(shí)間窗口對(duì)數(shù)據(jù)采樣3次統(tǒng)計(jì)平均值。此外Heron集群的其他配置參數(shù)與默認(rèn)輪詢調(diào)度算法的參數(shù)均取默認(rèn)值。

    猜你喜歡
    任務(wù)調(diào)度大數(shù)據(jù)
    基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
    基于時(shí)間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
    基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
    科技視界(2016年20期)2016-09-29 10:53:22
    云計(jì)算環(huán)境中任務(wù)調(diào)度策略
    云計(jì)算中基于進(jìn)化算法的任務(wù)調(diào)度策略
    亚洲精品自拍成人| 亚洲一区高清亚洲精品| 91av网站免费观看| 免费人成视频x8x8入口观看| 1024视频免费在线观看| 叶爱在线成人免费视频播放| 19禁男女啪啪无遮挡网站| 国产高清激情床上av| 国产不卡一卡二| 欧美精品亚洲一区二区| 色播在线永久视频| 无限看片的www在线观看| 9191精品国产免费久久| 午夜福利影视在线免费观看| 美女国产高潮福利片在线看| 精品久久久精品久久久| 啪啪无遮挡十八禁网站| 一夜夜www| 国产精品国产av在线观看| 看免费av毛片| √禁漫天堂资源中文www| 夫妻午夜视频| 亚洲av成人一区二区三| 一级a爱视频在线免费观看| 国产成人欧美| 亚洲全国av大片| 国产在线观看jvid| 飞空精品影院首页| 热re99久久国产66热| 亚洲国产欧美一区二区综合| 新久久久久国产一级毛片| 高清欧美精品videossex| 热99国产精品久久久久久7| 色播在线永久视频| 欧美不卡视频在线免费观看 | 国产成人一区二区三区免费视频网站| 人妻一区二区av| 国产欧美日韩精品亚洲av| 久久人妻熟女aⅴ| 国产精品偷伦视频观看了| 婷婷丁香在线五月| 在线观看午夜福利视频| 欧美日韩福利视频一区二区| 久久久久国产一级毛片高清牌| av网站在线播放免费| 脱女人内裤的视频| 麻豆乱淫一区二区| 自线自在国产av| 在线观看免费视频网站a站| 国产欧美日韩一区二区三| 国产男女超爽视频在线观看| 这个男人来自地球电影免费观看| 99久久精品国产亚洲精品| 久久国产精品人妻蜜桃| 亚洲av片天天在线观看| 亚洲一区中文字幕在线| 精品福利观看| 亚洲伊人色综图| 亚洲第一青青草原| 国产一区二区三区在线臀色熟女 | 亚洲国产精品一区二区三区在线| 成年人黄色毛片网站| 自拍欧美九色日韩亚洲蝌蚪91| 久久 成人 亚洲| 国产精品1区2区在线观看. | 黄色视频,在线免费观看| 嫁个100分男人电影在线观看| 99久久国产精品久久久| 亚洲精品国产色婷婷电影| 国产高清videossex| √禁漫天堂资源中文www| 欧美另类亚洲清纯唯美| 中亚洲国语对白在线视频| 大香蕉久久成人网| 在线观看日韩欧美| 女人精品久久久久毛片| 久久精品国产99精品国产亚洲性色 | 18禁国产床啪视频网站| 精品国产一区二区三区四区第35| 丝袜在线中文字幕| 久热爱精品视频在线9| 老司机在亚洲福利影院| 亚洲少妇的诱惑av| 久久天堂一区二区三区四区| 日韩视频一区二区在线观看| 成在线人永久免费视频| 成在线人永久免费视频| 嫁个100分男人电影在线观看| 一级作爱视频免费观看| 精品一区二区三区四区五区乱码| 欧美大码av| 亚洲欧美日韩高清在线视频| 又黄又粗又硬又大视频| 美国免费a级毛片| 国产99白浆流出| 久久香蕉精品热| 久久人人97超碰香蕉20202| 精品一品国产午夜福利视频| 少妇裸体淫交视频免费看高清 | 久久久久久免费高清国产稀缺| 老熟女久久久| 天天躁狠狠躁夜夜躁狠狠躁| 在线免费观看的www视频| 国产精品久久久久久人妻精品电影| 99riav亚洲国产免费| 国产麻豆69| 久久久久精品国产欧美久久久| 丝袜美足系列| 一区二区三区激情视频| 日韩成人在线观看一区二区三区| 久热这里只有精品99| 一a级毛片在线观看| 19禁男女啪啪无遮挡网站| 国产成人影院久久av| 亚洲一区高清亚洲精品| 国产成人欧美在线观看 | www.自偷自拍.com| 精品人妻在线不人妻| 成人免费观看视频高清| 国产黄色免费在线视频| 69精品国产乱码久久久| 美女扒开内裤让男人捅视频| 免费在线观看日本一区| 成人特级黄色片久久久久久久| 日日摸夜夜添夜夜添小说| 日韩免费高清中文字幕av| 欧美激情久久久久久爽电影 | 国产精品秋霞免费鲁丝片| 国产精品久久电影中文字幕 | 欧美成人午夜精品| 在线观看66精品国产| 久久婷婷成人综合色麻豆| 欧美 日韩 精品 国产| 欧美在线黄色| 人人妻人人澡人人爽人人夜夜| 国产精品一区二区在线观看99| 亚洲精华国产精华精| 免费在线观看黄色视频的| 777米奇影视久久| 国产人伦9x9x在线观看| 91在线观看av| 超碰97精品在线观看| 久久狼人影院| 免费高清在线观看日韩| 亚洲五月天丁香| 久9热在线精品视频| 日韩有码中文字幕| 成人三级做爰电影| 不卡av一区二区三区| 精品国产一区二区三区四区第35| 99riav亚洲国产免费| 日日爽夜夜爽网站| 精品亚洲成a人片在线观看| 狠狠婷婷综合久久久久久88av| 精品久久蜜臀av无| 亚洲精品一卡2卡三卡4卡5卡| a级片在线免费高清观看视频| 制服诱惑二区| 久久精品亚洲精品国产色婷小说| 精品视频人人做人人爽| 99riav亚洲国产免费| 国产1区2区3区精品| 嫩草影视91久久| 国产男女超爽视频在线观看| 亚洲avbb在线观看| 欧美激情久久久久久爽电影 | 十八禁高潮呻吟视频| 99精国产麻豆久久婷婷| 欧美另类亚洲清纯唯美| 精品国产超薄肉色丝袜足j| 视频区欧美日本亚洲| 久久草成人影院| 777久久人妻少妇嫩草av网站| 在线免费观看的www视频| 精品一区二区三区四区五区乱码| 老熟妇乱子伦视频在线观看| 在线免费观看的www视频| 亚洲人成伊人成综合网2020| 国产乱人伦免费视频| 久久精品91无色码中文字幕| 欧美人与性动交α欧美精品济南到| 我的亚洲天堂| 大型黄色视频在线免费观看| 久久亚洲真实| 欧美久久黑人一区二区| 久久精品国产a三级三级三级| 亚洲精品中文字幕一二三四区| 国产片内射在线| 国产成人欧美| 亚洲av熟女| 人妻丰满熟妇av一区二区三区 | 成年人黄色毛片网站| 亚洲中文日韩欧美视频| 日韩成人在线观看一区二区三区| 又大又爽又粗| 久久精品国产综合久久久| 精品久久久久久,| 亚洲aⅴ乱码一区二区在线播放 | 欧美日韩黄片免| 国产亚洲欧美在线一区二区| 美女 人体艺术 gogo| 欧美精品啪啪一区二区三区| 久久国产精品男人的天堂亚洲| 日韩人妻精品一区2区三区| 看免费av毛片| 国产亚洲精品第一综合不卡| 交换朋友夫妻互换小说| 人妻丰满熟妇av一区二区三区 | 一区在线观看完整版| 成熟少妇高潮喷水视频| 欧美人与性动交α欧美软件| 一边摸一边做爽爽视频免费| 高清av免费在线| 很黄的视频免费| 国产高清国产精品国产三级| 最新美女视频免费是黄的| 久久久精品区二区三区| 午夜免费观看网址| 久久天躁狠狠躁夜夜2o2o| 午夜成年电影在线免费观看| www日本在线高清视频| 极品少妇高潮喷水抽搐| 极品教师在线免费播放| 人人妻人人澡人人看| 精品少妇久久久久久888优播| 麻豆成人av在线观看| 一级a爱片免费观看的视频| 国产不卡一卡二| 午夜福利在线免费观看网站| 十八禁人妻一区二区| 中文字幕最新亚洲高清| 成年版毛片免费区| videos熟女内射| 女人久久www免费人成看片| 69av精品久久久久久| 一边摸一边抽搐一进一小说 | 亚洲中文字幕日韩| 国产精品国产av在线观看| 国产精品98久久久久久宅男小说| 巨乳人妻的诱惑在线观看| 大陆偷拍与自拍| 后天国语完整版免费观看| 国产成人啪精品午夜网站| 91在线观看av| 国产亚洲精品第一综合不卡| 日本a在线网址| 如日韩欧美国产精品一区二区三区| 欧美中文综合在线视频| 又紧又爽又黄一区二区| 老司机影院毛片| 正在播放国产对白刺激| 精品国产超薄肉色丝袜足j| 国产亚洲精品久久久久5区| 精品无人区乱码1区二区| 久久久久国产精品人妻aⅴ院 | 色婷婷久久久亚洲欧美| 午夜福利欧美成人| 久久久国产成人免费| 一边摸一边抽搐一进一出视频| 一本一本久久a久久精品综合妖精| 18禁裸乳无遮挡动漫免费视频| 国产乱人伦免费视频| 国产精品自产拍在线观看55亚洲 | 深夜精品福利| 自拍欧美九色日韩亚洲蝌蚪91| 中文亚洲av片在线观看爽 | 少妇 在线观看| 人人妻人人澡人人爽人人夜夜| 久久热在线av| 一a级毛片在线观看| 99久久国产精品久久久| 国产一区二区三区视频了| 午夜亚洲福利在线播放| www.精华液| 亚洲av成人不卡在线观看播放网| 制服诱惑二区| 亚洲欧美精品综合一区二区三区| 一本一本久久a久久精品综合妖精| 大片电影免费在线观看免费| 乱人伦中国视频| 欧美日韩成人在线一区二区| 不卡av一区二区三区| 90打野战视频偷拍视频| 亚洲欧美日韩高清在线视频| 国产精品国产av在线观看| 最近最新免费中文字幕在线| 看黄色毛片网站| 国产亚洲一区二区精品| 国产有黄有色有爽视频| 色综合婷婷激情| 国产日韩欧美亚洲二区| 香蕉国产在线看| av免费在线观看网站| 久久中文字幕一级| 精品一区二区三区四区五区乱码| 精品国产超薄肉色丝袜足j| 最近最新中文字幕大全免费视频| 午夜福利影视在线免费观看| 国产精品.久久久| 国产男女内射视频| 亚洲欧美色中文字幕在线| 如日韩欧美国产精品一区二区三区| 在线十欧美十亚洲十日本专区| 亚洲,欧美精品.| 亚洲avbb在线观看| 亚洲少妇的诱惑av| 精品久久久久久电影网| 动漫黄色视频在线观看| 日本a在线网址| 搡老熟女国产l中国老女人| 国产一区二区三区综合在线观看| 日韩欧美在线二视频 | 精品第一国产精品| 国产xxxxx性猛交| 日本一区二区免费在线视频| 999久久久精品免费观看国产| 国产精品久久视频播放| 老司机深夜福利视频在线观看| 日韩熟女老妇一区二区性免费视频| 50天的宝宝边吃奶边哭怎么回事| 亚洲片人在线观看| e午夜精品久久久久久久| 好男人电影高清在线观看| 99riav亚洲国产免费| 欧美精品亚洲一区二区| 狠狠狠狠99中文字幕| 亚洲成人手机| 国产精品一区二区在线观看99| 国产精品一区二区免费欧美| 久久天堂一区二区三区四区| 国产片内射在线| 国产一区有黄有色的免费视频| 日韩有码中文字幕| 久久久久久久国产电影| 精品福利永久在线观看| 超碰成人久久| 午夜亚洲福利在线播放| 日日爽夜夜爽网站| 国产一区二区三区综合在线观看| xxxhd国产人妻xxx| 热99久久久久精品小说推荐| 午夜久久久在线观看| 日韩 欧美 亚洲 中文字幕| 亚洲成国产人片在线观看| 十八禁高潮呻吟视频| 国产麻豆69| 欧美+亚洲+日韩+国产| 国产色视频综合| 亚洲精品成人av观看孕妇| av超薄肉色丝袜交足视频| 色老头精品视频在线观看| 久久精品国产亚洲av高清一级| 又黄又粗又硬又大视频| 天堂中文最新版在线下载| 咕卡用的链子| 成在线人永久免费视频| 国产在视频线精品| 精品免费久久久久久久清纯 | 久久中文字幕一级| 国产aⅴ精品一区二区三区波| 亚洲av成人不卡在线观看播放网| 男女免费视频国产| 最新在线观看一区二区三区| 精品少妇一区二区三区视频日本电影| 成在线人永久免费视频| 亚洲第一欧美日韩一区二区三区| 午夜福利视频在线观看免费| 久久久国产欧美日韩av| 久久99一区二区三区| 欧美精品人与动牲交sv欧美| 欧洲精品卡2卡3卡4卡5卡区| 大型黄色视频在线免费观看| 久久精品国产a三级三级三级| 在线观看日韩欧美| 久久青草综合色| 激情视频va一区二区三区| av在线播放免费不卡| 18在线观看网站| 韩国av一区二区三区四区| 国产xxxxx性猛交| 欧美日韩福利视频一区二区| 久久精品亚洲精品国产色婷小说| 国产xxxxx性猛交| tocl精华| 香蕉久久夜色| 久久精品国产亚洲av香蕉五月 | 法律面前人人平等表现在哪些方面| 亚洲国产看品久久| 久久精品91无色码中文字幕| 国产黄色免费在线视频| 国产精华一区二区三区| 欧美国产精品一级二级三级| 日日摸夜夜添夜夜添小说| 国产精品综合久久久久久久免费 | 国产精品亚洲av一区麻豆| 一本综合久久免费| 一区二区日韩欧美中文字幕| 麻豆国产av国片精品| 亚洲欧美日韩高清在线视频| 丝瓜视频免费看黄片| 三级毛片av免费| 精品电影一区二区在线| 母亲3免费完整高清在线观看| 亚洲欧美一区二区三区久久| 日韩欧美一区视频在线观看| 精品一区二区三区四区五区乱码| 中文字幕制服av| 波多野结衣一区麻豆| 真人做人爱边吃奶动态| 黄色视频不卡| 人人妻人人添人人爽欧美一区卜| 黄色视频不卡| 国产精品永久免费网站| 亚洲第一青青草原| 黄色怎么调成土黄色| 亚洲久久久国产精品| 午夜免费鲁丝| 国产精品二区激情视频| 亚洲情色 制服丝袜| 在线视频色国产色| 亚洲avbb在线观看| 91九色精品人成在线观看| 久久中文看片网| 欧美一级毛片孕妇| 黄色女人牲交| 亚洲欧洲精品一区二区精品久久久| av超薄肉色丝袜交足视频| 亚洲欧美日韩高清在线视频| 亚洲人成77777在线视频| 啦啦啦在线免费观看视频4| 91成人精品电影| 老司机午夜福利在线观看视频| 成人av一区二区三区在线看| 三级毛片av免费| 精品人妻1区二区| 国产亚洲欧美98| 午夜影院日韩av| 亚洲成国产人片在线观看| 在线视频色国产色| 成年女人毛片免费观看观看9 | bbb黄色大片| 动漫黄色视频在线观看| 国产av又大| 国产精品免费视频内射| 嫁个100分男人电影在线观看| 久久精品亚洲熟妇少妇任你| 色精品久久人妻99蜜桃| 亚洲欧美激情在线| 这个男人来自地球电影免费观看| 国产成人欧美| 最新的欧美精品一区二区| 老司机深夜福利视频在线观看| 18禁美女被吸乳视频| 精品久久久精品久久久| 夜夜爽天天搞| 国产亚洲一区二区精品| 国产精品美女特级片免费视频播放器 | 久久狼人影院| 国产精品永久免费网站| 天天躁日日躁夜夜躁夜夜| 成年人黄色毛片网站| 激情视频va一区二区三区| 十八禁人妻一区二区| 一本大道久久a久久精品| 国产不卡一卡二| 成人手机av| 免费在线观看日本一区| 国产在线一区二区三区精| 欧美+亚洲+日韩+国产| 国产一区二区三区综合在线观看| 操美女的视频在线观看| 好男人电影高清在线观看| 久久国产精品男人的天堂亚洲| 久久久久国内视频| 亚洲一区二区三区不卡视频| 十八禁高潮呻吟视频| av欧美777| 性色av乱码一区二区三区2| 欧美黄色淫秽网站| 国产成+人综合+亚洲专区| 一级a爱片免费观看的视频| 大香蕉久久成人网| 免费一级毛片在线播放高清视频 | 桃红色精品国产亚洲av| 无限看片的www在线观看| 99国产精品免费福利视频| svipshipincom国产片| 亚洲精品久久成人aⅴ小说| 色尼玛亚洲综合影院| 天堂动漫精品| 亚洲 欧美一区二区三区| 男女床上黄色一级片免费看| 精品高清国产在线一区| 亚洲av熟女| 黄网站色视频无遮挡免费观看| 亚洲人成电影免费在线| 精品人妻1区二区| 最新在线观看一区二区三区| 热99久久久久精品小说推荐| 久久影院123| 国产一区二区激情短视频| 亚洲专区字幕在线| 亚洲七黄色美女视频| 九色亚洲精品在线播放| 亚洲一区二区三区欧美精品| 18禁观看日本| 免费不卡黄色视频| 久久狼人影院| 精品久久久久久久久久免费视频 | 高清黄色对白视频在线免费看| 久久香蕉精品热| 午夜福利在线观看吧| 精品少妇一区二区三区视频日本电影| 麻豆国产av国片精品| 国产精品久久久av美女十八| 久久ye,这里只有精品| 五月开心婷婷网| 成人永久免费在线观看视频| 亚洲精品自拍成人| 欧美日韩黄片免| aaaaa片日本免费| 午夜福利欧美成人| 精品一区二区三区av网在线观看| 亚洲精品国产精品久久久不卡| 久久国产亚洲av麻豆专区| 黄色视频,在线免费观看| 成年版毛片免费区| 午夜精品久久久久久毛片777| av线在线观看网站| 国产片内射在线| 国产亚洲欧美在线一区二区| 欧美性长视频在线观看| 男人的好看免费观看在线视频 | 19禁男女啪啪无遮挡网站| 国产成+人综合+亚洲专区| 久久精品亚洲av国产电影网| 精品电影一区二区在线| svipshipincom国产片| 欧美激情极品国产一区二区三区| 手机成人av网站| 男人的好看免费观看在线视频 | 亚洲国产精品一区二区三区在线| 国产亚洲一区二区精品| 国产亚洲欧美98| 亚洲av美国av| 无限看片的www在线观看| 一区二区三区精品91| 亚洲精品在线观看二区| 午夜成年电影在线免费观看| av有码第一页| 午夜福利影视在线免费观看| 最近最新免费中文字幕在线| 久久久精品区二区三区| 色婷婷av一区二区三区视频| 在线免费观看的www视频| 亚洲av成人一区二区三| 午夜福利在线免费观看网站| 日韩人妻精品一区2区三区| 精品电影一区二区在线| 欧洲精品卡2卡3卡4卡5卡区| 国产欧美亚洲国产| 色婷婷久久久亚洲欧美| a在线观看视频网站| www.自偷自拍.com| 国产片内射在线| 久久国产精品大桥未久av| 又紧又爽又黄一区二区| 国产97色在线日韩免费| 欧美午夜高清在线| 女人爽到高潮嗷嗷叫在线视频| 一级片免费观看大全| 精品一区二区三区视频在线观看免费 | 在线观看午夜福利视频| 国产精品久久久久久精品古装| 免费不卡黄色视频| 深夜精品福利| 99国产精品一区二区三区| 欧美人与性动交α欧美精品济南到| 99久久人妻综合| 国产男女内射视频| 天堂√8在线中文| 午夜激情av网站| 三级毛片av免费| 国产欧美日韩一区二区三| 韩国av一区二区三区四区| 亚洲五月婷婷丁香| 韩国精品一区二区三区| av一本久久久久| 人人妻人人澡人人爽人人夜夜| 欧美精品啪啪一区二区三区| 精品熟女少妇八av免费久了| 一二三四社区在线视频社区8| 色尼玛亚洲综合影院| 午夜福利一区二区在线看| 精品久久久久久电影网| 久久国产乱子伦精品免费另类| 麻豆国产av国片精品| 国产精品综合久久久久久久免费 | 国产精品电影一区二区三区 | 日日夜夜操网爽| 国产一区二区激情短视频| 高清欧美精品videossex| 免费观看人在逋| 欧美不卡视频在线免费观看 | 中文字幕人妻丝袜一区二区| 午夜成年电影在线免费观看| 国产成人欧美| 操出白浆在线播放| 亚洲美女黄片视频| 欧洲精品卡2卡3卡4卡5卡区| 1024香蕉在线观看| 久久国产亚洲av麻豆专区| 国产精品.久久久| 韩国av一区二区三区四区| 久久99一区二区三区|