:若,則根據G的收發(fā)類型分別判斷C第J行中"1"和"-1"的個 數,若不滿足定義4. 7 (2 ),則/7^= U ; 步驟1. 1. 4. 3 :若GiCCT,則根據G的通信類型分別判斷C第J行中" 1"和"-1"的個 數,若不滿足定義4. 7 (3 ),則/7^= U ; 步驟1. 1. 4. 4 :除以上類型外的G,若C第J行中" 1"和"-1"的個數都為1,則滿足定 義4. 7 (4),否則尸/5=尸/袖{^}; 步驟 1. 1. 4. 5 :若々 e ·ΟΜΡ ,則 {〔.}; 步驟 1· 1· 4· 6 :若& e IMP·,則 Z.|/r=Z.|/7^ {ij ; 步驟 1. 1. 4. 7 :若與 e (MiF υ .MtiF),則 {L.}; 步驟1. 1.5 :算法結束。
[0044] 步驟二、在已通過正確性驗證的模型上,建立并行系統(tǒng)性能模型,并進行系統(tǒng)性能 分析; Sps={Pps,Rps,M}是一個并行系統(tǒng)性能模型,其中Pps是并行算法或程序的TCPN 模型,根據步驟一,可以證明算法Pps的正確性;Rps是目標機硬件資源的TCPN模型,Rps = (Pr;Tr,Ar,Cs,G,M0)用來描述目標機資源特征;Μ是Pps至IjRps的映射(即P-R映射), MI (P/Tp)E(T;Pr)〇
[0045] 在Sps模型上,可以進行程序運行性能的分析,如并行程序運行時間的計算,資源 利用率的計算等。程序中操作的完成時間與分配的資源性能有關,操作由Pps中的變遷描 述,資源由Rps中的庫所描述,兩者的映射由Sps描述,即操作變遷?,的資源需求是r,= a, ,其中我氣,?表示原子變遷噸在集合Z中出現(xiàn)的次數;資源心能 夠為原子操作的實現(xiàn)提供支持,且其服務時延為GCsi),aiL^.,J7},若心=?, 則操作變遷?,完成操作需要耗時。
[0046] (1)并行度計算 片段集合/妙)=[λ,厶,…乂}=是程序辦的所有可能的片段集合,其 中也表示在標識#下活躍的進程,兄以/如)是并行程序辦性能模型的可達標識集合,若 沁是辦的初始狀態(tài),則^妙)4機)。P 乂 P是片段乂的大小,即乂中進程個數。并行程 序辦的最大并行度為:薄_ = maxw別|j|。
[0047] (2)負載平衡計算 負載平衡可以通過計算各節(jié)點進程庫所集合中平均數之和,來判 斷,若進程/V的免大大于其他進程,則該進程負載過重,否則過輕,根據該值可 以判斷任務劃分方案是否合適。要計算,,首先需要計算系統(tǒng)性能模型的可達狀 態(tài)穩(wěn)定概率,即根據與并行系統(tǒng)性能模型同構的MC,構造轉移矩陣仏.",其中i?=MC中的狀態(tài) 數。
[0048] 假設MC中η個狀態(tài)的穩(wěn)定概率是一個行向量萬=(心,心,…,么),則根據MC過程 計算線性方程纟
:1,即可得每個可達標識#,的穩(wěn)定概率Ρ[#,]= 4。
[0049] 根據可達標識穩(wěn)定概率,可計算在穩(wěn)定狀態(tài)下,庫所中不同數量的概率,即
其中,= S)表示庫所/7中包含X個的概率,碎=且批:=X。
[0050] 對于乂巧e PJK6>_ 表示在穩(wěn)定狀態(tài)下,庫所@在任一可達標識中平均含 有的ioAei?數,則 系現(xiàn);i£fTH、J丨曰J
并行程序在某并行機上運行的時間,也稱之為并行系統(tǒng)運行時間匕
〃??/^,/>⑴受問題規(guī)模大小、本地節(jié)點處理器屮的功能部仵、分支預測部件性能和存 儲子系統(tǒng)性能的影響,即 ,路
其中算術計算時間= 其中&為等效計算量,&為等效計算速度??紤]到應用 ::Μκ 程序中常涉及不同類型的計算(如整型、浮點型、雙精度型等),不同的機器指令類型又需要 不同的執(zhí)行拍數,因此,在僅用一個量描述計算量或計算速度時,需要在不同類型之間做等 效變換。訪存時間和Jr分別是等效數據訪問量和等效數據訪問速度。Zfe與數 據在各任務間的分布和數據訪問次數有關,Jr則依賴于機器執(zhí)行存取操作的速度,包括指 令類型、訪存模式(如隨機訪問模式、固定步長訪問模式等)、數據存放位置(如存放在一級 cache、二級cache或內存中等)。
[0051] 〃??α,7>(?)受通信量大小和通信軟硬件性能的影響,則一次完整通信的時間花 費為
其中G是每次的通信量,而是計算和通信的重疊度,是單位消息傳送延時,與通信 操作類型,實現(xiàn)方式以及機器的通信能力有關。
[0052] (4)資源利用率與操作執(zhí)行頻率 對于
^示在穩(wěn)定狀態(tài)下,庫所胃在任一可達標識中平均含有的 數。當f巧時,#(〇》=〇說明資源乃忙,說明資源巧空閑,由此,可以利用 ,估算資源於的利用率。
[0053] -個庫所集合/^={/?7,/?,…凡.} I/5,其平均數可以通過計算集合中的每個 庫所平均數之和而知,即
當Α屬于某個子進程時,可以把視為進程任務隊列長度,進而分析進程響應時間和 吞吐量等性能指標。
[0054] 〃dr的觸發(fā)概率是能使?觸發(fā)的所有標識的穩(wěn)定概率之和,即
其中,Μ(?)是指能使?觸發(fā)的所有可達標識集合。扒?)可以用來說明變遷?的觸發(fā) 頻率,即其對應的操作e的執(zhí)行頻率,若某一以0值相對較高,則說明提高該變遷?所需硬 件資源的性能,能改善操作e的執(zhí)行性能,進而提高系統(tǒng)整體性能。
[0055] 一般變遷吞吐量:乃3(〇 = is enabled) = J是?的實施速率,可以采用 通信變遷的吞吐量評價系統(tǒng)通信率,進而分析通信與計算的整體比例。如,進程/V和/V之 間的通信率
其屮/V)是芫成進桎丨'0」通信的復合變遷集合。
[0056] 步驟三、并行系統(tǒng)性能影響因子的計算,包括并行機性能度量參數HPP的計算,并 行應用性能度量參數PAP的計算,并行系統(tǒng)相似度及匹配度的計算。
[0057] 并行系統(tǒng)具有規(guī)模大、復雜性高的特點,它不僅與并行計算機硬件系統(tǒng)的結構、組 成與實現(xiàn)相關,還與具體的應用程序相關,這些因素之間相互影響、相互作用。
[0058] 步驟3-1,計算節(jié)點關鍵性能影響因素的計算,其過程如圖1所示; 以Plackett-Burman實驗方法(簡稱PB)為基礎,將眾多復雜的性能影響因素快速聚焦到 少數關鍵因素,然后采用主成分分析法確定關鍵因素間的相互聯(lián)系,從而將多個性能影響因 素簡化為少數幾個互不相關的綜合指標,進一步突出對并行系統(tǒng)性能影響較大的硬部件。
[0059] 根據圖1所示過程,建立規(guī)模為Fx|力的PB矩陣,矩陣行向量代表不同性能影響 因素的配置,列向量代表每個因素在實驗中的所有取值情況,響應為并行程序在該配置下 的運行時間,采用SPEC2000Int和SPEC2000FP兩類測試程序進行實驗。
[0060] 結合兩類程序的PB實驗結果對各因素性能影響度進行降序排序,以影響度平均 fj
%為選取關鍵因素的標準,確定了 14個性能因素為關鍵因素,其累計 性能影響度為76. 07%。
[0061] 步驟3-2,通信網絡關鍵性能影響因素的計算; 以Alexandrov等人提出的LogGP模型為基礎,用五個參數來評價一個并行機互連網 絡的通信性能,即:從源模塊發(fā)送消息(包含一個或幾個字)到目標模塊的延時的上界L (Latency);處理器發(fā)送os或接收or -個消息所用的時間(系統(tǒng)開銷)o(0verhead),在此時 間段內處理器不能執(zhí)行其他操作;處理器連續(xù)發(fā)送或接收消息時的最小時間間隔g (Gap), 即通信間距,是兩個點對點通信進程之間通信所能達到的最大帶寬的倒數;互連網絡連接 的處理節(jié)點個數P (Processor);用來描述大消息傳送時連續(xù)兩個字節(jié)之間的間隔時間G, 其倒數是傳送長消息的帶寬。
[0062] 步驟3-3,并行應用性能度量參數的計算; 并行系統(tǒng)(并行應用+并行機)的性能不僅與并行計算機硬件系統(tǒng)的結構、組成與實現(xiàn) 相關,還與具體的應用程序相關,這些因素之間相互影響、相互作用。步驟3-1和3-2是對 計算節(jié)點和互連網絡兩類硬部件性能因素的計算,并行應用的性能主要是指與這些硬部件 相關的操作對系統(tǒng)性能的影響。由于在并行算法設計階段,無法精確獲得涉及這些操作的 具體數量,只能根據問題規(guī)模、計算次數、通信量等估計并行應用各性能度量參數值。在算 法逐漸精確化后,采用基于抽樣的方法采集部分指令來獲得整個應用的性能特征。
[0063] 假設用并行算法P實現(xiàn)某一應用需求,在算法A和輸入規(guī)模I的情況下,稱 ^,…,、}為P的性能度量參數,即并行程序P以算法A為設計基礎,在