亚洲综合日韩精品欧美综合区,日韩国产在线一区,久久久精品一二三区,午夜精品久久久久久中宇69,国产做爰一区二区三区视频,aa天堂,三级在线视频

一種調(diào)度器及其減少異步迭代處理中冗余開(kāi)銷的方法與流程

文檔序號(hào):43626936發(fā)布日期:2025-11-01 11:17閱讀:13來(lái)源:國(guó)知局
一種調(diào)度器及其減少異步迭代處理中冗余開(kāi)銷的方法

技術(shù)領(lǐng)域

本發(fā)明屬于大數(shù)據(jù)處理領(lǐng)域,更具體地,涉及一種調(diào)度器及其減少異步迭代處理中冗余開(kāi)銷的方法。



背景技術(shù):

異步迭代處理普遍存在于萬(wàn)維網(wǎng)應(yīng)用,數(shù)據(jù)挖掘和科學(xué)計(jì)算等領(lǐng)域中,例如:萬(wàn)維網(wǎng)搜索引擎中的PageRank算法,鏈接分析和推薦系統(tǒng)中的Adsorption算法,以及用于解決線性方程組的Jacobi方法,它允許前面迭代中產(chǎn)生的中間結(jié)果立即被用于目前迭代中的計(jì)算,加快迭代計(jì)算的收斂速度,并且不存在負(fù)載均衡問(wèn)題而使得云計(jì)算基礎(chǔ)設(shè)施得到更好的應(yīng)用。

然而,當(dāng)有很多可用的中間結(jié)果可用時(shí),異步迭代處理就會(huì)由于下面兩個(gè)原因觸發(fā)后續(xù)迭代中大量沒(méi)必要的計(jì)算開(kāi)銷和通信開(kāi)銷:一)盲目的選擇一個(gè)中間結(jié)果進(jìn)行處理,而不考慮每個(gè)數(shù)據(jù)對(duì)收斂速度的影響和首先處理它們將引起的開(kāi)銷;二)為每一個(gè)中間結(jié)果都在后續(xù)迭代中級(jí)聯(lián)觸發(fā)大量的計(jì)算和通信開(kāi)銷,從而使得異步迭代處理對(duì)大多數(shù)迭代應(yīng)用會(huì)引起大量冗余計(jì)算和通信開(kāi)銷,減慢異步迭代處理的收斂速度,浪費(fèi)大量計(jì)算機(jī)資源,實(shí)際上,這些冗余觸發(fā)可以通過(guò)調(diào)度算發(fā)被避免掉,然而目前所有的用于異步迭代處理的調(diào)度算法,例如:優(yōu)先級(jí)調(diào)度(Priorityscheduling)、輪詢調(diào)度(Round-robinscheduling)等,在選擇一個(gè)中間結(jié)果進(jìn)行處理時(shí),都不考慮首先處理這些中間結(jié)果的開(kāi)銷。同時(shí),這些調(diào)度算法都不是以組的形式進(jìn)行調(diào)度的,從而需要為每一個(gè)中間結(jié)果數(shù)據(jù)級(jí)聯(lián)觸發(fā)后續(xù)迭代中的計(jì)算和通信,最終使得使用這些調(diào)度算法的異步迭代處理對(duì)于很多迭代應(yīng)用仍然存在大量的級(jí)聯(lián)性的計(jì)算和通信冗余開(kāi)銷。然而,這些冗余計(jì)算和通信開(kāi)銷會(huì)大量的浪費(fèi)了計(jì)算機(jī)資源,并減慢了迭代計(jì)算的收斂速度。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種減少異步迭代處理中冗余開(kāi)銷的方法,其目的在于解決現(xiàn)有方法中存在的冗余計(jì)算和通信開(kāi)銷大、計(jì)算機(jī)資源浪費(fèi)、迭代計(jì)算的收斂速度慢的問(wèn)題。

