摘要:為解決單核技術瓶頸,延續摩爾定律的影響,多核越來越受到計算機界的重視,各種多核產品已面世,研究多核(multicore)愈發重要。
關鍵詞:多核;體系結構
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)14-3823-02
An Simple Analyse of Multicore
WANG Xiao-hui,XIE Gui-xing
(Zhaoyuan Municipal Bureau of RadioTelevision,Zhaoyuan 265400,China)
Abstract: Multicore processors are the way to solve the bottleneck of von Neumann computer architectures. Since Dual-core processors have been used in most desktop and laptop computers, research of multicore has became more and more important.
Key words: multicore; architectures
1 多核介紹
多核處理器運用功率和頻率之間的基本關系原理。通過將多個內核整合在一起,每個內核能夠在較低的頻率下運行,從而各個單內核的功耗下降而且分攤到多個內核上。由此得到的結果就是性能大幅超過單核處理器。
以下圖表基于英特爾實驗室中使用常見工作負載所得到的實驗結果,這些數據充分表現了該技術的主要優勢:
1) 時鐘頻率增加20%(tc),單核性能提高13%,但需要增加73%的功耗,相反的,降低20%的時鐘頻率可以相應減少49%的功耗,但也會造成13%的性能損失。如圖1。
2) 以上表的降頻為例,增加第二個內核,就得到一個雙核處理器,降低20%的時鐘頻率,可以有效提升73%的性能,而功耗則相當于最大頻率時的單核處理器。如圖2。
這種功耗和頻率的基本對應關系能夠有效用于增加內核的數目,從兩個到四個,到八個甚至更多,這樣就能在不增加功耗的情況下不斷提高性能。
當一個芯片集成的核心數達到幾十,幾百甚至幾千時,多核(multicore)則變成眾核(manycore),而Many Core的區別不僅在于核心數量上多于multicore,另一個區別是Multi-Core的核心是每顆完全相同x86處理器核心,而Many Core則是x86核心配合特定用途的核心,例如當遇上一些特定的運算工作,主要核心將可指派至處理器內專門為這類工作設計的核心以達至加速。例如用家需要為H.264影片解碼,一般x86核心并非專門為這種解碼運算而生,因此效率偏低,而Many Core技術則可以把這種工作交由專門負責影片編輯的核心工作。
2 多核對于體系結構的影響
隨著多核成為趨勢,原有單核計算機的體系結構不能有效的實現并行,故出現了多種多核體系結構。這些體系結構的核心思想無疑都是為了更好的實現并行化。這些體系結構在某些關鍵點不同(或者每個核均有一個cache,或者幾個核共享一個cache,核間連接的拓撲結構不同等等)
廣泛來說,這些體系結構間的不同可以分成幾個類別,他們的影響可以從下面三個方面來研究:1)片內多核間通信(intra-CMP),2)單一系統的片間通信(inter-CMP),3)不同物理系統間通信(inter-node)。圖3顯示出這三個方面的區別。
Intra-CMP:如圖3所示的,多種Intra-CMP體系結構的某些關鍵點不同,如intel的多核體系結構提供了一個共享的cache。將來可能片內核與核間可通過一跳或幾跳直接連接。而AMD的每個核均有一個單獨的cache,同樣,這種體系結構核間可以通過一跳或幾跳直接連接。IBM體系結構的最大特點是它的核的多樣性的使用,其中一個核要比其他的核更強大。最后一種sun公司的體系結構最大的特點是可支持SMT(每個核最大可執行4個線程),但它的缺點是所有的核共享一個FPU。
Inter-CMP:對于inter-CMP,同樣存在多種不同的體系結構。這些體系結構間的不同主要有以下幾個方面:是否存在一個三級cache,不同片間的連接拓撲結構(單跳或多跳,專用總線或共享總線),內存結構(每個片有自己單獨的內存還是通過UMA或NUMA存取模式共享內存)。
Inter-node:對于inter-node,雖然實際通信依賴于使用的高速網絡的類型,但通信的協議處理主要還是依賴于獨特的inter-CMP和intra-CMP的結構和協議處理是怎么完成的。
對于未來核心數的不斷增加,Satnam Singh認為未來的多核體系結構有必要多樣化,提供更多有意義的編程挑戰。一個多核系統的實例可能包含幾個x86核心和許多簡化的核心(可能含有不同的微體系結構和指令集),多核系統的開發,有必要將各領域的專家(體系結構,語言,驗證,模型)整合在一起,進行學科間交叉。高校的研究員與工業界研究員合作是很有必要的。而花費大量有效工作量去評測體系結構是很重要的,可是這些工作量經常是高校研究員所缺乏的。一個被稱為Metropolis的多核系統如圖4。
3 小結
目前多核體系結構的設計仍面臨著眾多挑戰:功率極限,設計與評測成本,低成品率,高錯誤率等。處理器的多樣性以及特別處理單元也許是多核處理器的未來。
參考文獻:
[1] Krste Asanovic, Ras Bodik.The Parallel Computing Landscape: A View from Berkeley 2.0.
[2] Making the Most of Multicore.
[3] intel多核處理器白皮書.
[4] Satnam Singh Many-core Architecture and Programming Challenges.