欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

使用實(shí)現(xiàn)EHPC完美并行的高效批處理方案的示例分析

使用實(shí)現(xiàn)EHPC完美并行的高效批處理方案的示例分析,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

公司專注于為企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、商城網(wǎng)站建設(shè),微信小程序定制開發(fā),軟件按需設(shè)計(jì)網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

使用EHPC實(shí)現(xiàn)“完美并行”的高效批處理方案

在高性能計(jì)算場(chǎng)景中,用戶一次業(yè)務(wù)計(jì)算可以劃分為大量的任務(wù),每個(gè)任務(wù)的處理邏輯相同,但是輸入文件、參數(shù)設(shè)置和輸出文件不同。由于每個(gè)任務(wù)處理邏輯相似,執(zhí)行時(shí)彼此沒有依賴,按照高性能計(jì)算的并行計(jì)算模式,可歸為 “embarrassing parallel”一類(又被稱為完美并行問題),這類問題很少或根本不需要將問題分成許多并行任務(wù)的工作,通這些并行任務(wù)之間很少或沒有依賴或需要通信,這類問題有一個(gè)另外的名稱,叫做“批處理”,是高性能計(jì)算領(lǐng)域最“完美”的一種場(chǎng)景。在此,給出了基于阿里云彈性高性能計(jì)算場(chǎng)景的數(shù)組作業(yè)解決方案——利用E-HPC集成的作業(yè)調(diào)度系統(tǒng),將用戶的批處理任務(wù)自動(dòng)分配到數(shù)組作業(yè),實(shí)現(xiàn)在云超算集群上高并發(fā)執(zhí)行。同時(shí),依靠“云”彈性,動(dòng)態(tài)擴(kuò)展集群的計(jì)算資源,控制批處理的完成時(shí)間。

背景介紹

先通過一個(gè)示例介紹批處理的場(chǎng)景,然后討論高性能計(jì)算集群以及數(shù)組作業(yè)。

批處理

在高性能計(jì)算領(lǐng)域中,存在大批量、可同時(shí)處理的計(jì)算場(chǎng)景,如以下freebayes應(yīng)用場(chǎng)景,不同任務(wù)均使用freebayes應(yīng)用程序,但是每個(gè)任務(wù)處理不同的輸入文件(--bam-list)、不同的參數(shù)(-r)和不同的結(jié)果文件(--vcf)。由于作業(yè)量巨大,需要任務(wù)的并發(fā)執(zhí)行,以縮短任務(wù)處理時(shí)間。

使用實(shí)現(xiàn)EHPC完美并行的高效批處理方案的示例分析

高性能計(jì)算集群與數(shù)組作業(yè)介紹

高性能計(jì)算集群是將大量的計(jì)算節(jié)點(diǎn)通過網(wǎng)絡(luò)互聯(lián),進(jìn)行統(tǒng)一的管理和調(diào)度,為大規(guī)模應(yīng)用運(yùn)行提供計(jì)算環(huán)境,包括賬號(hào)管理、調(diào)度管理、文件系統(tǒng)、集群監(jiān)控等模塊。

由于集群包含大量計(jì)算節(jié)點(diǎn),通常為多個(gè)用戶共同使用,每個(gè)用戶可以提交多個(gè)作業(yè),每個(gè)作業(yè)需要一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)。集群資源的分配是由調(diào)度管理協(xié)調(diào),以避免資源使用沖突,常用的調(diào)度管理軟件包括PBS,Slurm,SGE,LSF等。

數(shù)組作業(yè)是一組作業(yè)的集合,可以執(zhí)行一條提交作業(yè)的命令,提交作業(yè)集合中的所有作業(yè),每個(gè)作業(yè)用各自的index取值進(jìn)行區(qū)分。

如使用PBS調(diào)度器提交1個(gè)數(shù)組作業(yè),文件名為 qjob.sh,內(nèi)容如下:

#!/bin/bash

#PBS -N arrjob                 # 作業(yè)名稱
#PBS -l nodes=1:ppn=1         # 每個(gè)作業(yè)需要1個(gè)計(jì)算節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)1個(gè)核的資源
#PBS -J 1-3                 # 數(shù)組作業(yè)的作業(yè)編號(hào)為1,2,3

