也說伺服器雙核技術

來源:互聯網
上載者:User
伺服器

    最近這段時間,隨著Intel正式發布其雙核心XEON處理器和國內外多家廠商的積極跟進,人們對雙核心這個已經一度冷淡下來的技術似乎又提起了很大的興趣。

    什麼是雙核技術,相信大部分人都可以理解,但是為什麼要使用雙核?它能夠給我們帶來哪些好處?怎麼用才能發揮雙核的真正威力?這些問題還是缺少比較明確的回覆。其實國內幾個專業媒體也發表了一些技術文章探討過這方面的話題,不過都有點以DIY的角度去分析雙核這種味道。我們覺得,雙核處理器在個人電腦上的應用價值和普及速度應該是遠趕不上這種技術用於伺服器領域,因此,今天筆者就完全站在伺服器應用的立場,結合自己的一些觀點,給大家談談雙核技術:

什麼是雙核技術?

    採用一種比較容易被大家接受的說法,雙核處理器就是基於單個半導體的一個處理器上擁有兩個一樣功能的處理器核心,但是,這種說法很難在本質上解釋雙核心誕生的的原因,如果要追究雙核的起源,還得從一些物理和電子的基礎知識談起:

無法克服的功耗和發熱量

    現在的晶片都是在單晶矽大圓片上製成的,大面積的圓片本身也難免存在一些缺陷,生產中的流程有時候也會給矽晶體帶來缺陷。另外雖然工廠的清潔程度非常之高,但在生產過程中還是免不了帶入一些雜質,互連層在製造中也會引入自己的缺陷形式。這樣大規模的晶片很難保證全無任何缺陷。現在半導體進入90納米以下的工藝,缺陷和雜質帶來的影響就更為普遍,晶體管的尺寸已經和某些缺陷或雜質的尺寸在一個量級,甚至晶體管尺寸更小。一般來說,非致命的缺陷會造成電路效能下降,為彌補缺陷帶來的損失,就需要給電路更高的電壓和更大的電流,許多缺陷在降低晶體管效能的同時還會增加晶體管的功耗,以前CMOS數字電路的主要功耗是工作時的動態功耗,但到了90nm工藝以後,情況發生了很大變化,許多原來基本可以忽略不計的功耗因素現在都佔據了較大的比重,例如電路互連損耗,泄漏損耗。其中,泄漏損耗的影響急劇增加。這就是為什麼採用0.09微米工藝之後,各種處理器的發熱量和功耗還是一路呈攀升趨勢的原因,高頻的Prescott處理器功耗將近100W,要知道,一個可以把焊錫快速融化的電烙鐵也不過50W左右,因此,高功耗和嚇人的發熱量成為CPU繼續向高頻挺進的一大障礙,當時就有很多人預言,4GHz的處理器誕生之後,大家將可以通過CPU散熱片來煮雞蛋。

高頻之外的解決方案

    既然無法通過繼續提升頻率來實現更高的頻率,那麼使用者對產品效能提升的需要應該如何得到滿足?

    第一種做法當然是使用64位技術,為什麼64位元運算會比32位元運算效能強大,這個比較好理解,例如你使用32位的CPU,要向外輸出一個64位的資料,需要消耗兩個時脈,但是如果你使用64位的CPU,只要一個時脈就完成了。

    另外一種做法就是使用多路對稱技術,其基本理論當然就是用兩個處理器去完成一個處理器做的事,看上去就跟磁碟陣列技術一樣,RAID 0就是使用兩塊硬碟來同時存取一個檔案,各存取一半,因此花費的時間減半,假如使用4塊硬碟,就是每塊各存取1/4,所需時間自然更短;CPU的多路對稱工作原理也是這樣的,因此,中高端的伺服器很多都使用4路、8路配備,就是為了提高產品效能。