為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種減少異步迭代處理中冗余開(kāi)銷的方法,其應(yīng)用在一種調(diào)度器中,該調(diào)度器分別與任務(wù)執(zhí)行器和消息接收器通訊連接,該方法包括以下步驟:

(1)建立一個(gè)哈希表,每一表項(xiàng)對(duì)應(yīng)一個(gè)數(shù)據(jù)組,其中每一表項(xiàng)又包括三個(gè)域:第一個(gè)域用于存儲(chǔ)數(shù)據(jù)組的鍵值,第二個(gè)域用于數(shù)據(jù)組的權(quán)值,第三個(gè)域用于存儲(chǔ)數(shù)據(jù)組中的數(shù)據(jù)列表,數(shù)據(jù)列表中包括數(shù)據(jù)的值、以及數(shù)據(jù)所在的迭代層次;

(2)接收來(lái)自于消息接收器的數(shù)據(jù)D;

(3)根據(jù)該數(shù)據(jù)D的ITC值和IN值計(jì)算該數(shù)據(jù)D的權(quán)值Pri(D),具體包括以下子步驟:

(3-1)計(jì)算數(shù)據(jù)D的ITC值ITC(D)和IN值IN(D),其中ITC(D)=±D,IN(D)是記錄在數(shù)據(jù)D中的信息,其具體為數(shù)據(jù)D的最初原始數(shù)據(jù)變化到數(shù)據(jù)D期間所處理的次數(shù);

(3-2)根據(jù)ITC(D)和IN(D)并利用以下等式計(jì)算數(shù)據(jù)D的權(quán)值Pri(D):Pri(D)=t1×ITC(D)+t2×IN(D)/T,其中t1和t2分別為表示ITC(D)和IN(D)重要性的權(quán)重值,且其取值為0至1之間的小數(shù),T為調(diào)整IN(D)取值范圍的值,其取值范圍是大于1的整數(shù);

(4)判斷在哈希表中是否存在與該數(shù)據(jù)D具有相同鍵值的數(shù)據(jù)組G(D)存在,若存在則更新該數(shù)據(jù)組G(D)的權(quán)值和數(shù)據(jù)列表,否則在哈希列表中創(chuàng)建與該數(shù)據(jù)D相同鍵值的數(shù)據(jù)組G(D),并進(jìn)行初始化,

(5)判斷任務(wù)執(zhí)行器是否空閑,如果是則進(jìn)入步驟(6),否則返回步驟(2);

(6)從哈希表中選擇權(quán)值最大的一個(gè)數(shù)據(jù)組,將該數(shù)據(jù)組對(duì)應(yīng)的數(shù)據(jù)傳送給任務(wù)執(zhí)行器處理,然后進(jìn)入步驟(7);

(7)判斷任務(wù)執(zhí)行器中運(yùn)行的應(yīng)用程序是否結(jié)束,如果是則過(guò)程結(jié)束,否則轉(zhuǎn)入步驟(8);

(8)判斷哈希表中是否還有未處理的數(shù)據(jù)組,如果有則返回步驟(5),否則返回步驟(2)。

優(yōu)選地,步驟(4)包括以下子步驟:

(4-1)獲得數(shù)據(jù)D的鍵值Dkey,對(duì)該鍵值進(jìn)行哈希函數(shù)處理以獲得一個(gè)唯一組標(biāo)識(shí)K;

(4-2)根據(jù)該唯一標(biāo)識(shí)K在哈希表中進(jìn)行查詢,以判斷是否有鍵值為Dkey的數(shù)據(jù)組G(D),若有,則轉(zhuǎn)入步驟(4-3),否則轉(zhuǎn)入步驟(4-4);

(4-3)將數(shù)據(jù)D插入具有鍵值Dkey的數(shù)據(jù)組G(D)中,然后轉(zhuǎn)入步驟(4-5);

(4-4)創(chuàng)建一個(gè)鍵值為Dkey的數(shù)據(jù)G(D),并將數(shù)據(jù)D插入數(shù)據(jù)組G(D)中,然后轉(zhuǎn)向步驟(4-6);

