国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hama并行計(jì)算框架的多層級(jí)作業(yè)調(diào)度算法的研究及實(shí)現(xiàn)

2020-09-22 12:24:51肖堅(jiān)
讀天下 2020年25期

摘?要:Hama的出現(xiàn)彌補(bǔ)了Hadoop平臺(tái)的不足,不僅僅實(shí)現(xiàn)了類似于Hadoop的并行計(jì)算,而且在圖計(jì)算方面也展示出顯著的優(yōu)勢(shì)。但是因?yàn)镠ama的應(yīng)用實(shí)踐較短,很多的地方還有很大的改善空間。文章重點(diǎn)從基于Hama并行計(jì)算框架的多層級(jí)作業(yè)調(diào)度算法設(shè)計(jì)與實(shí)現(xiàn)兩方面做全面系統(tǒng)的闡述,提出建議。

關(guān)鍵詞:Hama;Hadoop平臺(tái);多層級(jí)作業(yè)調(diào)度算法

Hama是一種基于BSP模型的分布式并行計(jì)算框架,在大規(guī)??茖W(xué)計(jì)算中最為常用。與Hadoop類似,Hama也可以有效屏蔽分布式系統(tǒng)的底層實(shí)現(xiàn)細(xì)節(jié),可以為用戶提供簡(jiǎn)單易行的API。更重要的一點(diǎn)是,Hama在存儲(chǔ)功能設(shè)計(jì)上可以兼容HBase和HDFS。在系統(tǒng)架構(gòu)上,Hama采用主-從架構(gòu),往往一個(gè)Hama集群由一個(gè)BSPMaster主節(jié)點(diǎn)和若干個(gè)GroomServer從節(jié)點(diǎn)組成,就現(xiàn)階段Hama同步過程實(shí)現(xiàn)來看,其主要是依靠Zookeeper。Hama作業(yè)調(diào)度框架設(shè)計(jì)上,所用的作業(yè)調(diào)度器是運(yùn)行于BSPMaster節(jié)點(diǎn)之上,而其作業(yè)調(diào)度器“可插拔”使用則是通過Schedulable和TaskScheduler類接口實(shí)現(xiàn)。

一、 基于Hama并行計(jì)算框架的多層級(jí)作業(yè)調(diào)度算法的設(shè)計(jì)

Hama作業(yè)調(diào)度可以分為兩大部分,一是從候選作業(yè)隊(duì)列中選擇一個(gè)作業(yè),二是對(duì)已經(jīng)選擇好的作業(yè)進(jìn)行分配GroomServer,以此來開展相關(guān)任務(wù)??梢哉f,這兩大部分是Hama作業(yè)調(diào)度的核心設(shè)計(jì)內(nèi)容。文章所提出的基于Hama并行計(jì)算框架的多層級(jí)作業(yè)調(diào)度算法包括四大模塊,即資源管理、作業(yè)選擇、任務(wù)分配及配置文件管理。

資源管理的作用在于合理將“任務(wù)槽”分配給不同的資源容器,以此保證資源可以充分被集群中的各個(gè)作業(yè)共享??梢詫⒓褐械馁Y源劃分為Hama物理集群、作業(yè)類型資源池及用戶作業(yè)等待隊(duì)列,層級(jí)劃分方式可以通過配置文件實(shí)現(xiàn)有效的監(jiān)管,兼顧性強(qiáng)。與集群中的資源劃分相對(duì)應(yīng),作業(yè)類型資源池的選擇策略包括速率策略、輪詢策略、公平共享策略及資源利用率策略;用戶作業(yè)等待隊(duì)列的選擇策略包括速率策略、輪詢策略、公平共享策略;作業(yè)選擇策略包括FIFO策略、小作業(yè)優(yōu)先策略及大作業(yè)優(yōu)先策略。在任務(wù)分配策略設(shè)計(jì)中,文章考慮GroomServer負(fù)載水平的任務(wù)分配策略—負(fù)載均衡策略,這一策略的優(yōu)勢(shì)在于可以將節(jié)點(diǎn)負(fù)荷水平看成節(jié)點(diǎn)特征,可以作為作業(yè)調(diào)度器實(shí)現(xiàn)選取GroomServer組合的目的。作業(yè)調(diào)度器配置設(shè)計(jì)中文章在其啟動(dòng)時(shí)加入了后臺(tái)線程,以此控制配置文件的更改,如果配置文件發(fā)生改動(dòng)則可以在第一時(shí)間進(jìn)行重新加載,而后根據(jù)最新的配置信息對(duì)相應(yīng)的設(shè)置加以調(diào)整優(yōu)化。