多路對稱的難處

    要通過2個甚至4個硬碟實現高效能的陣列儲存並不難,安裝RAID控制器驅動即可,因為RAID控制器會自動控制各塊硬碟的工作方式,程式員或者說CPU只要告訴RAID控制器要讀出或寫入什麼資料,具體怎麼分拆資料,幾塊硬碟如何分配讀寫等問題根本不需要電腦使用者、編程人員考慮,因此原有作業系統和軟體都不需要進行改動;但是CPU的多路對稱工作就不同了,因為電腦的所有指令都是經CPU去執行的,要是編程人員只下令CPU去執行什麼指令而不告訴電腦哪顆CPU去執行這條指令,那麼就會天下大亂,而且如果是兩顆CPU,指令的調度分配還比較好設計,如果是4-8顆,那麼情況就非常複雜,就像兩台電梯的聯合控製程序容易寫,但是4台電梯的聯合控製程序非常難寫一樣,因為他們之間是2的2次方跟4的2次方這種關係。

    另外,由於多核心晶片將兩個或更多的獨立CPU核心整合在一塊矽片上,一些人懷疑它們致命的弱點會是這些CPU核心之間的資料移動,當多核心系統運行爭奪同一條I/O路徑的不同應用程式時,存在一些效能瓶頸。不過到目前為止,這些瓶頸的影響很小。

如何用好多路對稱

    多路對稱工作模式需要程式員設計的軟體本身就能支援多個CPU的指令調度,這樣所有CPU才是以最合理最高效的調度安排去協同工作。由於應用軟體大多都是採用大量的API函數開發的,所以擔任指令-機器互動角色的作業系統就是多路對稱開發的根本和關鍵所在,一套作業系統能不能很好的協調多個CPU之間的工作關係,是多路模式能否成功發揮其效能的關鍵。

    微軟的SERVER級作業系統都支援多路模式,最新的2003 SERVER還改進了多路對稱的指令調度設計,使伺服器在多路模式下效能可以更加出色。另外,應用程式本身的設計也是多路對稱工作效果的決定性因素,例如,現在的3D遊戲都是基於單線程開發的,也就是說遊戲運行時不會叫用作業系統的多線程函數,這樣的話即使是使用支援多路對稱的作業系統,仍然無法提升應用程式的執行效率,因此,大家可以注意到,至今為止多路設計還是只出現在伺服器、工作站等高端領域,因為從成本和效果上看,在個人消費領域使用多路設計都是很不明智的。

雙核的優勢:

雙核的難處

    雙核技術的思想跟多路對稱是一樣的,只不過它實現的方式不再需要兩個CPU和兩個CPU插槽,而是跟普通單路配置一樣,一顆CPU搭載兩個核心,也就是1 die 2 cores,在一片單晶矽上整合了2個核心,當然,這在製作上難度是相當大的,因為雙核設計意味著晶體管的數量將倍增,因此,在生產工藝沒有太大改進的前提下,成品率會降低。

    另外,雙核心既然需要更多的晶體管,就意味著它的發熱量會更大,如何解決CPU的散熱問題也是非常令處理器廠商頭痛的,正如大家所見,目前市面上的雙核處理器基本都不敢出高頻版本,其中一個重要因素就是發熱量的問題;只有當廠商改進生產工藝,減少CPU內部由於瑕疵引起的功率損耗和電泄漏問題之後,才有可能往高頻的版本發展。

    還有一個問題,就跟多路對稱一樣,雙核也需要作業系統和應用軟體的支援才能發揮其效能,雖然現在的伺服器作業系統可以為雙核提供不錯的支援,很多分布式應用軟體在雙核模式下也取得了令人滿意的成績,但是,對於雙核的軟體計費卻成為令人頭痛的問題,一些資料庫系統和應用軟體廠商之前對於多路伺服器的多個處理器是有額外許可證收費設計的,三家最大的軟體廠商採取了不同的許可方式:IBM將根據不同的情況做出許可決定,Oracle將雙核心晶片算為兩個晶片,微軟則打算將雙核心晶片作為單個晶片來對待。

雙核的優勢

    既然推廣雙核技術有著如此大的難度,那麼,雙核技術的優勢究竟何在?

    首先,雙核可以提供跟雙路一樣出色的科學計算效能和多執行緒能力,這就是為什麼我們一直強調說多核處理器應該先在伺服器領域推廣,而不是先用於個人消費領域,畢竟科學計算中針對多線程開發的軟體還是非常多的。

    另外,AMD和Intel的雙核都可以與目前的平台架構相容,它們的雙核心處理器均能在對應的單核主板上正常工作,這就意味著使用者升級到雙路和多路的成本可以得到很大的節省,因為一塊支援雙路的主板售價要比一塊單路的主板貴80-100%,如果採用雙核處理器,使用者就可以使用單路的主板實現雙路的效能,而成本上卻節省了不少,這對於那些需要高效能多路產品的使用者來說無疑是一大福音。

  

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。