(4-5)采用以下公式更新哈希表中鍵值為Dkey的數(shù)據(jù)組的權(quán)值,Pri(G(D))=Pri(G(D))+Pri(D),然后轉(zhuǎn)向步驟(5);

(4-6)將數(shù)據(jù)組G(D)的權(quán)值設(shè)置為Pri(D),然后轉(zhuǎn)向步驟(5)。

按照本發(fā)明的另一方面,提供了一種調(diào)度器,其分別與任務(wù)執(zhí)行器和消息接收器通訊連接,該調(diào)度器包括:

第一模塊,用于建立一個(gè)哈希表,每一表項(xiàng)對(duì)應(yīng)一個(gè)數(shù)據(jù)組,其中每一表項(xiàng)又包括三個(gè)域:第一個(gè)域用于存儲(chǔ)數(shù)據(jù)組的鍵值,第二個(gè)域用于數(shù)據(jù)組的權(quán)值,第三個(gè)域用于存儲(chǔ)數(shù)據(jù)組中的數(shù)據(jù)列表,數(shù)據(jù)列表中包括數(shù)據(jù)的值、以及數(shù)據(jù)所在的迭代層次;

第二模塊,用于接收來(lái)自于消息接收器的數(shù)據(jù)D;

第三模塊,用于根據(jù)該數(shù)據(jù)D的ITC值和IN值計(jì)算該數(shù)據(jù)D的權(quán)值Pri(D),具體包括以下子步驟:

第一子模塊,用于計(jì)算數(shù)據(jù)D的ITC值ITC(D)和IN值IN(D),其中ITC(D)=±D,IN(D)是記錄在數(shù)據(jù)D中的信息,其具體為數(shù)據(jù)D的最初原始數(shù)據(jù)變化到數(shù)據(jù)D期間所處理的次數(shù);

第二子模塊,用于根據(jù)ITC(D)和IN(D)并利用以下等式計(jì)算數(shù)據(jù)D的權(quán)值Pri(D):Pri(D)=t1×ITC(D)+t2×IN(D)/T,其中t1和t2分別為表示ITC(D)和IN(D)重要性的權(quán)重值,且其取值為0至1之間的小數(shù),T為調(diào)整IN(D)取值范圍的值,其取值范圍是大于1的整數(shù);

第四模塊,用于判斷在哈希表中是否存在與該數(shù)據(jù)D具有相同鍵值的數(shù)據(jù)組G(D)存在,若存在則更新該數(shù)據(jù)組G(D)的權(quán)值和數(shù)據(jù)列表,否則在哈希列表中創(chuàng)建與該數(shù)據(jù)D相同鍵值的數(shù)據(jù)組G(D),并進(jìn)行初始化;

第五子模塊,用于判斷任務(wù)執(zhí)行器是否空閑,如果是則進(jìn)入第六模塊,否則返回第二模塊;

第六模塊,用于從哈希表中選擇權(quán)值最大的一個(gè)數(shù)據(jù)組,將該數(shù)據(jù)組對(duì)應(yīng)的數(shù)據(jù)傳送給任務(wù)執(zhí)行器處理,然后進(jìn)入第七模塊;

第七模塊,用于判斷任務(wù)執(zhí)行器中運(yùn)行的應(yīng)用程序是否結(jié)束,如果是則過(guò)程結(jié)束,否則轉(zhuǎn)入第八模塊;

第八模塊判斷哈希表中是否還有未處理的數(shù)據(jù)組,如果有則返回第五模塊,否則返回第二模塊。

優(yōu)選地,第四模塊包括:

第三子模塊,用于獲得數(shù)據(jù)D的鍵值Dkey,對(duì)該鍵值進(jìn)行哈希函數(shù)處理以獲得一個(gè)唯一組標(biāo)識(shí)K;

第四子模塊,用于根據(jù)該唯一標(biāo)識(shí)K在哈希表中進(jìn)行查詢,以判斷是否有鍵值為Dkey的數(shù)據(jù)組G(D),若有,則轉(zhuǎn)入第五子模塊,否則轉(zhuǎn)入第六子模塊;

