【技術實現步驟摘要】
本專利技術屬于地球系統模式的耦合
,特別涉及。
技術介紹
地球系統模式是用于研究全球氣候變化的重要工具,該工具主要用于數值模擬整個地球的變化過程,幫助氣候學家更好地理解全球氣候變化機理以及預測未來地球的氣候變化。耦合器是地球系統模式中一個十分關鍵的高性能組件,主要用于將組成地球地球系統模式的各個地球子系統的分量模式連接起來,從而構成一個完整的地球系統模式。由于能量是在地球各個子系統之間進行傳遞的,為了確保整個地球能量守恒,各分量模式需要在它們的公共交界面上進行大量的數據交換,這部分數據稱為耦合物理量數據,簡稱耦合數據。因此,耦合器最重要的功能就是分量模式間的數據交換,稱為耦合通信。隨著地球系統模式的發展,耦合通信的數據量有大大增加的趨勢,這種趨勢主要體現在以下三個方面第一,耦合通信的數據量會隨著耦合分量模式數量的增加而增加。目前常見的地球系統模式僅包含3至4個分量模式,然而將來會有一批新的分量模式加入到地球系統模式中,包括生物圈模式、大氣化學模式等,地球系統模式整體的耦合通信數據量將會隨之大大增加;第二,耦合通信的數據量會隨著分量模式分辨率的提高而增加。分量模式的分辨率越高,網格就越密,模擬性能越好,對于分量模式的發展而言,其網格分辨率的提高是必然趨勢,網格變密使得相應的耦合通信所需的數據量也隨之增加;第三,三維耦合導致耦合通信的數據量大大增加。某些新類型的分量模式之間的交界面是三維的,這導致耦合通信所要傳輸的數據量被進一步增加。綜上所述,地球系統模式的發展趨勢使得耦合器將來所要承擔的耦合通信任務將會變得十分艱巨。目前,在地球系統模式中使用最廣泛的 ...
【技術保護點】
一種用于地球系統模式的耦合通信方法,該方法設分量模式A作為發送端發送耦合數據,設分量模式B作為接收端接收分量模式A發送的耦合數據,其特征在于,該方法包括根據耦合數據的特征自適應判定是否對耦合數據進行壓縮,以及采用何種壓縮方式的第一階段;和根據自適應判定結果進行耦合通信的第二階段;所述的壓縮方式包括針對相似性的壓縮方式S以及針對零值的壓縮方式Z;其中,壓縮方式S針對同一網格單元上的耦合物理量在連續兩個耦合時間步中,其數值未發生變化的特性;壓縮方式Z針對分量模式的耦合數據中包含了一定比例的0值數據。
【技術特征摘要】
1.一種用于地球系統模式的耦合通信方法,該方法設分量模式A作為發送端發送耦合數據,設分量模式B作為接收端接收分量模式A發送的耦合數據,其特征在于,該方法包括根據耦合數據的特征自適應判定是否對耦合數據進行壓縮,以及采用何種壓縮方式的第一階段;和根據自適應判定結果進行耦合通信的第二階段;所述的壓縮方式包括針對相似性的壓縮方式S以及針對零值的壓縮方式Z ;其中,壓縮方式S針對同一網格單元上的耦合物理量在連續兩個耦合時間步中,其數值未發生變化的特性;壓縮方式Z針對分量模式的耦合數據中包含了一定比例的O值數據。2.如權利要求1所述的方法,其特征在于,所述第一階段包括以下步驟 I)在發送端分量模式A自適應判定在耦合過程中是否對耦合數據進行壓縮,若是,則選擇相應的壓縮方式,轉第二階段;若否,則直接轉第二階段; 具體包括以下步驟 1-1)發送端分量模式A緩存當前耦合時間步上的數據,在下一個耦合時間步轉步驟1-2)執行自適應判定; 1-2)對緩存的耦合數據進行特征提取,包括提取計算出的零值率和相似度,計算零值率是統計零值數據占整個耦合數據的比例值,計算相似度是統計上一個耦合時間步緩存的耦合數據以及當前耦合時間步的耦合數據相同位置上數值沒有變化的數據所占整個耦合數據的比例值; 1-3)根據配置文件中用戶設定的零值率閾值、相似度閾值、比例因子,取值范圍均為0-1之間;并結合步驟1-2)中的特征計算結果進行判定,首先判定是否對耦合數據進行壓縮,如果耦合數據的兩個特征計算結果未達到零值率和相似度閾值,壓縮標識設置為0,轉步驟1-5);否則轉步驟1-4)再判定采用何種壓縮方式進行壓縮; 1-4)如果僅相似度達到閾值,則采用壓縮方式S,壓縮標識設置為1,轉步驟1-5);如果僅零值率達到閾值,則采用壓縮方式Z,壓縮標識設置為2,轉步驟1-5);如果零值率和相似度均達到閾值條件,則比較該兩個特征的計算結果,若相似度大于零值率乘以比例因子,則壓縮標識設置為1,否則壓縮標識設置為2,轉步驟1-5); 1-5)自適應判定結束。3.如權利要求1所述的方法,其特征在于,所述第二階段包括以下步驟設分量模式A和分量模式B由多個進程運行,分量模式A的進程發送耦合數據,分量模式B的進程接收耦合數據; 作為發送端的分量模式A,具體包括以下步驟 步驟Al :分量模式A的每個源進程,根據路由表中所包含的發送數據的位置信息,并根據分量模式B的目標進程號從本地內存中收集相應的耦合數據,然后打包成原始數據塊; 步驟A2 :根據自適應判定得到的壓縮標識,判斷下原始數據塊,若壓縮標識為0,說明不進行壓縮,申請內存空間存放目標數據塊,將目標數據塊的第一字節壓縮標識設置為0,然后將原始數據塊復制到壓縮標識之后的內存空間中,生成目標數據塊,轉至步驟A4,若壓縮標識為1,則采用壓縮方式S對原始數據塊進行壓縮,轉至步驟A3,若壓縮標識為2,則采用壓縮方式Z對原始數據塊進行壓縮,轉至步驟A4 ; 步驟A3 :將當前時間步的原始數據塊復制到保存參考數據塊的內存空間中,用于下一個耦合時間步基于壓縮的耦合通信;步驟A4 :分量模式A的每個源進程根據路由表中包含的通信映射關系,調用MPI函數將數據塊發送給分量模式B相應的目標進程;步驟A5 :判斷是否有未發送的目標進程,若是轉步驟Al,否則轉步驟A6 ;步驟A6 :等待完成全部發送,分量模式A的耦合通信結束;作為接收端的分量模式B,具體包括以下步驟步驟B1:分量模式B的目標進程,根據路由表中包含的...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。