echo $PBS_ARRAY_ID             # 每個(gè)作業(yè)的編號(hào)在PBS_ARRAY_ID 環(huán)境變量中

qjob.sh腳本定義了一個(gè)數(shù)組作業(yè),包含3個(gè)作業(yè)。作業(yè)編號(hào)范圍用-J指定,取值為1-3。在具體作業(yè)執(zhí)行時(shí),每個(gè)作業(yè)的編號(hào)通過環(huán)境變量$PBS_ARRAY_ID獲取。通過以下命令就可以提交qjob.sh 作業(yè):

qsub ./qjob.sh

此時(shí),創(chuàng)建了3個(gè)作業(yè),而作業(yè)能否立刻執(zhí)行,需要調(diào)度器根據(jù)集群空閑資源和作業(yè)的資源需求來定。若資源充裕,3個(gè)作業(yè)可以同時(shí)運(yùn)行。

使用數(shù)組作業(yè)解決批處理任務(wù)

從批處理和數(shù)組作業(yè)介紹看,數(shù)組作業(yè)適用批處理計(jì)算的場(chǎng)景,但做到簡(jiǎn)易使用,還存在以下問題:

  1. 批處理任務(wù)與作業(yè)的對(duì)應(yīng)關(guān)系?當(dāng)任務(wù)數(shù)量巨大時(shí),是一個(gè)任務(wù)就是一個(gè)作業(yè),還是一個(gè)作業(yè)包含多個(gè)任務(wù)?

  2. 如何從$PBS_ARRAY_ID到不同任務(wù)的關(guān)聯(lián)?并能夠方便對(duì)應(yīng)不同任務(wù)的不同參數(shù)?

  3. 如何跟蹤任務(wù)的執(zhí)行情況?如何方便查看任務(wù)日志?在個(gè)別任務(wù)執(zhí)行失敗后,如何能夠快速的篩選,并在調(diào)整后重新執(zhí)行?

為此,我們給出使用數(shù)組作業(yè)解決批處理的方案,包括批處理任務(wù)到作業(yè)分配、批處理任務(wù)定義和任務(wù)運(yùn)行及追蹤功能。

批處理任務(wù)到作業(yè)分配

當(dāng)批處理任務(wù)數(shù)目巨大時(shí),如果每個(gè)任務(wù)都分配一個(gè)作業(yè),調(diào)度器的負(fù)載就加重,雖然調(diào)度器能夠顯示不同作業(yè)的運(yùn)行狀態(tài),作業(yè)數(shù)目過大,也會(huì)導(dǎo)致查看不方便。此外,相鄰任務(wù)在一個(gè)節(jié)點(diǎn)執(zhí)行,如果使用相同文件,可以重用節(jié)點(diǎn)的本地緩存。

為此,若任務(wù)數(shù)為Nt,作業(yè)數(shù)為Nj,每個(gè)作業(yè)處理的任務(wù)數(shù)為 Nt/Nj,如果不能整除,作業(yè)編號(hào)小于Nt%Nj的作業(yè)多處理一個(gè)任務(wù)。如之上批處理任務(wù),如果Nt/Nj=2,但不能整除,作業(yè)編號(hào)小的作業(yè)會(huì)處理3個(gè)任務(wù),而編號(hào)大的作業(yè),會(huì)處理2個(gè)任務(wù)。

task-map-job.jpg

批處理任務(wù)定義

從批處理任務(wù)示例中我們可以看出,每個(gè)任務(wù)進(jìn)行部分參數(shù)不同,若將這些變化的部分用變量代替,則批處理任務(wù)的處理腳本為(存放在文件 task.sh中):

$ cat task.sh
#!/bin/bash
echo "process $bamlist and $chrvar"
#other shell commands 如通過cd $bamlist 
freebayes --bam-list   $bamlist -r $chrvar  --vcf   /home/user/result/out-$bamlist.vcf
ret=$? # 保留主要程序的退出狀態(tài)
# other shell commands
# ... ... 

exit $ret # 任務(wù)執(zhí)行狀態(tài),0為成功,非0表示失敗