第五子模塊,用于將數(shù)據(jù)D插入具有鍵值Dkey的數(shù)據(jù)組G(D)中,然后轉(zhuǎn)入第七子模塊;

第六子模塊,用于創(chuàng)建一個(gè)鍵值為Dkey的數(shù)據(jù)G(D),并將數(shù)據(jù)D插入數(shù)據(jù)組G(D)中,然后轉(zhuǎn)向第八子模塊;

第七子模塊,用于采用以下公式更新哈希表中鍵值為Dkey的數(shù)據(jù)組的權(quán)值,Pri(G(D))=Pri(G(D))+Pri(D),然后轉(zhuǎn)向第八子模塊;

第八子模塊,用于將數(shù)據(jù)組G(D)的權(quán)值設(shè)置為Pri(D),然后轉(zhuǎn)向步驟第七子模塊。

總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列的有益效果:

1、冗余計(jì)算量和冗余通信量?。河捎诓捎貌襟E(1)解決了每一個(gè)數(shù)據(jù)都引起級(jí)聯(lián)觸發(fā)帶來(lái)的一些冗余計(jì)算和通信開(kāi)銷,步驟(3-4)和步驟(6)解決了以任意順序盲目處理數(shù)據(jù)帶來(lái)的冗余開(kāi)銷,因此本方法能夠有效消除異步迭代處理中大量存在的冗余計(jì)算開(kāi)銷和通信開(kāi)銷。

2、迭代計(jì)算的收斂速度快:由于采用了步驟(1),步驟(3-4)和步驟(6),使得對(duì)異步迭代處理收斂更有效的計(jì)算和通信更快并優(yōu)先地被處理,因此本方法加快了異步迭代處理的收斂速度,提高云計(jì)算基礎(chǔ)設(shè)施的資源利用率。

附圖說(shuō)明

圖1是本發(fā)明減少異步迭代處理中冗余開(kāi)銷的方法的應(yīng)用環(huán)境圖。

圖2是本發(fā)明減少異步迭代處理中冗余開(kāi)銷的方法的流程圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。

本發(fā)明的總體思路在于,提出了一個(gè)調(diào)度算法是以組的形式進(jìn)行的,并且在調(diào)度中間結(jié)果處理順序時(shí)同時(shí)考慮數(shù)據(jù)們對(duì)迭代計(jì)算的收斂速度的重要性和首先處理這些數(shù)據(jù)的開(kāi)銷的,此調(diào)度算法使用一個(gè)收集器將待處理的數(shù)據(jù)以組的形式收集起來(lái),同時(shí)為每組都分別計(jì)算一個(gè)權(quán)值,而每一組的權(quán)值的計(jì)算需要考慮這一組所收集的數(shù)據(jù)們對(duì)迭代計(jì)算收斂速度起到的重要性和首先處理這些數(shù)據(jù)將帶來(lái)的開(kāi)銷,然后此調(diào)度算法就選擇一個(gè)權(quán)值最大的組,讓此組的數(shù)據(jù)先被處理,從而達(dá)到有效消除異步迭代處理中大量存在的這些冗余計(jì)算開(kāi)銷和通信開(kāi)銷,加快異步迭代處理的收斂速度,提高云計(jì)算基礎(chǔ)設(shè)施的資源利用率。

如圖1所示,本發(fā)明減少異步迭代處理中冗余開(kāi)銷的方法是應(yīng)用在一種支持程序運(yùn)行的系統(tǒng)(簡(jiǎn)稱運(yùn)行時(shí)系統(tǒng))中,該系統(tǒng)包括任務(wù)管理器和數(shù)據(jù)處理器,其中任務(wù)管理器用于管理數(shù)據(jù)處理器的初始化和結(jié)束,數(shù)據(jù)處理器用于接收消息和處理數(shù)據(jù),并包括消息接收器、本發(fā)明的調(diào)度器、以及任務(wù)執(zhí)行器,消息接收器用于接收其余數(shù)據(jù)處理器發(fā)來(lái)的包含處理數(shù)據(jù)的消息,調(diào)度器用于調(diào)度接收到的消息中的數(shù)據(jù)的處理順序,任務(wù)執(zhí)行器用于執(zhí)行用戶程序來(lái)處理調(diào)度器輸出的待處理數(shù)據(jù)。

