多核處理器會損害超級計算機的性能?
—— 閱讀:10608次
幾年前,CPU廠商達到了性能的極限,不能進一步加快其處理器的速度,提高性能的解決方案就是采用多核。可是,這種做法對于提升性能并沒有多少幫助。位于新墨西哥州的Sandia國家實驗室的工程師進行的測試表明,多核處理器在高性能計算的某些方面甚至會破壞性能。
這個問題是兩方面的。第一,正如500強超級計算機排行榜顯示的那樣,許多系統(tǒng)主要是以x86架構(gòu)為基礎(chǔ)的,而x86從來就不是超級計算機的處理器。x86架構(gòu)有內(nèi)存帶寬和內(nèi)存管理的局限性,這在PC上不會出現(xiàn),但是,在超級計算機上就不一樣了。
Sandia國家實驗室的工程師發(fā)現(xiàn),增加的內(nèi)核數(shù)量越多,性能就下降得越多,因為內(nèi)存跟不上CPU的性能。此外,英特爾和AMD現(xiàn)在的研發(fā)重點是時鐘速度較慢的四核處理器,而不是雙核。這樣,CPU的速度也減慢了。
IDC負責高性能計算的高級分析師Steve Conway說,這個問題已經(jīng)出現(xiàn)了很長時間,多核使這個問題更嚴重了。x86處理器從來不是為高性能計算設(shè)計的,因為處理器不能以很高的速度相互通訊。
IDC在調(diào)查高性能計算的使用問題,到目前為止,21%的接受調(diào)查的機構(gòu)表示他們發(fā)現(xiàn)自己的應用程序在新硬件上運行時性能不如在老硬件上運行那樣好。50%以上的受訪者表示,在未來12至24個月里,HPC都將處于這種狀態(tài)。
國際電氣電子工程師學會(IEEE)出版的《IEEE綜覽》發(fā)表的一篇文章解決了內(nèi)存的問題,Sandia國家實驗室的工程師發(fā)現(xiàn)這個問題與CPU和內(nèi)存之間的連接有關(guān)。
前端總線一直被認為是CPU與內(nèi)存之間的瓶頸,因為所有四個內(nèi)核都需要通過一個總線。雖然每個處理器上內(nèi)核數(shù)量在增加(英特爾已經(jīng)推出了6核Xeon處理器并且計劃明年推出8核Nehalem處理器),但是,CPU與內(nèi)存之間的連接數(shù)量沒有增加。
還有其它一些引起性能下降的問題。許多應用程序不適合并行運行,它們在4GHz或者5GHz的單核處理器上運行的性能要好于在2GHz的8核處理器上運行,這完全取決于應用程序的性質(zhì)。
一般認為,并行程序最適合在多核處理器上運行,因為工作能夠分成許多份并且分配給所有的內(nèi)核,并且每個內(nèi)核都不依賴于其它內(nèi)核完成工作的情況。
一些分布式計算計劃是這種應用的理想使用環(huán)境,每一個客戶從大量的數(shù)據(jù)中選擇一部分數(shù)據(jù)并且處理這個數(shù)據(jù),不依賴于其他任何人的工作。
但是,當步驟A的結(jié)果需要處理步驟B的時候,步驟B在得到它需要的數(shù)據(jù)之前停滯不前,所有的并行計算在這個領(lǐng)域都是沒有用的。
超級計算機面臨的第三個問題是它們龐大的物理體積。超級計算機現(xiàn)在由一排一排的機架式服務器或者刀片式服務器組成。當一個內(nèi)核需要的數(shù)據(jù)在80英尺以外的一個機架上的內(nèi)存中的時候,會出現(xiàn)什么情況呢?長時間的等待。
IDC分析師Conway說,這個問題在AMD的Opteron處理器上也存在,盡管AMD的這種處理器沒有前端總線。采用單核處理器,你可以有x數(shù)量的內(nèi)存,F(xiàn)在,處理器有四個內(nèi)核,每個內(nèi)核擁有四分之一的那個內(nèi)存的帶寬。