• <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)度策略
    九九在线视频观看精品| 久久久久久久亚洲中文字幕 | 欧美bdsm另类| 国内久久婷婷六月综合欲色啪| 久久久色成人| 在线观看午夜福利视频| 日韩av在线大香蕉| 日本黄大片高清| 成人国产综合亚洲| 欧美中文日本在线观看视频| 亚洲av成人av| 午夜免费观看网址| 老汉色∧v一级毛片| 很黄的视频免费| 国产午夜精品久久久久久一区二区三区 | 97人妻精品一区二区三区麻豆| www.www免费av| 欧美午夜高清在线| 狂野欧美激情性xxxx| 精品电影一区二区在线| 久久久国产成人免费| 每晚都被弄得嗷嗷叫到高潮| 午夜老司机福利剧场| 精品不卡国产一区二区三区| 成年人黄色毛片网站| 久久久国产精品麻豆| 精品国产三级普通话版| 日韩精品中文字幕看吧| 淫妇啪啪啪对白视频| 国产精品一区二区免费欧美| 国产在视频线在精品| 国产精品 欧美亚洲| 中文字幕精品亚洲无线码一区| 一本一本综合久久| 黄色视频,在线免费观看| 国产一区二区在线观看日韩 | 国产男靠女视频免费网站| 日韩免费av在线播放| 亚洲国产日韩欧美精品在线观看 | 99国产极品粉嫩在线观看| 好看av亚洲va欧美ⅴa在| 首页视频小说图片口味搜索| 一进一出抽搐动态| 国产一区二区亚洲精品在线观看| 亚洲成人精品中文字幕电影| 色老头精品视频在线观看| 怎么达到女性高潮| 在线播放国产精品三级| 色综合欧美亚洲国产小说| 51午夜福利影视在线观看| 一进一出好大好爽视频| 免费看光身美女| 男女那种视频在线观看| 非洲黑人性xxxx精品又粗又长| 男人的好看免费观看在线视频| 国产一区在线观看成人免费| 老司机在亚洲福利影院| 国产综合懂色| 51国产日韩欧美| 美女 人体艺术 gogo| 精品熟女少妇八av免费久了| 99精品在免费线老司机午夜| 午夜久久久久精精品| 国产 一区 欧美 日韩| 亚洲精品色激情综合| 黄色女人牲交| 中文字幕人成人乱码亚洲影| 一a级毛片在线观看| 欧美在线黄色| 美女大奶头视频| eeuss影院久久| 亚洲专区国产一区二区| 无限看片的www在线观看| 国产精品电影一区二区三区| 国产精品 欧美亚洲| 免费看日本二区| 国产真实乱freesex| 欧美黑人巨大hd| 日本免费a在线| 午夜免费观看网址| 国内少妇人妻偷人精品xxx网站| 亚洲精品亚洲一区二区| 午夜影院日韩av| av欧美777| 亚洲精品一区av在线观看| 天堂av国产一区二区熟女人妻| 成熟少妇高潮喷水视频| 成人av在线播放网站| 男女视频在线观看网站免费| 国产精品日韩av在线免费观看| 国产高清激情床上av| 日本免费一区二区三区高清不卡| 婷婷亚洲欧美| 一级毛片高清免费大全| 国产av一区在线观看免费| 一级黄片播放器| 午夜免费激情av| 日本免费a在线| 久久久久久久午夜电影| 亚洲精品美女久久久久99蜜臀| 大型黄色视频在线免费观看| 亚洲一区二区三区色噜噜| 久久久久久人人人人人| av中文乱码字幕在线| 2021天堂中文幕一二区在线观| 欧美av亚洲av综合av国产av| 午夜a级毛片| 国产成人系列免费观看| 亚洲 欧美 日韩 在线 免费| 欧美高清成人免费视频www| 中文资源天堂在线| 99久久九九国产精品国产免费| 亚洲av中文字字幕乱码综合| 51国产日韩欧美| 午夜激情欧美在线| 免费在线观看亚洲国产| 日本a在线网址| 国产精品爽爽va在线观看网站| 国产一区二区激情短视频| 午夜a级毛片| 国产私拍福利视频在线观看| 日韩欧美精品v在线| 亚洲av成人不卡在线观看播放网| 又黄又爽又免费观看的视频| 亚洲专区国产一区二区| 三级国产精品欧美在线观看| 亚洲国产精品999在线| 欧美日本亚洲视频在线播放| 成人特级黄色片久久久久久久| 日本熟妇午夜| 美女被艹到高潮喷水动态| 午夜久久久久精精品| 人妻久久中文字幕网| 国产视频内射| 操出白浆在线播放| 给我免费播放毛片高清在线观看| 欧美日韩乱码在线| 露出奶头的视频| 波多野结衣高清作品| 香蕉av资源在线| 90打野战视频偷拍视频| 免费高清视频大片| 日本 av在线| 色在线成人网| 人人妻,人人澡人人爽秒播| 国产爱豆传媒在线观看| 久久精品91蜜桃| 国产乱人伦免费视频| 97碰自拍视频| 精品一区二区三区人妻视频| 中文亚洲av片在线观看爽| 老熟妇乱子伦视频在线观看| 激情在线观看视频在线高清| 淫妇啪啪啪对白视频| 久久精品国产99精品国产亚洲性色| 法律面前人人平等表现在哪些方面| 免费人成在线观看视频色| 久久精品国产亚洲av涩爱 | 一个人免费在线观看的高清视频| 母亲3免费完整高清在线观看| 免费观看人在逋| 国产欧美日韩精品亚洲av| 热99在线观看视频| 丰满人妻一区二区三区视频av | 亚洲国产色片| 欧美3d第一页| 18禁黄网站禁片午夜丰满| 欧美中文日本在线观看视频| 欧美黄色淫秽网站| 在线免费观看不下载黄p国产 | 又黄又粗又硬又大视频| 欧美日本视频| 激情在线观看视频在线高清| 亚洲无线观看免费| 亚洲国产日韩欧美精品在线观看 | 叶爱在线成人免费视频播放| 久久久久国内视频| 亚洲一区高清亚洲精品| 两人在一起打扑克的视频| 亚洲国产色片| 别揉我奶头~嗯~啊~动态视频| 1024手机看黄色片| 1024手机看黄色片| 日韩亚洲欧美综合| 久久久国产成人免费| 麻豆成人午夜福利视频| 国产淫片久久久久久久久 | www日本黄色视频网| 国产一区在线观看成人免费| 91麻豆精品激情在线观看国产| 欧美av亚洲av综合av国产av| 一a级毛片在线观看| 日韩欧美三级三区| 色综合站精品国产| 午夜免费激情av| 日本撒尿小便嘘嘘汇集6| 亚洲第一电影网av| 精品久久久久久久人妻蜜臀av| av福利片在线观看| 色综合婷婷激情| 看片在线看免费视频| 亚洲av五月六月丁香网| 老汉色∧v一级毛片| 国产精品香港三级国产av潘金莲| 色综合站精品国产| 久久精品综合一区二区三区| 69人妻影院| 久久久国产成人免费| 老司机福利观看| 99热这里只有精品一区| 日韩欧美国产在线观看| 国产精品乱码一区二三区的特点| 亚洲精品一卡2卡三卡4卡5卡| 国产黄片美女视频| 身体一侧抽搐| 精品一区二区三区视频在线观看免费| 每晚都被弄得嗷嗷叫到高潮| 亚洲av成人不卡在线观看播放网| 免费电影在线观看免费观看| 听说在线观看完整版免费高清| 色精品久久人妻99蜜桃| 日本 欧美在线| 男人的好看免费观看在线视频| 最近在线观看免费完整版| 国产成人aa在线观看| e午夜精品久久久久久久| 最新在线观看一区二区三区| 欧美一级毛片孕妇| svipshipincom国产片| 观看免费一级毛片| 男女那种视频在线观看| 可以在线观看毛片的网站| 亚洲国产欧美网| www日本在线高清视频| 又紧又爽又黄一区二区| 日韩欧美 国产精品| 精品人妻1区二区| 亚洲国产欧洲综合997久久,| 亚洲av成人av| 欧美一区二区国产精品久久精品| 嫩草影院精品99| а√天堂www在线а√下载| 国产精品 国内视频| 国产中年淑女户外野战色| 女人被狂操c到高潮| 国内久久婷婷六月综合欲色啪| 长腿黑丝高跟| 欧美成人性av电影在线观看| 最新在线观看一区二区三区| 免费在线观看日本一区| 一区二区三区激情视频| 五月伊人婷婷丁香| or卡值多少钱| 麻豆成人午夜福利视频| 国产v大片淫在线免费观看| 丰满乱子伦码专区| 丝袜美腿在线中文| 美女高潮的动态| 国产av麻豆久久久久久久| 国内精品美女久久久久久| 91av网一区二区| 国产精品久久久人人做人人爽| 深夜精品福利| 性色avwww在线观看| 欧美黄色淫秽网站| 国产亚洲精品久久久com| 免费在线观看日本一区| 又紧又爽又黄一区二区| 国产精品久久久久久人妻精品电影| 亚洲第一电影网av| 12—13女人毛片做爰片一| 丰满乱子伦码专区| 国产亚洲欧美98| 白带黄色成豆腐渣| 有码 亚洲区| 91麻豆av在线| 成人特级黄色片久久久久久久| 九色成人免费人妻av| 黄色片一级片一级黄色片| 欧美日本视频| 日韩 欧美 亚洲 中文字幕| tocl精华| 久久精品国产亚洲av涩爱 | 日日摸夜夜添夜夜添小说| 国产成人系列免费观看| 俄罗斯特黄特色一大片| 国产v大片淫在线免费观看| 欧美日韩精品网址| av欧美777| 亚洲成av人片免费观看| 国产成+人综合+亚洲专区| 欧美在线黄色| 免费看十八禁软件| www.熟女人妻精品国产| 欧美日韩综合久久久久久 | 丁香六月欧美| av中文乱码字幕在线| 国产黄色小视频在线观看| 精品日产1卡2卡| 可以在线观看毛片的网站| 禁无遮挡网站| 精品无人区乱码1区二区| 免费观看精品视频网站| 老司机在亚洲福利影院| eeuss影院久久| 一个人免费在线观看电影| 91久久精品国产一区二区成人 | 国产成人av教育| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 91在线精品国自产拍蜜月 | 亚洲 国产 在线| 少妇裸体淫交视频免费看高清| 亚洲成a人片在线一区二区| 制服人妻中文乱码| 国产成+人综合+亚洲专区| av在线蜜桃| 九九久久精品国产亚洲av麻豆| 黄色视频,在线免费观看| 亚洲成av人片免费观看| 国产精品久久电影中文字幕| 欧美日韩国产亚洲二区| 国产极品精品免费视频能看的| 一a级毛片在线观看| 中文字幕熟女人妻在线| 午夜福利视频1000在线观看| 国产精品久久久久久久久免 | 男插女下体视频免费在线播放| 亚洲精品456在线播放app | 国产精品久久久久久精品电影| 久久久久久大精品| 毛片女人毛片| 欧美国产日韩亚洲一区| 麻豆成人av在线观看| 久久精品国产亚洲av香蕉五月| 午夜亚洲福利在线播放| x7x7x7水蜜桃| 99久久99久久久精品蜜桃| av中文乱码字幕在线| 午夜亚洲福利在线播放| 美女高潮的动态| 国产伦一二天堂av在线观看| 国产男靠女视频免费网站| 久久6这里有精品| 蜜桃久久精品国产亚洲av| 少妇熟女aⅴ在线视频| 国产精品久久久久久亚洲av鲁大| 欧美三级亚洲精品| av在线蜜桃| 岛国视频午夜一区免费看| 欧美成狂野欧美在线观看| 午夜免费男女啪啪视频观看 | 免费看光身美女| 婷婷精品国产亚洲av在线| 在线观看一区二区三区| 一个人免费在线观看的高清视频| x7x7x7水蜜桃| 国产色婷婷99| 99热6这里只有精品| 99久久精品一区二区三区| 伊人久久大香线蕉亚洲五| 午夜福利免费观看在线| 男人和女人高潮做爰伦理| 日日摸夜夜添夜夜添小说| 神马国产精品三级电影在线观看| 欧美激情在线99| 日本一本二区三区精品| h日本视频在线播放| 精品久久久久久,| 久久6这里有精品| 天堂影院成人在线观看| 麻豆久久精品国产亚洲av| 淫秽高清视频在线观看| bbb黄色大片| 免费人成在线观看视频色| 国产一级毛片七仙女欲春2| 国产精品一及| 一区二区三区免费毛片| 国产成人啪精品午夜网站| 国产毛片a区久久久久| 波多野结衣高清无吗| 色综合站精品国产| 国产精品美女特级片免费视频播放器| 中文字幕久久专区| 日本熟妇午夜| 3wmmmm亚洲av在线观看| 成人午夜高清在线视频| 久久久久国内视频| 国产成人av教育| 亚洲精品乱码久久久v下载方式 | 床上黄色一级片| 午夜精品久久久久久毛片777| 怎么达到女性高潮| 国产免费一级a男人的天堂| 中文字幕人妻丝袜一区二区| 日本一二三区视频观看| 精品久久久久久久久久免费视频| 亚洲 欧美 日韩 在线 免费| 久久久久久久久久黄片| 给我免费播放毛片高清在线观看| 久久久久久久亚洲中文字幕 | 日日夜夜操网爽| 女人高潮潮喷娇喘18禁视频| 亚洲av熟女| 中文字幕久久专区| 热99在线观看视频| 亚洲欧美日韩高清专用| 久久久久国产精品人妻aⅴ院| 九色成人免费人妻av| 亚洲男人的天堂狠狠| 免费在线观看影片大全网站| 亚洲av熟女| 一级毛片高清免费大全| 久久婷婷人人爽人人干人人爱| 欧美日韩福利视频一区二区| 免费看光身美女| 亚洲精品美女久久久久99蜜臀| 亚洲最大成人手机在线| 白带黄色成豆腐渣| 噜噜噜噜噜久久久久久91| 亚洲男人的天堂狠狠| av天堂在线播放| 日本一二三区视频观看| 免费av不卡在线播放| 偷拍熟女少妇极品色| 九色国产91popny在线| 午夜福利18| 51国产日韩欧美| 黄色成人免费大全| 国产精品爽爽va在线观看网站| av片东京热男人的天堂| 国产精品一区二区三区四区免费观看 | 色尼玛亚洲综合影院| 欧美一区二区精品小视频在线| 91在线精品国自产拍蜜月 | 欧美午夜高清在线| 欧美在线一区亚洲| 国产成人aa在线观看| 欧美日韩瑟瑟在线播放| 久久精品影院6| 国产亚洲av嫩草精品影院| 高清在线国产一区| 又粗又爽又猛毛片免费看| 啪啪无遮挡十八禁网站| 国产伦精品一区二区三区四那| 婷婷精品国产亚洲av在线| 精品免费久久久久久久清纯| 制服人妻中文乱码| 最好的美女福利视频网| 欧美成人性av电影在线观看| 国产又黄又爽又无遮挡在线| 男女午夜视频在线观看| 国产精华一区二区三区| 国产探花极品一区二区| 少妇的逼好多水| 欧美另类亚洲清纯唯美| 老熟妇仑乱视频hdxx| 亚洲欧美一区二区三区黑人| 天堂影院成人在线观看| ponron亚洲| 两个人视频免费观看高清| 中文字幕人成人乱码亚洲影| 久久午夜亚洲精品久久| 国产精品国产高清国产av| 久久精品国产亚洲av香蕉五月| 热99re8久久精品国产| 日本熟妇午夜| 久久中文看片网| 中文字幕精品亚洲无线码一区| 欧美精品啪啪一区二区三区| 一进一出好大好爽视频| 特大巨黑吊av在线直播| 日本免费一区二区三区高清不卡| 日日干狠狠操夜夜爽| 少妇人妻一区二区三区视频| 亚洲av熟女| 亚洲av中文字字幕乱码综合| 欧美午夜高清在线| 国产精品亚洲av一区麻豆| 欧美日韩黄片免| 91在线精品国自产拍蜜月 | 日本五十路高清| 国产精品自产拍在线观看55亚洲| 国产v大片淫在线免费观看| 12—13女人毛片做爰片一| 99riav亚洲国产免费| 午夜日韩欧美国产| 一进一出抽搐gif免费好疼| 欧美一区二区亚洲| 国产在视频线在精品| 久久香蕉精品热| 欧美性感艳星| 日韩大尺度精品在线看网址| 婷婷丁香在线五月| 精品电影一区二区在线| 欧美黑人巨大hd| 中文资源天堂在线| 99热只有精品国产| 熟女少妇亚洲综合色aaa.| 2021天堂中文幕一二区在线观| 国产欧美日韩一区二区精品| 特级一级黄色大片| 国产黄a三级三级三级人| 法律面前人人平等表现在哪些方面| 国产精品久久久久久亚洲av鲁大| 国产亚洲精品久久久com| 国产精品一区二区三区四区免费观看 | 国产伦一二天堂av在线观看| 宅男免费午夜| 亚洲第一欧美日韩一区二区三区| 大型黄色视频在线免费观看| 禁无遮挡网站| 波野结衣二区三区在线 | 国产麻豆成人av免费视频| 精品国产超薄肉色丝袜足j| 久久亚洲真实| 在线播放无遮挡| 18禁国产床啪视频网站| 夜夜夜夜夜久久久久| 成年女人看的毛片在线观看| 国产伦人伦偷精品视频| 亚洲在线自拍视频| 精华霜和精华液先用哪个| 久久久国产成人免费| 精品福利观看| 嫩草影院精品99| 久久久久久久亚洲中文字幕 | 悠悠久久av| 亚洲五月天丁香| 国产亚洲精品一区二区www| 亚洲熟妇中文字幕五十中出| 精品久久久久久成人av| 波多野结衣高清无吗| 日本一二三区视频观看| 国内精品一区二区在线观看| 久久精品综合一区二区三区| 午夜久久久久精精品| 亚洲国产精品sss在线观看| 99精品久久久久人妻精品| h日本视频在线播放| 18禁在线播放成人免费| 天堂网av新在线| 黄色女人牲交| 性欧美人与动物交配| 精品人妻偷拍中文字幕| 高清毛片免费观看视频网站| www日本在线高清视频| 90打野战视频偷拍视频| 亚洲在线自拍视频| 久久99热这里只有精品18| 女人被狂操c到高潮| 日韩免费av在线播放| 久久久久九九精品影院| 国产精品国产高清国产av| 天天添夜夜摸| 日日摸夜夜添夜夜添小说| 久久中文看片网| 国产v大片淫在线免费观看| 一区二区三区激情视频| 麻豆国产97在线/欧美| 亚洲人与动物交配视频| 91九色精品人成在线观看| 男女下面进入的视频免费午夜| 禁无遮挡网站| 久久精品亚洲精品国产色婷小说| 热99在线观看视频| 在线观看免费午夜福利视频| 亚洲国产精品合色在线| 少妇的逼好多水| 欧美国产日韩亚洲一区| 日韩免费av在线播放| 欧美激情在线99| 国产精品野战在线观看| 久久99热这里只有精品18| 国产中年淑女户外野战色| 亚洲av二区三区四区| 淫秽高清视频在线观看| 色av中文字幕| 午夜福利在线观看免费完整高清在 | 国产v大片淫在线免费观看| 久久香蕉精品热| 国产精品精品国产色婷婷| 中文在线观看免费www的网站| 又粗又爽又猛毛片免费看| 精品免费久久久久久久清纯| 在线播放国产精品三级| 国产免费一级a男人的天堂| 51午夜福利影视在线观看| 久久久精品大字幕| av国产免费在线观看| 俺也久久电影网| 看黄色毛片网站| 久久精品国产自在天天线| 99久久精品国产亚洲精品| 精品人妻1区二区| 99热6这里只有精品| 91字幕亚洲| 操出白浆在线播放| 一进一出抽搐gif免费好疼| 久久久国产成人免费| 两个人的视频大全免费| 成人av在线播放网站| 1000部很黄的大片| 免费观看的影片在线观看| 国产老妇女一区| 日韩欧美精品免费久久 | 两性午夜刺激爽爽歪歪视频在线观看| 性色av乱码一区二区三区2| 久久精品国产亚洲av涩爱 | 久久久精品大字幕| 国产精品,欧美在线| 午夜精品一区二区三区免费看| 99在线人妻在线中文字幕| 高潮久久久久久久久久久不卡| 岛国视频午夜一区免费看| 两个人看的免费小视频|