http://kadhoai.com.cn 2026-04-26 16:03:44 來源:服務器在線
計算機領域正在發生著悄無聲息的革命。英特爾,AMD及(ji)其(qi)他(ta)芯(xin)片(pian)製(zhi)造(zao)商(shang)不(bu)斷(duan)推(tui)出(chu)在(zai)單(dan)晶(jing)片(pian)上(shang)集(ji)成(cheng)多(duo)重(zhong)處(chu)理(li)單(dan)元(yuan)的(de)新(xin)型(xing)芯(xin)片(pian)。取(qu)代(dai)過(guo)去(qu)的(de)單(dan)一(yi)中(zhong)央(yang)處(chu)理(li)器(qi),計(ji)算(suan)機(ji)目(mu)前(qian)正(zheng)在(zai)步(bu)入(ru)多(duo)核(he)時(shi)代(dai)。盡(jin)管(guan)這(zhe)項(xiang)技(ji)術(shu)對(dui)我(wo)們(men)而(er)言(yan)並(bing)不(bu)是(shi)新(xin)鮮(xian)事(shi)物(wu),但(dan)這(zhe)是(shi)這(zhe)種(zhong)類(lei)型(xing)的(de)體(ti)係(xi)架(jia)構(gou)首(shou)次(ci)大(da)規(gui)模(mo)運(yun)用(yong)於(yu)商(shang)用(yong)個(ge)人(ren)電(dian)腦(nao)和(he)服(fu)務(wu)器(qi)市(shi)場(chang)。
zhechangbiangejiangyingxiangdaomeiweijisuanjiyonghu。duohejishudechujiaoyijingshenrudaofuwuqi,bijibendiannaoshenzhiyouxijikongzhitailingyu。congzuizhongyonghudejiaodulaikan,zhezhongbiangedeyingxiangshiqianyimohuade。ranergenjuguoquershiniandejingyanyaohuoquxiangyingdexingnengsuofuchudejiageyuqihaishigeweizhishu。chengxushejizhemenhuifaxianyaoshixianduoheshejidexingnengyeshiyixiangchongmantiaozhandejianjurenwu,tebieshixianzaihaimeiyouyilaoyongyidebanfahezidonghuajishunengshiyingduohexitongshangyunxingdexianxingruanjian。
指路多核
jisuanjishichangchangqiyilaiyizhizaichuliqisudushangwenbuqianjin。chuliqidesuduhendachengdushangqujueyushizhongpinlvchuandigeichuliqizhixingzhilingdesuduyouduokuai。shizhongpinlvyuekuai,chuliqizaizhidingshizhenneizhixingdezhilingshumujiuyueduo。bandaotidewulitexingduichuliqishizhongpinlvsududetishenghuiyouxianzhi。zhezhongqushikeyicongtushiyizhongqingchudexianshi,congzhongkeyikandaoyingteerheAMD處理器隨著時間推移平均時鍾頻率和熱量消耗的情況。
從cong這zhe張zhang能neng量liang消xiao耗hao曲qu線xian圖tu上shang看kan,能neng量liang消xiao耗hao的de持chi續xu攀pan升sheng要yao求qiu更geng多duo的de冷leng卻que和he電dian力li服fu務wu來lai維wei持chi處chu理li器qi的de運yun行xing。解jie決jue方fang案an就jiu是shi要yao增zeng加jia處chu理li器qi內nei核he的de比bi例li來lai取qu代dai單dan純chun提ti升sheng時shi鍾zhong頻pin率lv。這zhe張zhang圖tu中zhong時shi鍾zhong頻pin率lv的de下xia降jiang是shi指zhiAMD公gong司si和he英ying特te爾er公gong司si的de首shou款kuan雙shuang核he處chu理li器qi的de麵mian世shi。這zhe些xie處chu理li器qi的de設she計ji考kao慮lv到dao熱re量liang的de問wen題ti,相xiang對dui單dan核he處chu理li器qi設she計ji的de時shi鍾zhong頻pin率lv要yao低di。雙shuang核he芯xin片pian從cong過guo往wang經jing驗yan來lai看kan,能neng達da到dao單dan核he芯xin片pian兩liang倍bei的de性xing能neng,從cong而er能neng幫bang助zhu處chu理li器qi的de性xing能neng不bu斷duan進jin步bu。
多核發展之路
目前英特爾公司和AMD公司都推出了自己的多核處理器。雙核和四核處理器目前已經投入市場。從公司的市場導向來看,他們還計劃在2009年到2010年陸續推出八核處理器。大致時間表如下:
2005年雙核處理器
2007年四核處理器
2009年+八核處理器
服務器和工作站傳統上都是使用雙路處理器。這就意味著到2010年底每個母板上核心的總數量能輕易的達到16個。另外,AMD和英特爾處理器都提供四路甚至八路插槽設計。從八路核心由此類推就意味著在不久的將來六十個四核服務器也並非不能實現的預期。[page_break]
多核麵臨的挑戰
duohechuliqidegeminggeizhenggejisuanjilingyudailaileqiansuoweiyoudetiaozhanhejiyu。yifangmian,duoheyiweizhezaitongyangdekongjianneishixiangengduodejisuangongxiao。lingyifangmian,chuliqitixijiagoudegenbenxingbianhuayaoxiangchongfenliyongzhexiechuliqi,biqizhiqiandeshejijiugengjutiaozhanxing。
麵臨的挑戰之一就是軟件,概述如下:
現有的軟件如果不做改變,就無法利用目前不斷進步的處理器所提供的多核性能。
為(wei)了(le)充(chong)分(fen)利(li)用(yong)多(duo)核(he),程(cheng)序(xu)需(xu)要(yao)同(tong)時(shi)做(zuo)很(hen)多(duo)事(shi)情(qing)。這(zhe)種(zhong)行(xing)為(wei)通(tong)常(chang)被(bei)稱(cheng)為(wei)並(bing)行(xing)計(ji)算(suan)。並(bing)行(xing)程(cheng)序(xu)如(ru)果(guo)編(bian)譯(yi)正(zheng)確(que),執(zhi)行(xing)指(zhi)令(ling)的(de)速(su)度(du)將(jiang)比(bi)傳(chuan)統(tong)的(de)串(chuan)行(xing)程(cheng)序(xu)要(yao)快(kuai)很(hen)多(duo),因(yin)為(wei)它(ta)能(neng)將(jiang)工(gong)作(zuo)負(fu)載(zai)按(an)照(zhao)不(bu)同(tong)需(xu)求(qiu)分(fen)配(pei)給(gei)處(chu)理(li)器(qi)的(de)不(bu)同(tong)核(he)心(xin)。而(er)傳(chuan)統(tong)的(de)串(chuan)行(xing)程(cheng)序(xu)隻(zhi)能(neng)利(li)用(yong)一(yi)個(ge)核(he)心(xin)。確(que)實(shi)這(zhe)種(zhong)程(cheng)序(xu)編(bian)譯(yi)方(fang)式(shi)也(ye)隻(zhi)能(neng)識(shi)別(bie)一(yi)個(ge)核(he)心(xin)!
多核帶來的影響
從cong最zui終zhong用yong戶hu的de角jiao度du來lai看kan多duo核he對dui工gong作zuo負fu載zai的de影ying響xiang更geng為wei直zhi接jie。舉ju例li來lai說shuo,你ni的de工gong作zuo負fu載zai要yao同tong時shi執zhi行xing不bu同tong的de任ren務wu,此ci時shi多duo核he係xi統tong就jiu能neng馬ma上shang發fa揮hui它ta的de優you勢shi所suo在zai。比bi如ru,你ni在zai網wang絡luo上shang觀guan看kan視shi頻pin的de同tong時shi,你ni的de計ji算suan機ji正zheng在zai準zhun備bei打da印yin一yi份fen大da型xing文wen檔dang作zuo業ye。多duo核he係xi統tong就jiu能neng協xie助zhu你ni同tong時shi完wan成cheng這zhe些xie作zuo業ye。如ru果guo他ta們men不bu是shi采cai用yong並bing行xing設she計ji的de話hua,獨du立li的de應ying用yong程cheng序xu將jiang不bu可ke能neng超chao越yue單dan核he的de速su度du。
yingyongchengxudeshejizhemenweilemanzuduohedexuqiuxuyaohuafeishijianduidaimajinxingshengjiheceshi。zaibingxingchengxushejishangmeiyoujiandanhuozhezidonghuadejiejingkexun,yinciduohecaidan(MCCB)的設計就需要付出更多的努力。除了研發多核應用軟件需要花費額外的心血外,還要適應不斷湧現的全新概念。
內存之爭
從(cong)定(ding)義(yi)上(shang)說(shuo),所(suo)有(you)的(de)多(duo)核(he)係(xi)統(tong)都(dou)必(bi)須(xu)共(gong)享(xiang)內(nei)存(cun)。設(she)計(ji)內(nei)存(cun)子(zi)係(xi)統(tong)能(neng)讓(rang)核(he)心(xin)之(zhi)間(jian)的(de)爭(zheng)奪(duo)最(zui)小(xiao)化(hua),但(dan)是(shi)仍(reng)然(ran)會(hui)出(chu)現(xian)內(nei)存(cun)空(kong)間(jian)為(wei)兩(liang)個(ge)或(huo)者(zhe)更(geng)多(duo)內(nei)核(he)所(suo)用(yong)的(de)時(shi)候(hou)。這(zhe)種(zhong)情(qing)況(kuang)在(zai)很(hen)多(duo)時(shi)候(hou)就(jiu)會(hui)導(dao)致(zhi)性(xing)能(neng)問(wen)題(ti)或(huo)者(zhe)性(xing)能(neng)衰(shuai)減(jian)。
資源之爭
與傳統的單核處理器不同,多核係統的每個核心都必須共享本地資源。除了內存之外,這些資源還包括硬盤,網絡連接,PCI總線和個人電腦,工作站或者服務器的其他組件。
ProgramLocality
在(zai)多(duo)核(he)係(xi)統(tong)中(zhong),應(ying)用(yong)程(cheng)序(xu)在(zai)那(na)個(ge)核(he)心(xin)上(shang)運(yun)行(xing)取(qu)決(jue)於(yu)操(cao)作(zuo)係(xi)統(tong)。操(cao)作(zuo)係(xi)統(tong)會(hui)盡(jin)可(ke)能(neng)的(de)讓(rang)所(suo)有(you)的(de)核(he)心(xin)的(de)工(gong)作(zuo)負(fu)載(zai)均(jun)等(deng)。通(tong)過(guo)在(zai)核(he)心(xin)間(jian)對(dui)程(cheng)序(xu)進(jin)行(xing)遷(qian)移(yi)來(lai)實(shi)現(xian)分(fen)配(pei)。如(ru)果(guo)萬(wan)一(yi)程(cheng)序(xu)遷(qian)移(yi)所(suo)在(zai)的(de)核(he)心(xin)無(wu)法(fa)使(shi)用(yong)同(tong)樣(yang)的(de)高(gao)速(su)緩(huan)存(cun)或(huo)者(zhe)本(ben)地(di)內(nei)存(cun)資(zi)源(yuan),那(na)麼(me)程(cheng)序(xu)就(jiu)會(hui)喪(sang)失(shi)高(gao)速(su)緩(huan)存(cun)數(shu)據(ju)的(de)優(you)勢(shi)所(suo)在(zai),性(xing)能(neng)也(ye)會(hui)因(yin)此(ci)衰(shuai)減(jian)。[page_break]
新的錯誤類型
多(duo)核(he)也(ye)會(hui)引(yin)發(fa)程(cheng)序(xu)設(she)計(ji)中(zhong)新(xin)的(de)錯(cuo)誤(wu)類(lei)型(xing)。這(zhe)種(zhong)情(qing)況(kuang)的(de)出(chu)現(xian)是(shi)因(yin)為(wei)在(zai)核(he)心(xin)間(jian)新(xin)的(de)時(shi)間(jian)動(dong)態(tai)分(fen)配(pei)出(chu)現(xian)了(le)問(wen)題(ti)。當(dang)核(he)心(xin)都(dou)在(zai)互(hu)相(xiang)等(deng)待(dai)和(he)凍(dong)結(jie)或(huo)者(zhe)他(ta)們(men)不(bu)能(neng)保(bao)持(chi)同(tong)步(bu)時(shi),這(zhe)種(zhong)情(qing)況(kuang)就(jiu)會(hui)發(fa)生(sheng)從(cong)而(er)報(bao)錯(cuo)。程(cheng)序(xu)設(she)計(ji)者(zhe)們(men)必(bi)須(xu)在(zai)編(bian)譯(yi)應(ying)用(yong)程(cheng)序(xu)時(shi)對(dui)這(zhe)一(yi)點(dian)有(you)清(qing)醒(xing)的(de)認(ren)識(shi)。
程序模式
最(zui)後(hou)一(yi)個(ge)問(wen)題(ti)就(jiu)是(shi)程(cheng)序(xu)模(mo)式(shi)。在(zai)多(duo)核(he)係(xi)統(tong)中(zhong),核(he)心(xin)是(shi)通(tong)過(guo)內(nei)存(cun)共(gong)享(xiang)數(shu)據(ju)和(he)通(tong)訊(xun)。程(cheng)序(xu)設(she)計(ji)者(zhe)們(men)實(shi)現(xian)的(de)途(tu)徑(jing)是(shi)取(qu)決(jue)於(yu)他(ta)們(men)慣(guan)常(chang)編(bian)寫(xie)代(dai)碼(ma)的(de)程(cheng)序(xu)模(mo)式(shi)。對(dui)於(yu)所(suo)有(you)的(de)多(duo)核(he)程(cheng)序(xu)設(she)計(ji)來(lai)說(shuo),沒(mei)有(you)單(dan)一(yi)的(de)標(biao)準(zhun)方(fang)式(shi)(程序語言或者API)是可以通行無阻的。處於多核菜單的設計目的,我們將程序設計方法分成兩類:
主流方法:這種設計方法就是公開/標準API(應用編程接口),從過往經驗看API已經在並行程序設計上取得了成功,具有豐富的編程經驗基礎來向程序設計者提供支持。采用API的編程方法在靈活性和將來的升級支持方麵都是風險較低的選擇。但對於特別問題處理方麵卻並非最佳的編程方式。
新生力量:這些編程方法是新生力量,在將來也頗具潛力。但是並非所有的方法都具備這樣的實力,成為大型項目程序的選擇(比如說有些尚處於試驗階段)。雖然他們在實現並行程序方麵更為出色,但作為一項新興的技術要進行推廣還有一定風險。
dangran,womenshituxiangruanjianyanfarenyuantigongzhinandeyitupoyouxiebanmennongfu。bijingzhiyouchengxushejizhemenzuiqingchuxiangmudeguimohexuqiu,zhexiefenxishiyaoxiezhushejizhemenbawoxuanzedefangxiang。womendeyuanwangshibianchengfangfadexinshengliliangnengzhujianchengweishejidezhuliu,suizheduohexitongdezhubupujizhexiebianchengfangfayenengdedaogengguangfandeshiyong。
這些新興的編程模式數量太多而無法一一羅列,甄選出的主要方法由三種組成:Threads(線程技術),OpenMP和MPI並行算法。Threads(線程技術)使用的是均衡共用存儲器或者共享內存,在傳統多核係統中已經有多年的使用曆史。
另外一種正在發展之中並能相對容易的利用線程的方法就是OpenMP。OpenMP使用一組指令設計來允許程序設計者更為簡便的實現對稱多處理機的並行要求。MPI(消息傳遞接口)是實現高性能計算代碼並行設計的標準方式。MPI的並行設計能在獨立的計算機上對進程間的信息進行傳遞,對於對稱多處理計算機也同樣適用。
未來之路
多核程序設計在計算機世界中是個廣泛而動態的領域。MCCB對於多數程序設計者而言都是一個好的開端,還將繼續提供多核革命的資源,案例,基準和背景資料。