- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
多處理機兩個或兩個以上處理機(包括PU和CU),通過高速互連網絡連接起來,在統一的操作系統管理下,實現指令以上級(任務級、作業級)並行。按照Flynn分類法,多處理機系統屬於MIMD電腦。9.1多處理機結構9.1.1兩種多處理機結構根據記憶體的組織形式,多處理機系統有2種基本結構,分別是共用記憶體多處理機結構和分佈式記憶體多處理機結構。共用記憶體多處理機的記憶體是一個獨立的子系統,為所有的處理機共用,任何兩臺處理機可以通過訪問共用的記憶體單元實現通信。分佈式記憶體多處理機的記憶體分佈在各處理機中,處理機之間通過點對點的通信實現資訊交換。9.1.2多處理機系統的特點多處理機屬於多指令流多數據流(MIMD)電腦,下麵概括說明多多理機系統的特點:1.結構靈活性結構特點:處理單元很多,但只需設置有限和固定的機間互連通路,即可滿足一批並行性很高的演算法的需要。2.程式並行性在多處理機中,不限於解決數組向量處理問題,並行性存在於指令外部,即表現在多個任務之間,再加上系統通用性的要求,就是程式並行性的識別難度較大。3.並行任務派生一個程式當中存在多個併發的程式段,需要專門的指令來表示它們的併發關係以控制它們的併發執行,以便一個任務開始被執行時就能派生出可與它並行執行的另一些任務。這個過程稱為並行任務派生。4.進程同步多處理機採取特殊的同步措施,才能使併發進程之間保持程式所需要的正確順序。5.資源分配和進程調度多處理機執行併發任務,需用處理機的數目沒有固定要求,各個處理機進入或退出任務的時刻互不相同,所需共用資源的品種、數量又隨時變化。於是,就提出了一個資源分配和進程調度問題。9.2多處理機性能模型
引起峰值性能下降的原因是:(1)因處理機間通信而產生的延遲(2)一臺處理機與其它處理機同步所需的開銷(3)當沒有足夠多任務時,一臺或多臺處理機處於空閒狀態(4)由於一臺或多臺處理機執行無用的工作(5)系統控制和操作調度所需開銷研究多處理機的目的:提前5年得到速度高10倍的機器。或用1/10的價格獲得一臺高性能的機器。如果設計得好,在某些適合進行並行處理得應用領域,可以達到:提前10年得到速度高100倍的機器或用1/100的價格獲得一臺高性能的機器。並行性在很大程度上依賴於R/C比值,其中:R代表程式執行時間,C代表通信開銷。通常:R/C比值小,並行性低。R/C比值大,並行性高。如果把作業分解成較大的塊,就能得到較大的R/C比值,但是所得到的並行性比最大可能的並行性要小得多。R/C比值是衡量任務粒度(Granularity)大小的尺度在粗粒度(Coarsegrain)並行情況下,R/C比值比較大,通信開銷小在細粒度(Finegrain)並行情況下,R/C比值比較小,通信開銷大細粒度並行性需要的處理機多,粗粒度並行性需要的處理機少。細粒度並行性的基本原理是把一個程式盡可能地分解成能並行執行的小任務。在極端情況下,一個小任務只完成一個操作。9.3多處理機的Cache一致性9.3.1問題由來產生Cache一致性問題的原因有以下3個方面:1.共用可寫數據引起不一致在多處理機中,若多個Cache中有同一個可寫數據塊,當任何一個處理機對本地Cache中的這個數據塊改寫後,都會使本地Cache的這個數據塊與遠程Cache中的同一個數據塊不一致。2.進程遷移引起不一致一個程式中可能存在多個可並行執行的程式段,當一個程式在一個處理機上運行時,可將派生的並行任務分配到其他處理機上運行,這種進行遷移也會引起不一致。若某進程在處理機Pi上對本地Cache的一個數據塊改寫後遷移到另一個處理機Pj上,那麼,該進程在Pj上訪問本地Cache的同一個數據塊時,將出現數據塊不一致。3.I/O傳輸引起不一致I/O傳輸產生在I/O處理機與共享主存之間,當I/O處理機將一個新的數據塊寫入主存以更新原來的數據塊時,主存中的新數據塊與Cache中的原數據塊將不一致。9.3.2監聽協議1.監聽協議概述當多個處理機和共用記憶體採用匯流排互連時,可以採用匯流排監聽協議解決Cache一致性問題。監聽協議通過匯流排監聽機制來監聽各處理機對數據塊的讀/寫操作,然後採用有關策略來維護多個Cache以及共用主存的一致性。監聽協議有四種用來保持Cache一致性的方法:寫無效(Write-Invalidate)策略和寫更新(Write-Update)策略用於維護本地Cache與遠程Cache的一致性;寫回(Write-back)策略
文档评论(0)