色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 設計應用 > 軟件支持成“軟肋” 發(fā)展多核困惑重重

          軟件支持成“軟肋” 發(fā)展多核困惑重重

          ——
          作者: 時間:2007-09-26 來源:計世網(wǎng) 收藏
          心的思想并不新鮮,制造工藝的上的局限導致了直到目前處理器在成本上才有跟以前單核處理器相當?shù)乃疁?。當然,即便是最先進的65nm工藝,制造一塊兩個核心以上的處理器,成本依然還相當高昂。 

            眾“核”難調(diào)

            即便是在制造上沒有大問題,就處理器的系統(tǒng)結構而言,處理器依然面臨大問題。如果僅僅簡單地考慮多核的物理連接,而沒有充分考慮到處理器的運行和使用模式,將極大限制處理器的利用率,尤其是在處理有資源沖突應用的時候,多個核心之間的資源調(diào)配就成了效率關鍵。在目前的算法條件下,還沒有更好的控制兩個以上處理器合理調(diào)配資源的方法。這并非因為無法實現(xiàn)更好的算法從而充分調(diào)配處理器資源,而是因為目前多核處理器普遍的算法相對比較簡單。

            總體來看,算法無法知道具體的可用資源,并且硬件的搭配因為成本問題沒有充分考慮一些意外情況,因而,以“同類”思想考慮的處理器在面對“異類”運算時就會變得效率低下。

            現(xiàn)在,多核處理器有多種安排形式,AMD的雙核、Intel的Pentium D以及IBM的Cell架構乃是其中幾種代表。

            Intel很早就通過超線程技術實現(xiàn)了邏輯上的雙處理器系統(tǒng),但這不過是對處理器閑置資源的一種充分利用而已,并且這種充分利用只有在特定的條件下才會比較合適,尤其是針對流水線比較長,而兩種運算并不相互交叉的時候,才會有較高的效率。但像編碼解碼、長期重復某種矩陣運算、一些沒有經(jīng)過仔細編寫的,似乎并不能充分利用這個特性。

            即使IBM的Power5架構,也需要跟最新的操作系統(tǒng)進行融合,加上運行在其上的,才有可能利用并發(fā)多線程。這是物理上多核系統(tǒng)的資源利用的一個映射,至少可以說明,僅僅通過操作系統(tǒng)忙乎還遠遠不夠。

            目前條件下,Intel的多核系統(tǒng)和AMD有根本不同。根據(jù)多核處理器系統(tǒng)強調(diào)可擴展性的特點來看,目前的Pentium D并不是一個良好的多核解決方案。并且,在流媒體時代,高清晰的內(nèi)容需要處理器作為一個數(shù)據(jù)中心,不僅告訴處理器數(shù)據(jù),還需要高速傳輸數(shù)據(jù),僅僅是把兩個核心安排在一個處理器內(nèi),無法實現(xiàn)根本轉變。

            I/O成瓶頸

            由于兩個核心只能共用一個I/O通道,當兩個核心之間的數(shù)據(jù)進行交流的時候,就無法再從外部讀入數(shù)據(jù)從而利用兩者的時間差實現(xiàn)資源的有效搭配和利用。盡管兩個核心之間可以并行運算,但就整個系統(tǒng)而言,無法實現(xiàn)真正的流水線操作。

            加上分離的緩存結構需要取得一致性,兩個內(nèi)核之間的交流變得經(jīng)常而且頻繁,這實際上也會降低處理器的效率,因此Pentium D在技術上并不被看好。

            AMD因為通過引入HyperTransport,部分解決了這個問題,并且因為處理器內(nèi)部自己有獨立的內(nèi)存控制器,可以獨立訪問內(nèi)存,兩個核心之間的行為具有相對獨立性,數(shù)據(jù)相關變得很小。因而一些測試表明,其隨機處理數(shù)據(jù)的能力要高于Pentium D。

            AMD64的最大特性是引入了HyperTransport,它的良好擴展性使得處理器實現(xiàn)多核、多處理器系統(tǒng)相對容易一些,并且,多處理器擴展的效果也非常好,這是它能夠在桌面雙核領域暫時領先的重要原因??紤]到這些,Intel可能也會在合適的時候引入類似架構。

            Cell的多核實現(xiàn)起來并不完全一樣,因為制造太復雜,估計到65nm的時候,這個處理器才能夠在成本上具有競爭力。與其他基于對稱多處理器不同的是,這個處理器把重心放在了運算基元之上,從而能夠把處理器應用到面對不同的應用類型,它其中包含的核心更多是以運算的基礎元件形式存在的。因而,即便在內(nèi)部,也是按照一個系統(tǒng)的思想來實現(xiàn)的,各個運算單元之間有高速的連接通道,除了主控處理器用來分配任務從而形成運算的流水線思想外,其余幾個并不是具有很完善的運算能力。這幾種系統(tǒng)都面臨同樣的問題:I/O將是最嚴重的瓶頸。

            虛擬化在一定程度上能夠處理一些因為多核帶來的問題,可以讓應用和操作系統(tǒng)在透明的環(huán)境下對處理器資源進行分配和管理。

            軟件是軟肋

            即使桌面操作系統(tǒng)支持雙處理器,也需要很長一段時間。目前在對稱多處理器方面,操作系統(tǒng)對資源的分配和管理并沒有本質(zhì)的改變,多以對稱的方式進行平均分配。

            也就是說,在操作系統(tǒng)層面,當一個任務到來時,剝離成為兩個并行的線程,因為線程之間需要交流以及操作系統(tǒng)監(jiān)管,它導致的效率損失要比硬件層面的大得多。并且,多數(shù)軟件并沒有充分考慮到雙核乃至多核的運行情況,導致線程的平均分配時間以及線程之間的溝通時間都會大大增加,尤其是當線程需要反復訪問內(nèi)存的時候。比如做一個FFT測試時,由軟件和硬件構成的系統(tǒng)將呈現(xiàn)出巨大差異,這時Pentium D將被完全擊倒。這不是Pentium D的錯,多數(shù)操作系統(tǒng)還沒有完全實現(xiàn)自由的資源分配。IBM也是通過AIX 5.3L在支持更自由的虛擬化Power5上,實現(xiàn)了資源的動態(tài)調(diào)配和劃分。

            從長遠來看,需要使用虛擬化技術才可能實現(xiàn)操作系統(tǒng)對任務的具體劃分,這很可能改變一些通用的模式。不僅操作系統(tǒng)層面無法完全解決這個問題,就是軟件在編寫的時候其編譯器都無法充分解決這個問題。

            面對多核系統(tǒng),需要有并行的思想才有可能充分利用資源,而人類的思維模型習慣于線性思維,對“面”或者更為復雜的立體模式,效率會下降很多。

            軟件的缺失給多核蒙上了一些陰影。盡管用戶在充滿希望地期待著,但思維完全的改變,不是一朝一夕的事情。更重要的是,一些表現(xiàn)多核處理能力的輸出系統(tǒng)無法承受這樣的運算量。

            現(xiàn)在能充分享受到多核系統(tǒng)的用戶依然還是企業(yè)級用戶,那些專門進行密集計算的用戶可以充分利用多核節(jié)省下來的空間,大大增加計算密度,從而降低整體管理費用。

            對于一些線性模型,如Google的查找算法,對處理器系統(tǒng)的要求是多多益善。一些用于網(wǎng)絡游戲的服務器,也能夠從多核之中看到可支持用戶數(shù)量的成倍增長。對于一些需要科學運算的石化、石油勘探等大量數(shù)據(jù)轉換來說,不僅需要多核,還需要大量的顯示芯片實現(xiàn)數(shù)據(jù)的可視化。

            本來,多核在可視化領域具有遠大前途,渲染速度可以加倍,矩陣運算容量可以大增,可惜現(xiàn)在的OpenGL還太可惡,很難拆分數(shù)據(jù)封裝。

            在仿真領域,大量的多核可以充分模擬仿真的網(wǎng)格特性,因而可以充分利用在氣象等高密度計算中。

            有人說,多核系統(tǒng)可以提高多任務的性能,可以同時做很多事情,但須知,人是需要專心的動物。我看,多核的真正春天要寄托在家庭服務器上,只有這時候,電腦轉變成為數(shù)字家庭的數(shù)據(jù)存儲和運算中心,它的多核意義才會凸顯。

            無論如何,需要把眼光放在軟件端才是正途,至于使用幾個核的處理器,讓開發(fā)人員去思考好了。 


          評論


          相關推薦

          技術專區(qū)

          關閉