[發明專利]一種遠程并行程序調試系統中基于樹形的消息聚集方法無效
| 申請號: | 201010524824.0 | 申請日: | 2010-10-27 |
| 公開(公告)號: | CN102023920A | 公開(公告)日: | 2011-04-20 |
| 發明(設計)人: | 伍衛國;樊源泉;趙海祥;王恩東;公維鋒 | 申請(專利權)人: | 西安交通大學;浪潮(北京)電子信息產業有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/46 |
| 代理公司: | 西安智大知識產權代理事務所 61215 | 代理人: | 賀建斌 |
| 地址: | 710049 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 遠程 并行 程序 調試 系統 基于 樹形 消息 聚集 方法 | ||
技術領域
本發明屬于計算機技術領域,具體涉及一種遠程并行程序調試系統中基于樹形的消息聚集方法。
背景技術
在并行程序調試過程中,數據傳輸密集,客戶端與調試系統之間的通信量會跟隨調試進程數目的增加而增大,當調試進程數目達到成百上千后,對于基于客戶端/服務器模式的遠程調試系統來說,需要傳遞巨量的消息,這些巨量消息的傳遞會嚴重影響系統的響應速度,因此,合理的對消息進行聚集,減少網絡通信量,縮短系統的響應時間,是在遠程并行調試系統開發過程中需要解決的主要問題。目前,針對并行調試系統中消息聚集的方法主要有度大小固定的樹形消息聚集方法。度大小固定的樹形消息聚集方法基于樹形消息收集框架,框架中每個葉子都駐留一個并行程序的調試進程,各個調試進程獨立運行,輸出的調試數據由基于樹形的調試框架中的聚集器收集打包成消息,聚集器按照自底向上的順序,依次收集消息,最終匯總到根聚集器,其中聚集器的度固定,每個聚集器收集其孩子的輸出消息。首先位于樹形調試架構中最底層的聚集器對調試進程輸出的結果數據進行分類,并用一個標記來標識每類數據來源,被標記的數據按聚集算法收集打包成消息,當達到容量或超時時,則將打包好的消息向樹形調試框架中該聚集器父親結點的聚集器發送。該方法把輸出的消息分為三類:數據部分完全相同的消息(Type1);除了數據部分不同外其他部分相同的消息(Type2);數據部分完全不同的消息(Type3)。聚集算法的主要思想是:對于Type1,多個調試進程輸出的結果數據,經過聚集操作,成為一條結果消息;對于Type2,按照min/max對來表示數據,但只表示范圍;對于Type3,不對數據表示做處理,直接傳遞消息。此方法中樹形調試框架的度固定為8,每個調試進程分別被綁定到葉子,根結點和分支結點不參與調試,只負責調試結果數據的收集和調試命令的轉發。但該方法不能保證同一個調試進程集中的所有進程被分配到同一棵最小子樹中,增加了同一進程集中,位于不同子樹中的調試進程產生的調試結果數據傳輸數量,從而增加了并行調試系統的通信量。該方法提出的消息聚集方法中,如果兩則消息中的數據存在很大程度不同,但又有相似的部分,則視為Type3消息,但在實際情況中還可以對這種消息類型進行處理,找出其中相同的數據部分進行聚集,從而減少系統內部數據的傳輸量和系統的響應時間,提高調試的效率。
發明內容
為了克服上述技術中存在的缺點,本發明的目的在于提供一種遠程并行程序調試系統中基于樹形的消息聚集方法,本方法是在樹形調試模型的基礎之上,對調試進程集中各個進程的分布進行優化,同一個進程集中的調試進程優先分布在樹形調試框架的同一棵子樹中,另外在樹形調試框架中除根結點和葉子外的中間結點同時也綁定串行調試器gdb,以提高系統的并發性,同時把gdb調試進程返回的結果數據分成四類,分別采用四種方法進行聚集,從而能有效地減小消息的大小,減少并行調試系統的通信量,具有系統通信次數少、響應時間短等優點。
為了達到上述目的,本發明所采用的技術方案是:
一種遠程并行程序調試系統中基于樹形的消息聚集方法,包括以下步驟:
第一步,構造樹形的調試框架,根據調試進程數n,其中n的取值為:1≤n,構造一棵n+1個結點的樹,樹的度可以手動設置為c,其中c的取值為:1≤c≤n,按照從0到n-1的順序依次為每個調試進程分配一個消息傳遞接口MPI的唯一編號rank,把進程編號rank值為n+1的結點設置為樹形調試框架的根結點,即根控制器MainController所在的結點,把位于同一個調試進程集的待調試進程分配到樹形調試框架中同一個子樹中,樹形調試框架中除去根結點和葉子外的每個結點構成中間控制器MidController,其中每個結點的度為r,r的取值為:1≤r≤c,子結點即葉子控制器LeafController只接收調試命令并負責并行程序的調試信息收集,然后求出樹形調試框架中每個結點的父親、孩子和子孫結點的進程編號rank,分別將其存放于父結點parent、孩子結點children和后代結點descendents的數據結構中,最后為樹形調試框架中除根結點外的每個結點啟動一個串行gdb調試進程,而根結點只負責調試命令的轉發和調試結果消息的接收聚集;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交通大學;浪潮(北京)電子信息產業有限公司,未經西安交通大學;浪潮(北京)電子信息產業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010524824.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于鋼包噴粉精煉工藝的脫硫粉劑及其生產方法
- 下一篇:固件切換的檢測方法





