計算機組成與體系結構(原書第4版)》 —1.10 并行處理器和并行計算

      網友投稿 721 2025-04-01

      1.10 并行處理器和并行計算


      今天,并行處理解決了許多大問題,所用的方法與美國西部移民并排使用多頭牛解決大問題的方法差不多。如果他們使用一頭牛移動一棵樹,這頭牛不夠大或不夠強壯,他們絕對不會嘗試養一頭更大的牛,而是使用兩頭牛。如果我們的計算機不夠快或不夠強,那么為什么不簡單地使用多個計算機替代開發一臺更快、更強的計算機呢?這正是并行計算所要做的。第一個并行處理系統建造于20世紀60年代后期,僅有兩個處理器。20世紀70年代已經有32個處理器的超級計算機的介紹,20世紀80年代產生了第一個有1000多個處理器的系統。1999年,IBM宣布為開發一個名為藍色基因系列的超級計算機架構提供資金。藍色基因/L是這個系列中的第一臺計算機,是一個大規模并行計算機,包含131000個雙核處理器,每個處理器有自己專用的存儲器。除了允許研究人員研究蛋白質折疊的行為(通過使用大量的模擬)外,這臺計算機還允許研究人員在并行架構和并行架構軟件方面探索新的想法。IBM持續不斷地為這個系列開發計算機。2007年發布了藍色基因/P,它有四核處理器。藍色基因/Q是這個系列中最新設計的計算機,使用16核處理器,每個機架有1024個計算節點,可擴展到512個機架。Nostromo(在波蘭用于生物醫學數據)、Sequoia(在勞倫斯利弗莫爾國家實驗室用于核模擬和科學研究)和Mira(用在阿貢國家實驗室)等處安裝了藍色基因/Q計算機。

      雙核和四核處理器(以及更多核的處理器,就像我們在藍色基因/Q中看到的)是多核處理器。但是,什么是多核處理器呢?從本質上講,它是一種特殊類型的并行處理器。并行處理器通常劃分為“共享存儲器”處理器(其中處理器共享相同的全局存儲器)或“分布式存儲器”計算機(其中每個處理器都有自己私有的存儲器)。第9章將詳細介紹并行處理器。以下討論僅限于個人計算機中使用的共享內存多核架構。

      多核架構是允許多個處理單元(通常稱為核)位于一個芯片上的并行處理器。雙核(dual core)意味著有2個核,四核(quad core)意味著有4個核,等等。但是,什么是核?在集成電路中“插入”多個獨立的核(就像典型的馮·諾依曼機)并且并行運行,而不是一個處理單元。每個處理單元都有自己的ALU和寄存器組,但所有處理器共享內存和一些其他資源。“雙核”不同于“雙處理器”。雙處理器機器有兩個處理器,但是每個處理器插在各自的主板上。要注意的重要區別是,在多核機器中所有的核都集成到同一個芯片中。這意味著你可以用一個雙核處理器(條件是你的計算機有適合新芯片的插槽)芯片替換計算機中的單核(單處理器)芯片。今天許多計算機宣稱為雙核、四核或更多的核。雙核通常被認為是當今計算機的標準。大多數臺式機和筆記本電腦的核是有限的(少于8),當然,也可以用合適的價格買到有幾百個核的機器。

      盡管你的計算機可以有多個核,但這并不意味著它會更快地運行你的程序。編寫的應用程序(包括操作系統)必須利用多個處理單元(這一般適用于并行處理)。多核計算機對于多任務處理非常有用,即當用戶一次做多件事情時。例如,你可能同時在閱讀電子郵件、聽音樂、瀏覽網頁和刻錄DVD。在操作系統能夠同時處理許多任務的條件下,這些“多任務”可以被分配到不同的處理器上并且并行執行。

      除了多任務處理,多線程也能增加任何有內在并行性的應用程序的性能。程序被劃分成線程,可以把線程想象成微小的進程。例如,一個網頁瀏覽器是多線程的,一個線程可以下載文本,而每個圖像都由不同的線程控制和下載。如果一個應用程序是多線程的,那么不同的線程可以在不同的處理單元上并行運行。我們應該注意,即使在單處理器上,多線程也能改善性能,但是這個話題最好留到以后討論。更多的信息見參考文獻Stallings(2012)。

      概括地說,并行處理涉及多種不同的架構,從多個獨立的計算機一起工作,到多個處理器共享存儲器,再到多個核集成到同一個芯片上。由于并行處理器不是順序處理指令,所以在技術上沒有歸類為馮·諾依曼機。然而,許多人認為并行處理計算機包含CPU,使用程序計數器,并且程序和數據都存儲在主存中,這使得它們更像是對馮·諾依曼架構的擴展,而不是背離它,所以這些人把并行處理計算機看作一組馮·諾依曼機通力合作。在這種觀點中,也許說并行處理顯示了“非馮·諾依曼特性”更恰當。無論并行處理器如何分類,并行計算都可以讓我們用多任務的方式解決更大、更復雜的問題,并在各種軟件工具和程序設計中驅動著新的研究。

      然而,并行計算也有其局限性。隨著處理器數量的增加,把任務分布到處理器上的管理開銷也會隨之增加。一些并行處理系統需要額外的處理器來管理其余的處理器和分配的資源。無論我們在系統中放置多少個處理器,或者分配給它們多少資源,一定都會因為某種原因在某個地方形成瓶頸。然而,我們能做的最好的事情是確保系統中最慢的部分是使用最少的部分。這是后面要介紹的阿姆達爾定律(Amdahl’s Law)所描述的觀點。這個定律描述為:如果性能的增強與一個改進的特征有關,那么性能增強的量受到這個改進特征使用量的限制。基本的前提是每個算法都有串行部分,而串行部分會限制用多處理器執行算法獲得的加速。

      如果并行機和其他非馮·諾依曼架構給處理速度和性能帶來了如此巨大的增長,為什么不是每個人隨時都使用它們呢?答案在于它們的可編程性。在操作系統中能夠利用多個核的技術進步,已經使這些芯片用到了我們今天可以買到的臺式機和筆記本電腦中。然而,真正的多處理器編程比單處理器和多核處理器的編程更加復雜,要求人們以不同的方式思考問題,要采用新的算法和編程工具。

      《計算機組成與體系結構(原書第4版)》 —1.10 并行處理器和并行計算

      這些編程工具之一是一組新的程序設計語言。我們的程序設計語言大多是為馮·諾依曼架構創建的馮·諾依曼語言。許多通用語言已經用特殊的庫擴展為適用于并行程序設計,而且專門為并行編程環境設計了許多新的語言。適用于其余類型的(非并行)非馮·諾依曼平臺的程序設計語言非常少,而且真正了解如何在這些環境中有效地編寫程序的人很少。非馮·諾依曼語言的例子包括為數據流機使用的Lucid語言、為量子計算機使用的量子計算語言(QCL),以及用于FPGA編程的VHDL或Verilog語言。我們在下一節中會看到,即使在并行機編程中存在固有的困難,這個領域也正在取得重大進展。

      計算 存儲 硬件開發

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel餅圖的建立教程
      下一篇:怎樣取消文檔自動變成公式
      相關文章
      亚洲av午夜精品一区二区三区| 亚洲人成影院午夜网站| 亚洲精品国产品国语在线| 亚洲AV无码AV吞精久久| 亚洲一欧洲中文字幕在线| 亚洲精品成人久久| 亚洲麻豆精品果冻传媒| 精品亚洲视频在线观看| 国产L精品国产亚洲区久久| 国产精品亚洲专区在线播放| 亚洲sm另类一区二区三区| 亚洲国产成人久久精品大牛影视| 最新国产精品亚洲| 精品国产日韩亚洲一区91| 亚洲中文字幕久在线| 亚洲第一永久在线观看| 麻豆亚洲av熟女国产一区二| 亚洲精品线在线观看| 亚洲美女aⅴ久久久91| 亚洲精品91在线| 亚洲人成网站在线观看播放青青| 亚洲最大在线视频| 亚洲校园春色另类激情| 亚洲中文字幕无码中文字| 亚洲av最新在线观看网址| 午夜在线亚洲男人午在线| 亚洲日本中文字幕一区二区三区| 中文字幕亚洲一区二区三区 | 亚洲国产精品综合久久网各 | 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲精品美女久久777777| 国产亚洲成AV人片在线观黄桃| 久久精品国产亚洲一区二区| 亚洲成AV人片在线观看无| 亚洲情a成黄在线观看动漫尤物| 亚洲经典在线观看| 亚洲最大福利视频| 蜜臀亚洲AV无码精品国产午夜.| 亚洲男人第一无码aⅴ网站| 国产亚洲大尺度无码无码专线| 国产精品国产亚洲精品看不卡|