其中,用$bamlist表示 --bam-list 選項(xiàng)的變化取值和--vcf參數(shù)取值的變化部分,用$chrvar表示 -r選型的變化取值。

將具體變化的取值,存儲(chǔ)在變量名同名的文件中,每一行代表不同的取值,示例中有2個(gè)變量,因此需要兩個(gè)文件——bamlist和chrvar。

$ cat bamlist
bam1_100
bam101_200
bam201_300
bam301_400
bam401_500
bam501_600
bam601_700
bam701_800
bam801_900
... ...
bam901_1000
bam1001_1100
$ cat chrvar
chr01:1-1000
chr01:1001-2000
chr03:100-200
chr12:1000-2000
chr02:100-1100
chr03:1000-2000
chr05:1000-2000
chr08:1000-2000
chr08:3000-6000
... ...
chr01:8000-9000
chr06:1000-2000

任務(wù)運(yùn)行與追蹤

在批處理任務(wù)定義后之后,需要實(shí)現(xiàn)任務(wù)與作業(yè)映射、變量文件的解析和賦值。這些通用功能,E-HPC提供了ehpcarrayjob.py python 腳本,進(jìn)行處理,數(shù)組作業(yè)的腳本名若為qjob.sh,其內(nèi)容為:

$ cat qjob.sh
#!/bin/bash

PBS -N bayes.job
#PBS -l nodes=1:ppn=1
#PBS -J 1-Nj

cd $PBS_O_WORKDIR # 表示打開提交作業(yè)的目錄。

python ehpcarrayjob.py -n Nj -e ./task.sh bamlist chrvar

通過qsub命令提交到集群上,有PBS進(jìn)行調(diào)度,實(shí)現(xiàn)批量執(zhí)行(其中Nj為作業(yè)的數(shù)目,根據(jù)需求進(jìn)行替換)。

$ python ehpcarrayjob.py -h
usage: ehpcarrayjob.py [-h] -n NJOBS -e EXECFILE argfiles [argfiles ...]

positional arguments:
  argfiles

optional arguments:
  -h, --help            show this help message and exit
  -n NJOBS, --njobs NJOBS
                        number of jobs
  -e EXECFILE, --execfile EXECFILE
                        job command file

其中:

-n表示有多少個(gè)作業(yè)

-e指明每個(gè)任務(wù)的處理腳本(需要帶路徑)

argfiles 一個(gè)或多個(gè),指定多個(gè)參數(shù)文件。

作業(yè)提交后,數(shù)組作業(yè)會(huì)分配一個(gè)作業(yè)id,如“1[].manager”,每個(gè)子作業(yè)都有自己的子作業(yè)編號(hào),如從1-Nj。

ehpcarrayjob.py會(huì)生成以”作業(yè)id“為名的目錄(如1[].manager),每個(gè)子作業(yè)在該目錄下有“l(fā)og.子作業(yè)編號(hào)”命名的日志文件,記錄每個(gè)作業(yè)的執(zhí)行情況。

當(dāng)任務(wù)的返回作狀態(tài)為非0(失敗)時(shí),會(huì)將任務(wù)變量的取值在”作業(yè)id“目錄下記錄到名為”fails.變量名.子作業(yè)編號(hào)“的文件中。待確定失敗原因,修改處理腳本后,方便重新提交作業(yè)。

總結(jié)

站在用戶的角度,每次數(shù)值計(jì)算任務(wù)來了,除了要?jiǎng)澐趾门康娜蝿?wù),即使有遺留的腳本,還需要改寫每個(gè)任務(wù)的處理腳本。

此外,還要面對(duì)以下運(yùn)行場(chǎng)景的問題:

這次計(jì)算需要多少資源?
 到那里找這些資源?
 任務(wù)能運(yùn)行起來嗎,出錯(cuò)了怎么找原因?
 任務(wù)會(huì)不會(huì)重算、漏算?
 機(jī)器利用能不能銜接上,會(huì)不會(huì)出現(xiàn)長(zhǎng)時(shí)間空閑?