基于Hama并行計(jì)算框架的多層級(jí)作業(yè)調(diào)度算法流程為:集群?jiǎn)?dòng)與資源初始化→作業(yè)進(jìn)入等待隊(duì)列(具體流程見圖1)→多層級(jí)作業(yè)調(diào)度算法作業(yè)選擇流程(具體流程見圖2)→挑選合適的GroomServer組合,并分配到具體的GroomServer中去執(zhí)行→分配具體的執(zhí)行節(jié)點(diǎn),發(fā)送至每一個(gè)GroomServer節(jié)點(diǎn),生成指令→指令發(fā)送至各個(gè)GroomServer,執(zhí)行具體任務(wù)。

二、 基于Hama并行計(jì)算框架的多層級(jí)作業(yè)調(diào)度算法的實(shí)現(xiàn)

Hama多層級(jí)作業(yè)調(diào)度算法的實(shí)現(xiàn)基于Hama0.6.3之上,同時(shí)利用Java實(shí)現(xiàn)語(yǔ)言開發(fā),作業(yè)調(diào)度器熱插拔接口采用Schedulable。本次設(shè)計(jì)實(shí)現(xiàn)過程中對(duì)作業(yè)等待隊(duì)列采用公平共享策略,資源選擇策略采用輪詢策略,作業(yè)選擇策略次用FIFO策略和最大作用優(yōu)先策略。在具體實(shí)現(xiàn)上主要從作業(yè)調(diào)度流程管理、資源管理、配置文件監(jiān)聽等方面針對(duì)性實(shí)現(xiàn)。

在作業(yè)調(diào)度流程管理實(shí)現(xiàn)中,將MultiLayerScheduler作為作業(yè)調(diào)度組織者和調(diào)度流程的管理者,并將其作為整個(gè)算法的核心加以優(yōu)化管理。所應(yīng)用的方法包括四類,即start、terminate、getJobs、findJobById。需要明確的一點(diǎn)是,Hama中的任務(wù)分配策略注冊(cè)于JobInProgress類,這與作業(yè)調(diào)度器注冊(cè)相類似。資源管理類包括ResourcesManager類、WaitingQueue類、ResourcesPool類,ResourcesManager類是整個(gè)集群資源的管理者,資源管理工作均由其完成。WaitingQueue可以實(shí)現(xiàn)維護(hù)內(nèi)部作業(yè)等待隊(duì)列的作用。ResourcesPool類不單單具有維護(hù)內(nèi)部作業(yè)等待隊(duì)列的作用,且有維護(hù)資源池各種限制條件的作用。在配置文件監(jiān)聽實(shí)現(xiàn)方面,其動(dòng)態(tài)修改依靠ResourcesManage類和ConfigurationFileMonitor類共同實(shí)現(xiàn),ConfigurationFileMonitor類主要負(fù)責(zé)配置文件的更改監(jiān)控,ResourcesManage主要負(fù)責(zé)配置文件重新加載及修改等待隊(duì)列等任務(wù)。

三、 結(jié)語(yǔ)

Hama并行計(jì)算框架還有很大的完善空間,多層級(jí)作業(yè)調(diào)度算法可以有效提升Hama集群資源的利用能力,同時(shí)可以提升整個(gè)作業(yè)調(diào)度的靈活性。但是值得注意的一點(diǎn)是,該算法在任務(wù)分配策略上還需要大力改進(jìn),增加更多的任務(wù)分配策略至關(guān)重要。

參考文獻(xiàn):

[1]趙博穎,肖鵬,張力.基于混合并行布谷鳥搜索的作業(yè)調(diào)度算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2019,40(3):719-724.

[2]李安民,計(jì)衛(wèi)星,廖心怡,等.一種面向異構(gòu)計(jì)算的結(jié)構(gòu)化并行編程框架[J].計(jì)算機(jī)工程與科學(xué),2019,41(3):424-432.

作者簡(jiǎn)介:

肖堅(jiān),湖南省長(zhǎng)沙市,湖南外貿(mào)職業(yè)學(xué)院。

大理市| 筠连县| 娄底市| 松滋市| 漳平市| 祁连县| 定南县| 喀什市| 安陆市| 繁峙县| 启东市| 林周县| 德州市| 曲松县| 阿拉善盟| 耒阳市| 清涧县| 昔阳县| 阜城县| 中卫市| 开鲁县| 彰化市| 通州区| 东丽区| 岗巴县| 聂拉木县| 仪陇县| 项城市| 鄂托克旗| 定结县| 盖州市| 汝南县| 同德县| 满洲里市| 宁陵县| 普格县| 尼勒克县| 五常市| 榆社县| 贵定县| 湖北省|