如圖2所示,本發(fā)明減少異步迭代處理中冗余開(kāi)銷的方法是應(yīng)用在一種調(diào)度器中,該調(diào)度器分別與任務(wù)執(zhí)行器和消息接收器通訊連接,該方法包括以下步驟:

(1)建立一個(gè)哈希表,每一表項(xiàng)對(duì)應(yīng)一個(gè)數(shù)據(jù)組,其中每一表項(xiàng)又包括三個(gè)域:第一個(gè)域用于存儲(chǔ)數(shù)據(jù)組的鍵值,第二個(gè)域用于數(shù)據(jù)組的權(quán)值,第三個(gè)域用于存儲(chǔ)數(shù)據(jù)組中的數(shù)據(jù)列表,數(shù)據(jù)列表中包括數(shù)據(jù)的值,以及數(shù)據(jù)所在的迭代層次(Iterationnumber),其具體如表1所示;

本步驟的優(yōu)點(diǎn)在于,通過(guò)建立哈希表,能夠有利于數(shù)據(jù)組的快速查找插入和更新。

數(shù)據(jù)組數(shù)據(jù)組的鍵值數(shù)據(jù)組的權(quán)值數(shù)據(jù)列表

表1

(2)接收來(lái)自于消息接收器的數(shù)據(jù)D;

(3)根據(jù)該數(shù)據(jù)D的收斂重要性(ImportanceToConvergence,簡(jiǎn)稱ITC)值和迭代層次(IterationNumber,簡(jiǎn)稱IN)值計(jì)算該數(shù)據(jù)D的權(quán)值Pri(D),具體包括以下子步驟:

(3-1)計(jì)算數(shù)據(jù)D的ITC值ITC(D)和IN值IN(D);具體而言,ITC(D)=±D,其中正負(fù)號(hào)需要由任務(wù)執(zhí)行器中的應(yīng)用程序在配置文件里面給出,對(duì)于一個(gè)應(yīng)用程序,如果數(shù)據(jù)D的值越大對(duì)收斂起的作用越大,那么用正號(hào),否則用負(fù)號(hào),而IN(D)是記錄在數(shù)據(jù)D中的一個(gè)信息,其具體為數(shù)據(jù)D的最初原始數(shù)據(jù)變化到數(shù)據(jù)D期間所處理的次數(shù)。

本子步驟的優(yōu)點(diǎn)在于,通過(guò)近似計(jì)算ITC和IN值,能夠有效的減少權(quán)值計(jì)算開(kāi)銷。

(3-2)根據(jù)ITC(D)和IN(D)并利用以下等式計(jì)算數(shù)據(jù)D的權(quán)值Pri(D):Pri(D)=t1×ITC(D)+t2×IN(D)/T,其中t1和t2分別為表示ITC(D)和IN(D)重要性的權(quán)重值,且其取值為0至1之間的小數(shù),T為調(diào)整IN(D)取值范圍的值,主要使其取值范圍和ITC(D)基本一致,其取值范圍是大于1的整數(shù)。

本子步驟的優(yōu)點(diǎn)在于,通過(guò)為每個(gè)數(shù)據(jù)計(jì)算權(quán)值,能夠使得數(shù)據(jù)組的權(quán)值在以前的基礎(chǔ)上通過(guò)數(shù)據(jù)D的權(quán)值增量獲得,有效的獲得數(shù)據(jù)組的實(shí)時(shí)權(quán)值。如此計(jì)算Pri(D)的原因會(huì)在后面解釋。