使用阿里云彈性高性能計(jì)算(E-HPC)的批處理處理方案可以解決以上問題,讓工作更專注。

可以看出,借助E-HPC方案用戶僅需要通過以下幾個(gè)步驟:

  1. 將批處理任務(wù)中變化的取值提取出來,單獨(dú)存儲(chǔ)到一個(gè)文件中,文件名符合shell規(guī)范,如bamlist, chrvar。

  2. 編寫任務(wù)處理的腳本,使用變量名(文件名同名)替換任務(wù)中的變化取值,如task.sh。

  3. 編寫數(shù)組作業(yè)腳本,指明每個(gè)作業(yè)的資源需求,總作業(yè)數(shù),調(diào)用 ehpcarrayjob.py啟動(dòng)批處理任務(wù)執(zhí)行,如qjob.sh。

用qsub提交作業(yè),進(jìn)入”作業(yè)id“的目前查看任務(wù)處理進(jìn)度以及又問題的任務(wù)列表。作業(yè)的運(yùn)行狀態(tài)根據(jù)集群的資源狀態(tài)進(jìn)行判斷,如果集群節(jié)點(diǎn)充足,所有作業(yè)均可以運(yùn)行;如果資源不滿足,少量作業(yè)可以先執(zhí)行。

同時(shí)E-HPC“云”超算方案還有以下優(yōu)勢(shì):

  1. 具備HPC集群原有特性,方便用戶登陸集群進(jìn)行編譯和調(diào)試單個(gè)任務(wù)的處理邏輯,并通過E-HPC內(nèi)置應(yīng)用級(jí)監(jiān)控模塊集諦進(jìn)行監(jiān)控、分析、優(yōu)化應(yīng)用運(yùn)行行為。

  2. 借助E-HPC,可以直接將配置好的環(huán)境擴(kuò)展到新加的計(jì)算節(jié)點(diǎn)上。同時(shí),使用低配置的登陸和管控節(jié)點(diǎn)長(zhǎng)久保留已配置環(huán)境。

  3. 根據(jù)當(dāng)前的任務(wù)處理效率,在“云”上動(dòng)態(tài)地更換計(jì)算實(shí)例類型,并擴(kuò)充計(jì)算資源來調(diào)整任務(wù)的處理時(shí)間,以應(yīng)對(duì)緊急的任務(wù)處理。

看完上述內(nèi)容,你們掌握使用實(shí)現(xiàn)EHPC完美并行的高效批處理方案的示例分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享題目:使用實(shí)現(xiàn)EHPC完美并行的高效批處理方案的示例分析
當(dāng)前路徑:http://aaarwkj.com/article16/pdpedg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站排名、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
久久精品无人区乱码一区二区| 欧美伊香蕉久久综合网99| 亚洲av成人一区二区三区| 巨乳中文乱码国产一区二区| 精品欧美不卡在线播放| 国产精品久久一国产精品| 中文字幕一区二区av| 中文字幕熟女av一区二区| 欧美日韩一区二区三区福利| 亚洲黄香蕉视频免费看| 午夜精品三级一区二区三区| 美女呻吟被爽到高潮在线| 97国产精品视频在线观看| 老熟女乱色一区二区三区| 日韩少妇黄色在线观看| 欧美日韩亚洲一区在线| 日韩欧美一级性生活片| 亚洲国产黄色美女视频| 熟妇丰满多毛的大阴户| 国产精品欧美日韩中文| 日日夜夜添添精品视频| 欧美日韩视频在线第一页| 日韩精品中文字幕人妻系列| 免费在线观看成人av| 国产男女免费操作视频| 国产精品国产三级国产专播| 夜夜草av一区二区三区| 最新在线中文字幕av不卡| 欧美黄色成人免费网站| 一级丰满少妇av大片| 亚洲av中文久久精品国内| 精品蜜臀国产av一区二区| 欧美专区另类综合日韩| 日韩人妻中文字幕亚洲| 禁止18岁以下的视频| 日本理论高清在线观看| 黑人巨大精品欧美黑寡妇| 免费日本高清色噜噜视频| 十八禁网站免费在线播放| 国产精品国产成人生活片| 成人黄网站色大片免费观看|