專利名稱:用于空間計算并行化的自適應負載平衡方法
技術領域:
本發明屬于高性能計算技術領域,涉及一種負載平衡方法,尤其涉及一種用于空 間計算并行化的自適應負載平衡方法。
背景技術:
目前,網絡高性能計算的研究受到廣泛重視,構建的思路和實現形式也各不相同。 按照構建形式,可以將它們分為技術相關的兩大類(1)機群計算。采用高速網絡連接一組工作站或微機,組成一個機群,或在通用網 上尋找一組空閑處理機形成一個動態的虛擬機群,使之在中間管理控制下提供具有很高性 價比的高性能計算服務。(2)網格計算。它的目標是通過互聯網絡將廣域范圍的計算資源、數據源和其他設 備統一組織管理,形成一個可相互利用、相互合作的高性能計算環境,用戶可以像登錄一臺 超巨型機一樣使用它。網絡高性能計算被廣泛的應用于科學的各個領域,如氣象、物理、化學等。高性能 計算的一個重要問題就是計算任務如何分解并在計算過程中保持各處理器的負載平衡。在 現有的方法中多以固定的任務分派方式,在運算過程中缺乏對計算負載的動態調整。這些 分派和調整方法在負載分布不均或發生變化時將造成部分處理機負載過高,部分處理機閑 置的現象,一方面降低了計算速度,另一方面造成了資源的浪費。
發明內容
本發明所要解決的技術問題是提供一種用于空間計算并行化的自適應負載平衡 方法,可使負責子空間計算的多處理機之間負載快速達到平衡,同時平衡后的主機之間通 訊負載小。為解決上述技術問題,本發明采用如下技術方案一種用于空間計算并行化的自適應負載平衡方法,所述方法包括并行化空間計算;在計算過程中根據多臺處理器之間的負載變化情況動態調整分割線以達到新的 平衡;通過將劃分的字空間成組的壓縮或拉伸來加速空間的重新劃分。作為本發明的一種優選方案,并行化空間計算中,每臺處理機負責計算一塊劃分 出來的子空間,計算量來自于空間內計算對象的數目和復雜度;將每個計算對象的計算復雜度設為相同,那么計算量的大小用對象的數目來表 示;在計算過程中,當計算對象在空間內移動時,就認為從一臺處理機負責的空間遷 移到另一臺捶擊負責的空間,這就造成了計算負載的變動。作為本發明的一種優選方案,所述方法包括初始任務空間劃分步驟將二叉樹的非葉子節點看成空間中的分割線,葉子節點看成最終的子空間,仿真空間根據二叉樹的結構逐層的劃分成2N個子空間,相鄰兩層的分割線的方向不同;
在這種分割條件下,任何一條豎向分割線的左面區域編號小于右面區域,任何-條橫向分割線上面的區域標號小于下面的區域;
示成a1
對于由2N個子區域構成大小為X*Y的仿真空間,設每一個區域的編號由二進制表
a2,…、%,則其初始位置,即每個區域的左上角表示如下
權利要求
1.一種用于空間計算并行化的自適應負載平衡方法,其特征在于,所述方法包括 并行化空間計算;在計算過程中根據多臺處理器之間的負載變化情況動態調整分割線以達到新的平衡; 通過將劃分的字空間成組的壓縮或拉伸來加速空間的重新劃分。
2.根據權利要求1所述的用于空間計算并行化的自適應負載平衡方法,其特征在于 并行化空間計算中,每臺處理機負責計算一塊劃分出來的子空間,計算量來自于空間內計算對象的數目和復雜度;將每個計算對象的計算復雜度設為相同,那么計算量的大小用對象的數目來表示; 在計算過程中,當計算對象在空間內移動時,就認為從一臺處理機負責的空間遷移到 另一臺捶擊負責的空間,這就造成了計算負載的變動。
3.根據權利要求2所述的用于空間計算并行化的自適應負載平衡方法,其特征在于 所述方法包括初始任務空間劃分步驟將二叉樹的非葉子節點看成空間中的分割線,葉子節點看成最終的子空間,仿真空間根據二叉樹的結構逐層的劃分成2N個子空間,相鄰兩層的分割線的方向不同;在這種分割條件下,任何一條豎向分割線的左面區域編號小于右面區域,任何一條橫向分割線上面的區域標號小于下面的區域;對于由2N個子區域構成大小為X*Y的仿真空間,設每一個區域的編號由二進制表示成B1`a2,…、%,則其初始位置,即每個區域的左上角表示如下
4.根據權利要求3所述的用于空間計算并行化的自適應負載平衡方法,其特征在于 所述方法進一步包括負載平衡步驟521、計算整體不平衡度;522、判斷整體不平衡度是否達到設定要求;若是結束此過程,否則轉向步驟S23;523、判斷是否是最底層定義域DOMAIN;若是轉至步驟S21,否則轉向步驟S24 ;524、調整分割線一側的第一部分,而后調整分割線另一側的第二部分。
5.根據權利要求4所述的用于空間計算并行化的自適應負載平衡方法,其特征在于 所述負載平衡步驟具體為設所有最小的子區域,即所有葉子節點的數目為D0MAIN_NUM,D0MAIN_NUM = 2n,N正整數;對于編碼范圍為StartDomain到EndDomain的子區域范圍,將分成(StartDomain (EndDomain+StartDomain)/2),禾口 ((EndDomain+StartDomain)/2+1 ~ EndDomain)胃; 其中,EndDomain-MartDomain+1 == 2N, N 為正整數;如果Log(DOMAIN_NUM/(EndDomain-StartDomainl+)) % 2 = 1 ;則代表兩部分將在水 平方向上進行調整,否則將在豎直方向上進行調整。
6.根據權利要求5所述的用于空間計算并行化的自適應負載平衡方法,其特征在于 對兩部分的負載差異度定義如下
全文摘要
本發明揭示了一種用于空間計算并行化的自適應負載平衡方法,包括并行化空間計算;在計算過程中根據多臺處理器之間的負載變化情況動態調整分割線以達到新的平衡;通過將劃分的字空間成組的壓縮或拉伸來加速空間的重新劃分。并行化空間計算中,每臺處理機負責計算一塊劃分出來的子空間,計算量來自于空間內計算對象的數目和復雜度;將每個計算對象的計算復雜度設為相同,那么計算量的大小用對象的數目來表示;在計算過程中,當計算對象在空間內移動時,就認為從一臺處理機負責的空間遷移到另一臺捶擊負責的空間,這就造成了計算負載的變動。本發明可使負責子空間計算的多處理機之間負載快速達到平衡,同時平衡后的主機之間通訊負載小。
文檔編號G06F9/46GK102063331SQ201110002618
公開日2011年5月18日 申請日期2011年1月7日 優先權日2011年1月7日
發明者丁志軍, 張亞英, 張棟良, 蔣昌俊, 閆春鋼, 陳閎中 申請人:同濟大學