(4)判斷在哈希表中是否存在與該數(shù)據(jù)D具有相同鍵值的數(shù)據(jù)組G(D)存在,若存在則更新該數(shù)據(jù)組G(D)的權(quán)值和數(shù)據(jù)列表,否則在哈希列表中創(chuàng)建與該數(shù)據(jù)D相同鍵值的數(shù)據(jù)組G(D),并進(jìn)行初始化;具體而言,本步驟包括以下子步驟:

(4-1)獲得數(shù)據(jù)D的鍵值Dkey,對(duì)該鍵值進(jìn)行哈希函數(shù)處理以獲得一個(gè)唯一組標(biāo)識(shí)K;

(4-2)根據(jù)該唯一標(biāo)識(shí)K在哈希表中進(jìn)行查詢,以判斷是否有鍵值為Dkey的數(shù)據(jù)組G(D),若有,則轉(zhuǎn)入步驟(4-3),否則轉(zhuǎn)入步驟(4-4);

(4-3)將數(shù)據(jù)D插入具有鍵值Dkey的數(shù)據(jù)組G(D)中,即完成了該數(shù)據(jù)組G(D)在哈希表中哈希列表的更新,然后轉(zhuǎn)入步驟(4-5);

(4-4)創(chuàng)建一個(gè)鍵值為Dkey的數(shù)據(jù)G(D),并將數(shù)據(jù)D插入數(shù)據(jù)組G(D)中,然后轉(zhuǎn)向步驟(4-6);

(4-5)采用以下公式更新哈希表中鍵值為Dkey的數(shù)據(jù)組的權(quán)值,Pri(G(D))=Pri(G(D))+Pri(D),然后轉(zhuǎn)向步驟(5);

本子步驟的優(yōu)點(diǎn)在于,通過(guò)計(jì)算數(shù)據(jù)組G(D)的權(quán)值,能夠使得數(shù)據(jù)組的權(quán)值Pri(G(D))在以前的基礎(chǔ)上通過(guò)數(shù)據(jù)D的權(quán)值Pri(D)增量獲得,有效的獲得數(shù)據(jù)組的實(shí)時(shí)權(quán)值。如此計(jì)算Pri(G(D))的原因會(huì)在后面解釋。

(4-6)將數(shù)據(jù)組G(D)的權(quán)值設(shè)置為Pri(D),然后轉(zhuǎn)向步驟(5);

(5)判斷任務(wù)執(zhí)行器是否空閑,如果是則進(jìn)入步驟(6),否則返回步驟(2);

(6)從哈希表中選擇權(quán)值最大的一個(gè)數(shù)據(jù)組,將該數(shù)據(jù)組對(duì)應(yīng)的數(shù)據(jù)傳送給任務(wù)執(zhí)行器處理,然后進(jìn)入步驟(7);

(7)判斷任務(wù)執(zhí)行器中運(yùn)行的應(yīng)用程序是否結(jié)束,如果是則過(guò)程結(jié)束,否則轉(zhuǎn)入步驟(8);

(8)判斷哈希表中是否還有未處理的數(shù)據(jù)組,如果有則返回步驟(5),否則返回步驟(2)。

下面解釋按本方法所述方式計(jì)算Pri(D)和Pri(G(D))的原因。

在解釋原因之前,我們首先給出如何定義一個(gè)組G(D)的權(quán)值Pri(G(D)),在數(shù)據(jù)組的權(quán)值定義中,我們主要考慮這么兩個(gè)因素。

因素一:ITC,一個(gè)擁有更大ITC值的組G(D)將會(huì)使迭代計(jì)算收斂的更快,從而避免ITC值小的數(shù)據(jù)組觸發(fā)大量后續(xù)冗余計(jì)算和通信開(kāi)銷。實(shí)際上一個(gè)組的ITC值,也就是ITC(G(D))可以定義為:ITC(G(D))=∑D∈G(D)ITC(D)。

