1.一種分布式計(jì)算系統(tǒng)的任務(wù)分配方法,其特征在于,包括:
周期性采集所述分布式計(jì)算系統(tǒng)的節(jié)點(diǎn)的負(fù)載情況;
獲取任務(wù)算子的資源需求情況;
確定蟻群算法的啟發(fā)式信息,獲取信息素;
基于啟發(fā)式信息、信息素、資源需求情況和負(fù)載情況,利用所述蟻群算法,將任務(wù)算子分配到所述分布式計(jì)算系統(tǒng)的節(jié)點(diǎn)上。
2.根據(jù)權(quán)利要求1所述的任務(wù)分配方法,其特征在于,基于啟發(fā)式信息、信息素、資源需求情況和負(fù)載情況,利用所述蟻群算法,將任務(wù)算子分配到所述分布式計(jì)算系統(tǒng)的節(jié)點(diǎn)上之前,還包括:
基于各任務(wù)算子之間的關(guān)系繪制有向無環(huán)圖。
3.根據(jù)權(quán)利要求2所述的任務(wù)分配方法,其特征在于,基于啟發(fā)式信息、信息素、資源需求情況和負(fù)載情況,利用所述蟻群算法,將任務(wù)算子分配到所述分布式計(jì)算系統(tǒng)的節(jié)點(diǎn)上包括:
基于所述有向無環(huán)圖,依序獲取任務(wù)算子;
針對(duì)所述獲取到的任務(wù)算子,基于啟發(fā)式信息、信息素、資源需求情況和負(fù)載情況,計(jì)算其與各節(jié)點(diǎn)的匹配程度;
將該任務(wù)算子分配到與其匹配程度最高的節(jié)點(diǎn)上。
4.根據(jù)權(quán)利要求3所述的任務(wù)分配方法,其特征在于,基于所述有向無環(huán)圖,依序獲取任務(wù)算子包括:
獲取任務(wù)禁忌表,所述任務(wù)禁忌表記載有已分配的任務(wù)算子;
根據(jù)所述任務(wù)禁忌表,獲取未被分配的任務(wù)算子;
基于所述有向無環(huán)圖和所述任務(wù)禁忌表,依序獲取未被分配的任務(wù)算子。
5.根據(jù)權(quán)利要求4所述的任務(wù)分配方法,其特征在于,基于所述有向無環(huán)圖和所述任務(wù)禁忌表,依序獲取未被分配的任務(wù)算子之前,還包括:
檢測(cè)所述任務(wù)禁忌表中記載的任務(wù)算子的個(gè)數(shù),判斷是否仍然存在未被分配的任務(wù)算子;
若存在未被分配的任務(wù)算子,則基于所述有向無環(huán)圖和所述任務(wù)禁忌表,依序獲取未被分配的任務(wù)算子。
6.根據(jù)權(quán)利要求5所述的任務(wù)分配方法,其特征在于,還包括:
若不存在未被分配的任務(wù)算子,則試運(yùn)行當(dāng)前的分配結(jié)果,檢測(cè)預(yù)設(shè)定時(shí)間之后的分布式計(jì)算系統(tǒng)的負(fù)載波動(dòng);
若所述負(fù)載波動(dòng)在預(yù)設(shè)范圍之內(nèi),維持當(dāng)前的分配結(jié)果。
7.根據(jù)權(quán)利要求5所述的任務(wù)分配方法,其特征在于,所述啟發(fā)式信息為:
,表示任務(wù)算子Ti在節(jié)點(diǎn)nodej上的處理時(shí)間。
8.根據(jù)權(quán)利要求7所述的任務(wù)分配方法,其特征在于,針對(duì)所述獲取到的任務(wù)算子,基于啟發(fā)式信息、資源需求情況和負(fù)載情況,計(jì)算其與各節(jié)點(diǎn)的匹配程度包括:
計(jì)算,其中,表示序號(hào)為k的螞蟻將下一個(gè)任務(wù)Ti分配到nodej的概率,表示所有螞蟻在一次循環(huán)中將任務(wù)算子Ti分配到節(jié)點(diǎn)nodej時(shí)產(chǎn)生的信息素,表示節(jié)點(diǎn)nodej對(duì)任務(wù)Ti的啟發(fā)信息,表示信息素和啟發(fā)信息的權(quán)重,表示可處理任務(wù)算子的所述分布式計(jì)算系統(tǒng)的節(jié)點(diǎn)的集合。
9.根據(jù)權(quán)利要求8所述的任務(wù)分配方法,其特征在于,還包括:
更新信息素,其中,為信息素?fù)]發(fā)因子,,表示序號(hào)為k的螞蟻在一次循環(huán)中將任務(wù)算子Ti分配到節(jié)點(diǎn)nodej時(shí)產(chǎn)生的信息素。
10.根據(jù)權(quán)利要求1至9任一項(xiàng)所述的任務(wù)分配方法,其特征在于,
資源需求情況包括中央處理器使用率、內(nèi)存占用率和磁盤輸入/輸出的使用率;
資源利用情況包括中央處理器使用率、內(nèi)存使用率和磁盤輸入/輸出的使用率。