基于多層次方法和離散粒子群的賦權(quán)超圖優(yōu)化劃分方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種電路劃分和云計算任務(wù)調(diào)度中基于多層次方法和離散粒子群的賦權(quán)超圖優(yōu)化劃分方法。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)的劃分系統(tǒng)中有若干種結(jié)點(diǎn)的劃分方法,這些劃分方法從依賴關(guān)系數(shù)目最小、劃分后結(jié)點(diǎn)子集的結(jié)點(diǎn)數(shù)目均勻分布等不同的方面來實(shí)現(xiàn),主要有基于迀移的劃分方法、水平嵌套劃分方法和多層次劃分方法等。
[0003]基于迀移的劃分方法。該方法首先產(chǎn)生結(jié)點(diǎn)的隨機(jī)初始劃分,同一個結(jié)點(diǎn)不能同時屬于兩個結(jié)點(diǎn)子集。在迀移優(yōu)化階段,從兩個結(jié)點(diǎn)子集中各選取一個結(jié)點(diǎn)進(jìn)行成對交換,這兩個結(jié)點(diǎn)分別屬于兩個不同的結(jié)點(diǎn)子集且收益最大,從而每次都利用交換過程最大限度地改進(jìn)結(jié)點(diǎn)劃分質(zhì)量。記錄割切達(dá)到最小值時刻的結(jié)點(diǎn)劃分結(jié)果,且一旦交換了所選擇的兩個結(jié)點(diǎn),在整個迀移過程余下的優(yōu)化改進(jìn)中,將這兩個結(jié)點(diǎn)鎖定使得它們不再被選中。重復(fù)上述過程直到所有可能的結(jié)點(diǎn)都經(jīng)過迀移之后,回滾到累計收益最大值即割切最小值的時刻。該劃分方法得到的結(jié)點(diǎn)劃分結(jié)果不穩(wěn)定,離散性很大,因此限制了該劃分方法所能解決問題的規(guī)模。
[0004]水平嵌套劃分方法。該方法首先選擇一個結(jié)點(diǎn),將這個結(jié)點(diǎn)標(biāo)上號碼0,然后將所有和這個結(jié)點(diǎn)相連的結(jié)點(diǎn)標(biāo)上號碼1,之后對于那些還未標(biāo)上號碼,但是和已經(jīng)標(biāo)上號碼的結(jié)點(diǎn)相連的結(jié)點(diǎn),將其標(biāo)號為相連結(jié)點(diǎn)的號碼加I。直到一半的結(jié)點(diǎn)標(biāo)上號碼,標(biāo)號過程才結(jié)束。那些已經(jīng)標(biāo)上號碼的結(jié)點(diǎn)集合設(shè)為一個結(jié)點(diǎn)子集,其他結(jié)點(diǎn)為另一個結(jié)點(diǎn)子集。該劃分方法只有在選取的初始結(jié)點(diǎn)接近外圍時,得到的結(jié)點(diǎn)劃分結(jié)果相對較好,總的來說該結(jié)點(diǎn)劃分結(jié)果也不穩(wěn)定。
[0005]多層次劃分方法。Karypis針對結(jié)點(diǎn)規(guī)模達(dá)到幾百萬的劃分問題,提出了多層次劃分的概念,在相對較短的時間內(nèi)可以得到高質(zhì)量的劃分。該方法包含粗化、初始劃分和迀移優(yōu)化三個階段。首先,它采用隨機(jī)匹配策略將某些結(jié)點(diǎn)結(jié)合在一起,得到下一水平層的粗化圖,重復(fù)此過程直到粗化圖足夠小為止,即得到一個最小圖。然后,采用劃分方法對最小圖進(jìn)行對分,得到一個初始劃分。之后,將最小圖投影回初始圖,在每一水平層的細(xì)化劃分中,按照貪心原則選擇收益值最大的結(jié)點(diǎn)進(jìn)行迀移優(yōu)化,得到最后的結(jié)點(diǎn)劃分結(jié)果。
[0006]多層次劃分方法在電路劃分和云計算任務(wù)調(diào)度中的應(yīng)用。自多層次劃分的概念提出以來,得到了廣泛地重視,并應(yīng)用在電路劃分和云計算任務(wù)調(diào)度等多個研宄領(lǐng)域。
[0007]2008年中國專利局公告的由冷明、郁松年和孫凌宇申報,中國專利號為200710043765.3號《基于多水平劃分法的大規(guī)模集成電路劃分方法》的發(fā)明專利,針對現(xiàn)有技術(shù)方案中因采用隨機(jī)策略進(jìn)行匹配和貪心原則進(jìn)行迀移優(yōu)化,導(dǎo)致無法逃離局部最優(yōu)的劃分,提供了一種改進(jìn)的基于多水平劃分法的大規(guī)模集成電路劃分方法,有效地提高了大規(guī)模集成電路劃分的效率和性能。該發(fā)明專利在多水平劃分方法的粗化階段,通過對結(jié)點(diǎn)屬性進(jìn)行賦權(quán)無向圖中所有結(jié)點(diǎn)的核值求解排序,按照基于結(jié)點(diǎn)核值的非嚴(yán)格降序訪問處于未匹配狀態(tài)的結(jié)點(diǎn),依據(jù)一定規(guī)則對其進(jìn)行匹配,從而將連接性好的結(jié)點(diǎn)合并在一起;在多水平劃分方法的優(yōu)化階段,采用免疫克隆優(yōu)化程序改進(jìn)貪心原則的局部搜索方法,對在每一水平層投影的劃分進(jìn)行優(yōu)化,借助克隆操作、克隆變異操作、接種免疫疫苗操作和克隆選擇操作,使得改進(jìn)后的方法在利用啟發(fā)信息搜索局部最優(yōu)解的同時,能更自由地對具有潛力的解空間進(jìn)行搜索,增加全局搜索能力。
[0008]2012年中國專利局公告的由孫凌宇、冷明和冷子陽申報,中國專利號為201210155738.6號《基于多水平劃分法和賦權(quán)超圖的大規(guī)模集成電路劃分方法》的發(fā)明專利,針對采用賦權(quán)無向圖作為大規(guī)模集成電路劃分問題的數(shù)學(xué)模型,存在著賦權(quán)無向圖最優(yōu)劃分和大規(guī)模集成電路最優(yōu)劃分的不一致性,提供了一種基于多水平劃分法和賦權(quán)無向超圖的大規(guī)模集成電路劃分方法,進(jìn)一步提高了大規(guī)模集成電路劃分的效率和性能。該發(fā)明采用賦權(quán)無向超圖對電路劃分問題進(jìn)行數(shù)學(xué)建模,其中電路邏輯單元表示為賦權(quán)無向超圖中的結(jié)點(diǎn),電路單元間的連線表示為賦權(quán)無向超圖中的超邊。相比賦權(quán)無向圖而言,賦權(quán)無向超圖為電路提供了更為精確的模型:每條超邊可以連接兩個以上的結(jié)點(diǎn),對應(yīng)于電路單元間的信號可以連接兩個以上的電路邏輯單元。該發(fā)明將大規(guī)模集成電路劃分問題轉(zhuǎn)換為賦權(quán)無向超圖劃分問題,其中大規(guī)模集成電路劃分問題要求每個電路子集所包含的電路邏輯單元數(shù)目相等,對應(yīng)于賦權(quán)無向超圖劃分問題的平衡約束條件,劃分結(jié)果使得這些電路子集之間的內(nèi)連線數(shù)據(jù)達(dá)到最小,對應(yīng)于賦權(quán)無向超圖劃分問題的最小化總割切。
[0009]2014年中國專利局公告的由孫凌宇、冷明和冷子陽申報,中國專利號為201410136320.X號《基于多水平劃分法和賦權(quán)有向超圖的云計算任務(wù)調(diào)度方法》的發(fā)明專利,提供了一種基于多水平劃分法和賦權(quán)有向超圖的云計算任務(wù)調(diào)度方法,進(jìn)一步提高了任務(wù)調(diào)度的效率和性能。該發(fā)明采用賦權(quán)有向超圖來構(gòu)造任務(wù)劃分問題的數(shù)學(xué)模型,描述任務(wù)的資源需求及依賴關(guān)系,其中任務(wù)表示為賦權(quán)有向超圖的結(jié)點(diǎn),任務(wù)結(jié)點(diǎn)間的先后依賴關(guān)系表不為賦權(quán)有向超圖中的有向超邊,并生成相應(yīng)的賦權(quán)有向超圖文件;然后啟動基于多水平劃分方法的賦權(quán)有向超圖劃分程序,對生成的賦權(quán)有向超圖進(jìn)行劃分;最后依據(jù)賦權(quán)有向超圖的劃分結(jié)果構(gòu)造任務(wù)子集,通過MapReduce任務(wù)調(diào)度模型對其進(jìn)行映射和調(diào)度。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的在于針對已有技術(shù)存在的不足,提供一種基于多層次方法和離散粒子群的賦權(quán)超圖優(yōu)化劃分方法,有效地縮短了劃分所需的運(yùn)行時間,減少了劃分所需的存儲空間。為達(dá)到上述目的,本發(fā)明的構(gòu)思如下。
[0011]一、在多層次方法的粗化階段,通過對賦權(quán)超圖中所有結(jié)點(diǎn)進(jìn)行基于結(jié)點(diǎn)屬性函數(shù)的核值求解排序,進(jìn)而基于結(jié)點(diǎn)核值的非嚴(yán)格降序訪問處于未匹配狀態(tài)的結(jié)點(diǎn),依據(jù)一定規(guī)則對其進(jìn)行匹配,從而將連接性好的結(jié)點(diǎn)合并在一起,為多層次劃分的后續(xù)階段提供更優(yōu)的粗化賦權(quán)超圖。
[0012]二、在多層次方法的優(yōu)化階段,采用多目標(biāo)的離散粒子群搜索程序改進(jìn)貪心原則的局部搜索方法,對在每一水平層粗化賦權(quán)超圖投影的劃分進(jìn)行優(yōu)化,其中粒子所處|v|維空間位置對應(yīng)于一個劃分方案,即粒子在每個維度空間的位置代表該維度空間對應(yīng)結(jié)點(diǎn)所處劃分的結(jié)點(diǎn)子集;伴隨著優(yōu)化階段的細(xì)化過程,每個粒子解決方案代表的劃分投影到當(dāng)前水平層的細(xì)化賦權(quán)超圖上,且粒子的自由度隨著空間維度|v|的增加而增大;粒子之間進(jìn)行直接通信或者間接通信,利用它們聚集協(xié)同表現(xiàn)出的智能行為,有效地搜索多約束條件下、多目標(biāo)組合的Pareto有效解,使非劣迀移優(yōu)化解向著Pareto-最優(yōu)面逼近,增強(qiáng)迀移優(yōu)化算法的多目標(biāo)搜索能力。
[0013]根據(jù)上述的發(fā)明構(gòu)思,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種基于多層次方法和離散粒子群的賦權(quán)超圖優(yōu)化劃分方法,其特征在于,具體步驟如下。
[0014]步驟1,讀取賦權(quán)超圖文件生成,讀取按照改進(jìn)壓縮的文件存儲格式保存的賦權(quán)超圖文件。
[0015]步驟2,在內(nèi)存中存儲賦權(quán)超圖文件,采用改進(jìn)壓縮的內(nèi)存存儲格式對賦權(quán)超圖進(jìn)行存儲。
[0016]步驟3,對內(nèi)存中的賦權(quán)超圖劃分,啟動基于多層次方法和離散粒子群的賦權(quán)超圖劃分程序,對內(nèi)存中的賦權(quán)超圖進(jìn)行劃分,將最終得到的劃分結(jié)果存儲在賦權(quán)超圖劃分文件中。
[0017]上述的步驟I中,所述的賦權(quán)超圖的改進(jìn)壓縮的文件存儲格式如下。
[0018]步驟1.1,文件格式的第I行第I個參數(shù)代表著賦權(quán)超邊的數(shù)目m,第2個參數(shù)代表著賦權(quán)結(jié)點(diǎn)的數(shù)目η。
[0019]步驟1.2,文件格式的第2行開始到第m+1行的每行代表著一條賦權(quán)超邊的相關(guān)信息,第I個數(shù)值為賦權(quán)超邊的權(quán)值信息,其余數(shù)值為賦權(quán)超邊的結(jié)點(diǎn)信息,其中每行的最后一個數(shù)值代表賦權(quán)超邊的尾端結(jié)點(diǎn)信息,且賦權(quán)超邊的源端結(jié)點(diǎn)信息處于賦權(quán)超邊的權(quán)值信息和尾端結(jié)點(diǎn)信息之間。
[0020]步驟1.3,文件格式的第m+2行開始到第m+n+1行的每行代表著一個賦權(quán)結(jié)點(diǎn)的權(quán)值信息。
[0021]上述的步驟2中,所述的賦權(quán)超圖的改進(jìn)壓縮的內(nèi)存存儲格式如下。
[0022]步驟2.1,使用vwgts數(shù)組存儲賦權(quán)超圖中結(jié)點(diǎn)的權(quán)值信息,且vwgts數(shù)組的大小為賦權(quán)超圖中的結(jié)點(diǎn)個數(shù)。
[0023]步驟2.2,使用xadj數(shù)組存儲每個結(jié)點(diǎn)所有鄰接賦權(quán)超邊列表的起始位置信息,即第i個結(jié)點(diǎn)的終止位置為第i+Ι個結(jié)點(diǎn)的起始位置減1,且xadj數(shù)組的大小為賦權(quán)超圖中的結(jié)點(diǎn)個數(shù)加1,xadj數(shù)組最后一個元素用于存放最后一個結(jié)點(diǎn)的終止位置。
[0024]步驟2.3,使用ad jncy數(shù)組存儲每個結(jié)點(diǎn)所有鄰接賦權(quán)超邊的列表信息,第i個結(jié)點(diǎn)的鄰接賦權(quán)超邊列表存儲在adjncy數(shù)組中,從adjncy [xadj [i]]到adjncy[xadj[i+1]-1]。
[0025]步驟2.4,使用eptr數(shù)組存儲每條賦權(quán)超邊所包含的結(jié)點(diǎn)列表的起始位置信息,即第j條賦權(quán)超邊的終止位置為第j+Ι條賦