因素二:CTG(Costtofirstlyprocessingthisgroup),即首先處理此組數(shù)據(jù)的開(kāi)銷,當(dāng)一組數(shù)據(jù)被選擇被處理時(shí),其余將到達(dá)此組的數(shù)據(jù)將需要再次被處理,并再次觸發(fā)后續(xù)迭代中的一些計(jì)算和通信,而這些計(jì)算和通信開(kāi)銷就是這組數(shù)據(jù)的CTG值,如果可以延遲那些CTG值大的組,而先處理那些CTG小的組,那么CTG值大的組將會(huì)有更多機(jī)會(huì)收集更多的數(shù)據(jù),減少冗余開(kāi)銷,實(shí)際上,CTG就是用于提高所有組收集的平均數(shù)據(jù)量和收集的數(shù)據(jù)們的重要性(引起觸發(fā)越多的數(shù)據(jù)越重要)。在給出如何計(jì)算一個(gè)組的CTG時(shí),我們引入兩個(gè)新的變量:1)IterationNumber(orIN),這就是被收集的數(shù)據(jù)所在的迭代層數(shù);2)CompletionRatiof0rCRl,這是在某一迭代層次中據(jù)有鍵值n的所有已經(jīng)被處理的數(shù)據(jù)占所有需要處理的數(shù)據(jù)的比值,即CR(i,n)=NumP(i,n)/NumT(i,n),其中NumP(i,n)和NumT(i,n)是在迭代層次為i時(shí)用于更新數(shù)據(jù)對(duì)象R(i)而已被處理的數(shù)據(jù)量和所有需要被處理的數(shù)據(jù)量,由于NumT(i,n)很難在提前知道,并且對(duì)于大多數(shù)數(shù)據(jù)對(duì)象R(i)的NumT(i,n)相同,所以近似NumT(i,n)值為固定值T,那么有CR(i,n)=NumP(i,n)/T。

現(xiàn)在我們給出組G(D)的CTG值,即CTG(G(D)),的計(jì)算方法,由于每個(gè)組G(D)的CTG值依賴于將會(huì)到達(dá)此組的數(shù)據(jù)量和每個(gè)將到達(dá)的數(shù)據(jù)將觸發(fā)的計(jì)算和通信開(kāi)銷大小。由于在第ith迭代將會(huì)到達(dá)組G(D)的數(shù)據(jù)量依賴于CR(i,Dkey),達(dá)到數(shù)據(jù)組G(n)的數(shù)據(jù)D將會(huì)引起的觸發(fā)量依賴于數(shù)據(jù)D的IN值IN(D),所以CTG(G(D))=-Σi∈Si×CR(i,Dkey),并且S={n|D∈G(D)且IN(D)=N},Dkey為數(shù)據(jù)D的鍵值,由于Pri(G(D))與ITC(G(D))正相關(guān),而與CTG(G(D))負(fù)相關(guān),所以有:

Pri(G(D))=t1×ITC(G(D))-t2×CTG(G(D))

為了實(shí)時(shí)有效獲得每個(gè)組G(D)的權(quán)值Pri(G(D)),Pri(G(D))可以按如下方式計(jì)算:

Pri(G(D))=Pri(G(D))+Pri(D)Pri(D)=t1×ITC(D)+t2×IN(D)/T.]]>

由此,每當(dāng)一個(gè)數(shù)據(jù)D被調(diào)度器接收到時(shí),就可以通過(guò)上述計(jì)算公式增量地獲得數(shù)據(jù)組G(D)的權(quán)值。

本發(fā)明的調(diào)度器,其分別與任務(wù)執(zhí)行器和消息接收器通訊連接,并包括:

第一模塊,用于建立一個(gè)哈希表,每一表項(xiàng)對(duì)應(yīng)一個(gè)數(shù)據(jù)組,其中每一表項(xiàng)又包括三個(gè)域:第一個(gè)域用于存儲(chǔ)數(shù)據(jù)組的鍵值,第二個(gè)域用于數(shù)據(jù)組的權(quán)值,第三個(gè)域用于存儲(chǔ)數(shù)據(jù)組中的數(shù)據(jù)列表,數(shù)據(jù)列表中包括數(shù)據(jù)的值、以及數(shù)據(jù)所在的迭代層次;

