http://www.kadhoai.com.cn 2026-04-08 16:15:57 來源:服務器在線
計算機領域正在發生著悄無聲息的革命。英特爾,AMDjiqitaxinpianzhizaoshangbuduantuichuzaidanjingpianshangjichengduozhongchulidanyuandexinxingxinpian。qudaiguoqudedanyizhongyangchuliqi,jisuanjimuqianzhengzaiburuduoheshidai。jinguanzhexiangjishuduiwomeneryanbingbushixinxianshiwu,danzheshizhezhongleixingdetixijiagoushoucidaguimoyunyongyushangyonggerendiannaohefuwuqishichang。
這zhe場chang變bian革ge將jiang影ying響xiang到dao每mei位wei計ji算suan機ji用yong戶hu。多duo核he技ji術shu的de觸chu角jiao已yi經jing深shen入ru到dao服fu務wu器qi,筆bi記ji本ben電dian腦nao甚shen至zhi遊you戲xi機ji控kong製zhi台tai領ling域yu。從cong最zui終zhong用yong戶hu的de角jiao度du來lai看kan,這zhe種zhong變bian革ge的de影ying響xiang是shi潛qian移yi默mo化hua的de。然ran而er根gen據ju過guo去qu二er十shi年nian的de經jing驗yan要yao獲huo取qu相xiang應ying的de性xing能neng所suo付fu出chu的de價jia格ge預yu期qi還hai是shi個ge未wei知zhi數shu。程cheng序xu設she計ji者zhe們men會hui發fa現xian要yao實shi現xian多duo核he設she計ji的de性xing能neng也ye是shi一yi項xiang充chong滿man挑tiao戰zhan的de艱jian巨ju任ren務wu,特te別bie是shi現xian在zai還hai沒mei有you一yi勞lao永yong逸yi的de辦ban法fa和he自zi動dong化hua技ji術shu能neng適shi應ying多duo核he係xi統tong上shang運yun行xing的de現xian行xing軟ruan件jian。
指路多核
計(ji)算(suan)機(ji)市(shi)場(chang)長(chang)期(qi)以(yi)來(lai)一(yi)直(zhi)在(zai)處(chu)理(li)器(qi)速(su)度(du)上(shang)穩(wen)步(bu)前(qian)進(jin)。處(chu)理(li)器(qi)的(de)速(su)度(du)很(hen)大(da)程(cheng)度(du)上(shang)取(qu)決(jue)於(yu)時(shi)鍾(zhong)頻(pin)率(lv)傳(chuan)遞(di)給(gei)處(chu)理(li)器(qi)執(zhi)行(xing)指(zhi)令(ling)的(de)速(su)度(du)有(you)多(duo)快(kuai)。時(shi)鍾(zhong)頻(pin)率(lv)越(yue)快(kuai),處(chu)理(li)器(qi)在(zai)指(zhi)定(ding)時(shi)幀(zhen)內(nei)執(zhi)行(xing)的(de)指(zhi)令(ling)數(shu)目(mu)就(jiu)越(yue)多(duo)。半(ban)導(dao)體(ti)的(de)物(wu)理(li)特(te)性(xing)對(dui)處(chu)理(li)器(qi)時(shi)鍾(zhong)頻(pin)率(lv)速(su)度(du)的(de)提(ti)升(sheng)會(hui)有(you)限(xian)製(zhi)。這(zhe)種(zhong)趨(qu)勢(shi)可(ke)以(yi)從(cong)圖(tu)示(shi)一(yi)中(zhong)清(qing)楚(chu)的(de)顯(xian)示(shi),從(cong)中(zhong)可(ke)以(yi)看(kan)到(dao)英(ying)特(te)爾(er)和(he)AMD處理器隨著時間推移平均時鍾頻率和熱量消耗的情況。
congzhezhangnengliangxiaohaoquxiantushangkan,nengliangxiaohaodechixupanshengyaoqiugengduodelengquehedianlifuwulaiweichichuliqideyunxing。jiejuefanganjiushiyaozengjiachuliqineihedebililaiqudaidanchuntishengshizhongpinlv。zhezhangtuzhongshizhongpinlvdexiajiangshizhiAMD公(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]
多核麵臨的挑戰
多(duo)核(he)處(chu)理(li)器(qi)的(de)革(ge)命(ming)給(gei)整(zheng)個(ge)計(ji)算(suan)機(ji)領(ling)域(yu)帶(dai)來(lai)了(le)前(qian)所(suo)未(wei)有(you)的(de)挑(tiao)戰(zhan)和(he)機(ji)遇(yu)。一(yi)方(fang)麵(mian),多(duo)核(he)意(yi)味(wei)著(zhe)在(zai)同(tong)樣(yang)的(de)空(kong)間(jian)內(nei)實(shi)現(xian)更(geng)多(duo)的(de)計(ji)算(suan)功(gong)效(xiao)。另(ling)一(yi)方(fang)麵(mian),處(chu)理(li)器(qi)體(ti)係(xi)架(jia)構(gou)的(de)根(gen)本(ben)性(xing)變(bian)化(hua)要(yao)想(xiang)充(chong)分(fen)利(li)用(yong)這(zhe)些(xie)處(chu)理(li)器(qi),比(bi)起(qi)之(zhi)前(qian)的(de)設(she)計(ji)就(jiu)更(geng)具(ju)挑(tiao)戰(zhan)性(xing)。
麵臨的挑戰之一就是軟件,概述如下:
現有的軟件如果不做改變,就無法利用目前不斷進步的處理器所提供的多核性能。
為(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)!
多核帶來的影響
congzuizhongyonghudejiaodulaikanduoheduigongzuofuzaideyingxianggengweizhijie。julilaishuo,nidegongzuofuzaiyaotongshizhixingbutongderenwu,cishiduohexitongjiunengmashangfahuitadeyoushisuozai。biru,nizaiwangluoshangguankanshipindetongshi,nidejisuanjizhengzaizhunbeidayinyifendaxingwendangzuoye。duohexitongjiunengxiezhunitongshiwanchengzhexiezuoye。ruguotamenbushicaiyongbingxingshejidehua,dulideyingyongchengxujiangbukenengchaoyuedanhedesudu。
應(ying)用(yong)程(cheng)序(xu)的(de)設(she)計(ji)者(zhe)們(men)為(wei)了(le)滿(man)足(zu)多(duo)核(he)的(de)需(xu)求(qiu)需(xu)要(yao)花(hua)費(fei)時(shi)間(jian)對(dui)代(dai)碼(ma)進(jin)行(xing)升(sheng)級(ji)和(he)測(ce)試(shi)。在(zai)並(bing)行(xing)程(cheng)序(xu)設(she)計(ji)上(shang)沒(mei)有(you)簡(jian)單(dan)或(huo)者(zhe)自(zi)動(dong)化(hua)的(de)捷(jie)徑(jing)可(ke)循(xun),因(yin)此(ci)多(duo)核(he)菜(cai)單(dan)(MCCB)的設計就需要付出更多的努力。除了研發多核應用軟件需要花費額外的心血外,還要適應不斷湧現的全新概念。
內存之爭
congdingyishangshuo,suoyoudeduohexitongdoubixugongxiangneicun。shejineicunzixitongnengranghexinzhijiandezhengduozuixiaohua,danshirengranhuichuxianneicunkongjianweilianggehuozhegengduoneihesuoyongdeshihou。zhezhongqingkuangzaihenduoshihoujiuhuidaozhixingnengwentihuozhexingnengshuaijian。
資源之爭
與傳統的單核處理器不同,多核係統的每個核心都必須共享本地資源。除了內存之外,這些資源還包括硬盤,網絡連接,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]
新的錯誤類型
duoheyehuiyinfachengxushejizhongxindecuowuleixing。zhezhongqingkuangdechuxianshiyinweizaihexinjianxindeshijiandongtaifenpeichuxianlewenti。danghexindouzaihuxiangdengdaihedongjiehuozhetamenbunengbaochitongbushi,zhezhongqingkuangjiuhuifashengcongerbaocuo。chengxushejizhemenbixuzaibianyiyingyongchengxushiduizheyidianyouqingxingderenshi。
程序模式
最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的編程方法在靈活性和將來的升級支持方麵都是風險較低的選擇。但對於特別問題處理方麵卻並非最佳的編程方式。
新生力量:這些編程方法是新生力量,在將來也頗具潛力。但是並非所有的方法都具備這樣的實力,成為大型項目程序的選擇(比如說有些尚處於試驗階段)。雖然他們在實現並行程序方麵更為出色,但作為一項新興的技術要進行推廣還有一定風險。
當dang然ran,我wo們men試shi圖tu向xiang軟ruan件jian研yan發fa人ren員yuan提ti供gong指zhi南nan的de意yi圖tu頗po有you些xie班ban門men弄nong斧fu。畢bi竟jing隻zhi有you程cheng序xu設she計ji者zhe們men最zui清qing楚chu項xiang目mu的de規gui模mo和he需xu求qiu,這zhe些xie分fen析xi是shi要yao協xie助zhu設she計ji者zhe們men把ba握wo選xuan擇ze的de方fang向xiang。我wo們men的de願yuan望wang是shi編bian程cheng方fang法fa的de新xin生sheng力li量liang能neng逐zhu漸jian成cheng為wei設she計ji的de主zhu流liu,隨sui著zhe多duo核he係xi統tong的de逐zhu步bu普pu及ji這zhe些xie編bian程cheng方fang法fa也ye能neng得de到dao更geng廣guang泛fan的de使shi用yong。
這些新興的編程模式數量太多而無法一一羅列,甄選出的主要方法由三種組成:Threads(線程技術),OpenMP和MPI並行算法。Threads(線程技術)使用的是均衡共用存儲器或者共享內存,在傳統多核係統中已經有多年的使用曆史。
另外一種正在發展之中並能相對容易的利用線程的方法就是OpenMP。OpenMP使用一組指令設計來允許程序設計者更為簡便的實現對稱多處理機的並行要求。MPI(消息傳遞接口)是實現高性能計算代碼並行設計的標準方式。MPI的並行設計能在獨立的計算機上對進程間的信息進行傳遞,對於對稱多處理計算機也同樣適用。
未來之路
多核程序設計在計算機世界中是個廣泛而動態的領域。MCCB對於多數程序設計者而言都是一個好的開端,還將繼續提供多核革命的資源,案例,基準和背景資料。