第二模塊,用于接收來(lái)自于消息接收器的數(shù)據(jù)D;

第三模塊,用于根據(jù)該數(shù)據(jù)D的ITC值和IN值計(jì)算該數(shù)據(jù)D的權(quán)值Pri(D),具體包括以下子步驟:

第一子模塊,用于計(jì)算數(shù)據(jù)D的ITC值ITC(D)和IN值IN(D),其中ITC(D)=±D,IN(D)是記錄在數(shù)據(jù)D中的信息,其具體為數(shù)據(jù)D的最初原始數(shù)據(jù)變化到數(shù)據(jù)D期間所處理的次數(shù);

第二子模塊,用于根據(jù)ITC(D)和IN(D)并利用以下等式計(jì)算數(shù)據(jù)D的權(quán)值Pri(D):Pri(D)=t1×ITC(D)+t2×IN(D)/T,其中t1和t2分別為表示ITC(D)和IN(D)重要性的權(quán)重值,且其取值為0至1之間的小數(shù),T為調(diào)整IN(D)取值范圍的值,其取值范圍是大于1的整數(shù);

第四模塊,用于判斷在哈希表中是否存在與該數(shù)據(jù)D具有相同鍵值的數(shù)據(jù)組G(D)存在,若存在則更新該數(shù)據(jù)組G(D)的權(quán)值和數(shù)據(jù)列表,否則在哈希列表中創(chuàng)建與該數(shù)據(jù)D相同鍵值的數(shù)據(jù)組G(D),并進(jìn)行初始化;第四模塊包括:

第三子模塊,用于獲得數(shù)據(jù)D的鍵值Dkey,對(duì)該鍵值進(jìn)行哈希函數(shù)處理以獲得一個(gè)唯一組標(biāo)識(shí)K;

第四子模塊,用于根據(jù)該唯一標(biāo)識(shí)K在哈希表中進(jìn)行查詢,以判斷是否有鍵值為Dkey的數(shù)據(jù)組G(D),若有,則轉(zhuǎn)入第五子模塊,否則轉(zhuǎn)入第六子模塊;

第五子模塊,用于將數(shù)據(jù)D插入具有鍵值Dkey的數(shù)據(jù)組G(D)中,然后轉(zhuǎn)入第七子模塊;

第六子模塊,用于創(chuàng)建一個(gè)鍵值為Dkey的數(shù)據(jù)G(D),并將數(shù)據(jù)D插入數(shù)據(jù)組G(D)中,然后轉(zhuǎn)向第八子模塊;

第七子模塊,用于采用以下公式更新哈希表中鍵值為Dkey的數(shù)據(jù)組的權(quán)值,Pri(G(D))=Pri(G(D))+Pri(D),然后轉(zhuǎn)向第八子模塊;

第八子模塊,用于將數(shù)據(jù)組G(D)的權(quán)值設(shè)置為Pri(D),然后轉(zhuǎn)向步驟第七子模塊。

第五子模塊,用于判斷任務(wù)執(zhí)行器是否空閑,如果是則進(jìn)入第六模塊,否則返回第二模塊;

第六模塊,用于從哈希表中選擇權(quán)值最大的一個(gè)數(shù)據(jù)組,將該數(shù)據(jù)組對(duì)應(yīng)的數(shù)據(jù)傳送給任務(wù)執(zhí)行器處理,然后進(jìn)入第七模塊;

第七模塊,用于判斷任務(wù)執(zhí)行器中運(yùn)行的應(yīng)用程序是否結(jié)束,如果是則過(guò)程結(jié)束,否則轉(zhuǎn)入第八模塊;

第八模塊判斷哈希表中是否還有未處理的數(shù)據(jù)組,如果有則返回第五模塊,否則返回第二模塊。

本發(fā)明的調(diào)度器可存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中。

本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 留言:0條
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1