陳文喆
(湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院,長(zhǎng)沙 410128)
多核微處理器加速平臺(tái)RAM P研究
陳文喆
(湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院,長(zhǎng)沙 410128)
微處理器向多核和眾核方向的發(fā)展給計(jì)算機(jī)體系結(jié)構(gòu)帶來了新挑戰(zhàn).針對(duì)這一挑戰(zhàn),多核處理器加速平臺(tái)RAMP應(yīng)運(yùn)而生,通過采用多FPGA模擬,用FPGA以硬件的速度級(jí)來模擬高度并行體系結(jié)構(gòu),給并行和多核體系結(jié)構(gòu)的研究帶來了新的途徑和手段.分析了RAMP平臺(tái)的體系結(jié)構(gòu)和設(shè)計(jì)框架,簡(jiǎn)介了當(dāng)前主要的RAMP研究項(xiàng)目,并從RAMP架構(gòu)、FPGA硬件平臺(tái)、可重用模塊庫(kù)和模擬器原型等四個(gè)方面對(duì)RAMP的現(xiàn)有研究工作進(jìn)行總結(jié)分析,最后對(duì)RAMP研究的發(fā)展趨勢(shì)展開探討.
多核;RAMP;模塊庫(kù);模擬器
傳統(tǒng)單核研究開發(fā)方法具有硬件原型開發(fā)周期長(zhǎng)、軟件模擬器慢、軟硬件不能同時(shí)開發(fā)等缺點(diǎn),這些缺點(diǎn)在面臨規(guī)模急劇膨脹的多核研究時(shí)更加凸顯,幾乎無法用于解決多核處理器的研究問題.并行可能是過去50年中面對(duì)計(jì)算時(shí)的遇到的最大挑戰(zhàn),前人曾大量嘗試解決通用并行計(jì)算問題,但一直沒有令人滿意的方法.多核處理器系統(tǒng)的研究開發(fā)使得業(yè)界迫切需要?jiǎng)?chuàng)新的解決方法,相比單核研究,這需要更加廣泛的軟硬件協(xié)同開發(fā).
正是在這一背景下,源自著名國(guó)際會(huì)議ISCA2005上的一次討論,多核微處理器加速平臺(tái)(Research Accelerator for Multiple Processors,RAMP)的思想產(chǎn)生了.RAMP旨在創(chuàng)建一個(gè)低成本、可重構(gòu)、高度并行的平臺(tái)來加快多核處理器研究中的軟硬件開發(fā)速度,并吸引各個(gè)領(lǐng)域(體系結(jié)構(gòu)、編譯、操作系統(tǒng)和應(yīng)用程序等)的研究者來一起致力于解決并行計(jì)算的挑戰(zhàn).RAMP的工作主要是開發(fā)和共享用于研究并行體系結(jié)構(gòu)所需的軟硬件基礎(chǔ)平臺(tái)/工具,具有低成本、低功耗、快速、靈活、可觀測(cè)、可再現(xiàn)及可信性等諸多特性.RAMP平臺(tái)采用多FPGA模擬的方案,用FPGA以硬件的速度級(jí)來模擬高度并行體系結(jié)構(gòu).
在學(xué)術(shù)界,伯克利、奧斯汀、麻省、斯坦福等著名大學(xué)均參與了RAMP項(xiàng)目;在業(yè)界,微軟、IBM 、Xilinx、Intel等國(guó)際大公司也參與合作,并提供技術(shù)支持.RAMP的出現(xiàn)給并行及多核研究的帶來了新的途徑.經(jīng)過5年的發(fā)展,RAMP經(jīng)歷了成長(zhǎng)發(fā)展,產(chǎn)生了日益廣泛的影響,日趨成熟.本文在分析了RAMP相關(guān)的重要論文和報(bào)告資料等基礎(chǔ)上[1],從體系結(jié)構(gòu)、研究課題、發(fā)展趨勢(shì)等方面對(duì)RAMP進(jìn)行簡(jiǎn)介、歸納和分析評(píng)價(jià).
多核研究需要權(quán)衡模型的真實(shí)性、模型設(shè)計(jì)開銷及模擬速度和能力來進(jìn)行建模,通常多核處理器研究中的一個(gè)基本模擬過程就是在主平臺(tái)(Host Platform)上模擬目標(biāo)機(jī)(Target Machine).RAMP主平臺(tái)硬件以多FPGA為基礎(chǔ)搭建,FPGA具有以下5點(diǎn)優(yōu)勢(shì)[2]:①快速生成各種新的硬件系統(tǒng);②根據(jù)摩爾定律,當(dāng)處理器芯片密度增加時(shí),FPGA的密度也隨之同比增加,因此能輕松映射很多核到單個(gè)FPGA上,并通過多FPGA來映射數(shù)量巨大的多核系統(tǒng);③相比定制多處理器更便宜,功耗更低;④多核能映射編程到單個(gè)FPGA,使用多FPGA構(gòu)成開發(fā)板,用多個(gè)開發(fā)板構(gòu)成一個(gè)系統(tǒng),就能在其上研究開發(fā)大規(guī)模復(fù)雜的系統(tǒng)結(jié)構(gòu);⑤處理器核能運(yùn)行在100~200 Hz,足以以一個(gè)充足的速度運(yùn)行操作系統(tǒng)和大型程序,因此也能支持軟件研究,因此將加速與多核處理器有關(guān)的各項(xiàng)研究,如操作系統(tǒng)、編譯器、調(diào)試器、編程語言和科學(xué)庫(kù)等.
然而,由于不同研究組織使用的FPGA平臺(tái)具有差異性,而且FPGA平臺(tái)本身也在不斷改進(jìn)設(shè)計(jì),發(fā)展變化,為了在FPGA平臺(tái)們的上層建立一個(gè)基礎(chǔ)架構(gòu)來對(duì)用戶隱藏設(shè)備的個(gè)體細(xì)節(jié),實(shí)現(xiàn)硬件抽象,使得大量的用戶團(tuán)體來合作并建立一個(gè)有用的公用硬件模型庫(kù),需要一個(gè)標(biāo)準(zhǔn)化的設(shè)計(jì)框架,于是出現(xiàn)了RAMP設(shè)計(jì)框架的概念.RAMP設(shè)計(jì)框架的主要特點(diǎn)包括:①以FPGA模擬作為基礎(chǔ),頂層可以是不同的硬件組件裝配在一起;②建立了一個(gè)有用的庫(kù),包含了內(nèi)部可操作的硬件模塊;③支持詳細(xì)參數(shù)化描述的機(jī)器模型的時(shí)鐘精確模擬以及快速功能模擬;④盡可能地隱藏底層FPGA模擬的細(xì)節(jié),使得具有不同底層FPGA模擬的小組間可以共享設(shè)計(jì),并且當(dāng)FPGA更新后,RAMP模塊也能重用;⑤不限制開發(fā)者對(duì)硬件設(shè)計(jì)語言的選擇.RAMP設(shè)計(jì)框架的實(shí)現(xiàn)層次如圖1所示.
圖1 RAMP設(shè)計(jì)框架的實(shí)現(xiàn)層次[2]
RAMP框架[2]采取的方法就是開發(fā)一套解耦的機(jī)器模型和設(shè)計(jì)規(guī)則,規(guī)則通過RDL(RAMP描述語言,支持主平臺(tái)的聲明,以及頂級(jí)設(shè)計(jì)單元到主平臺(tái)的映射)和編譯器來實(shí)現(xiàn),可以自動(dòng)完成對(duì)分布式通信組件提供時(shí)鐘精確模擬這樣的困難任務(wù).RAMP框架基本的通信模型要素包括松散耦合的單元集合、延遲不敏感的通信協(xié)議和良定義的通道,如圖2所示[3].RAMP框架中的單元可能是處理器中一個(gè)大的組件,比如包括一級(jí)CACHE、存儲(chǔ)控制器、網(wǎng)絡(luò)路由器的一個(gè)處理器.它由用戶設(shè)計(jì)主要邏輯,由 RDL編譯器來完成封裝,每個(gè)單元可以是RTL代碼(下載到FPGA中),也可以是C語言的軟件模型(在工作站、手持設(shè)備或FPGA中的嵌入式軟核),每個(gè)單元要如實(shí)模擬在組件中的每一個(gè)目標(biāo)時(shí)鐘周期的行為;通道是一個(gè)單向,點(diǎn)對(duì)點(diǎn),帶緩沖的,單元間通道,由用戶描述可配置的參數(shù),由RDL編譯器自動(dòng)產(chǎn)生.使用標(biāo)準(zhǔn)的基于通道的通信策略,通過點(diǎn)對(duì)點(diǎn)的通道就能使得單元間完成同步,形成分布式的同時(shí)事件模擬器[4].
圖2 基本的RAMP通信模型
采用設(shè)計(jì)框架獲得以下3點(diǎn)好處:①減少了搭建目標(biāo)模型的開銷,用戶只需要建立組件(單元),而由架構(gòu)(RDL編譯器)去處理單元間連接;②通過良好的抽象實(shí)現(xiàn)了單元在跨目標(biāo)模型,跨平臺(tái)的重用;③可以重用已有的IP核作為模擬模型.
RAMP的研究團(tuán)隊(duì)是一個(gè)多所大學(xué)和企業(yè)相協(xié)作,開發(fā)基于FPGA的模擬器架構(gòu),來支持包括大規(guī)模的多核的計(jì)算機(jī)軟硬件研究的一個(gè)組織.
在研究隊(duì)伍方面,從事RAMP研究的隊(duì)伍主要包括美國(guó)加州大學(xué)伯克利分校(Berkeley)小組、卡耐基梅隆大學(xué)(CMU)小組、麻省理工大學(xué)/英特爾公司(MIT/Intel)小組、斯坦福大學(xué)(Stanford)小組、華盛頓大學(xué)(Washington)小組等.因?yàn)?RAMP的組織方式是開放共享,所以除了上述小組外,世界各地還有許多感興趣的研究者和小組也參與其中.RAMP研究的合作伙伴包括:RAMP硬件開發(fā)主要集中的伯克利無線研究中心(BWRC)、美國(guó)國(guó)家科學(xué)基金委(NSF)、美國(guó)微軟研究院以及IBM 等知名企業(yè).
在研究人員面,從事RAMP研究的主要項(xiàng)目負(fù)責(zé)人包括:Krste Asanovic((UC Berkeley)、Derek Chiou(UT Austin)、Joel Emer(MIT/Intel)、James C.Hoe(CMU)、Christoforos Kozyrakis(Stanford)、Shih-Lien Lu(Intel)、Mark Oskin(U Washington)、David Patterson(UC Berkeley)、Jan Rabaey(UC Berkeley)、John Wawrzynek(UC Berkeley).
在研究課題方面,最著名的是美國(guó)美國(guó)加州大學(xué)伯克利分校開發(fā)的RAMP設(shè)計(jì)語言.該語言為系統(tǒng)結(jié)構(gòu)提供了標(biāo)準(zhǔn)接口(以用于互操作性)、模擬器時(shí)間管理和抽象層次,而且能精確捕獲機(jī)器行為用于快速的設(shè)計(jì)評(píng)估.其他研究課題主要是各研究小組利用RAMP架構(gòu)所搭建的具有不同功能特點(diǎn)的模擬器原型系統(tǒng)[5],詳如表1所示.
表1 模擬器原型系統(tǒng)列表
通過分析歸納RAMP各研究項(xiàng)目所作的工作,本節(jié)將RAMP的現(xiàn)有研究工作總結(jié)為四類,并對(duì)每類研究工作的發(fā)展趨勢(shì)開展探討.
(1)RAMP架構(gòu)研究.這主要集中于RAMP的締造者們,著眼于研究如何使得RAMP擺脫低層硬件平臺(tái)及設(shè)計(jì)語言等束縛,使其具有更好的易用性.主要研究設(shè)計(jì)標(biāo)準(zhǔn),包括總體架構(gòu)、RDL語言、編譯器、用戶接口及各種基礎(chǔ)工具等.雖然經(jīng)過5年的發(fā)展,RAMP的一系列標(biāo)準(zhǔn)已近成熟,但還是有許多為增強(qiáng)易用性而需要改進(jìn)完善的地方,比如更豐富的用戶接口、調(diào)試工具及互聯(lián)網(wǎng)遠(yuǎn)程訪問能力等都是研究的熱點(diǎn).
(2)基礎(chǔ)FPGA硬件平臺(tái)[6]的研究.RAMP采用基于FPGA模擬的思想,其基礎(chǔ)就是FPGA硬件平臺(tái).前期的RAMP實(shí)際應(yīng)用了已有的一些硬件平臺(tái),比如BEE1及BEE2作為基礎(chǔ)板來搭建大系統(tǒng),但是這些硬件平臺(tái)也存在一些需要進(jìn)一步改進(jìn)的方面.一些學(xué)者在RAMP硬件平臺(tái)實(shí)際使用的反饋基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)了新的硬件平臺(tái)--BEE3,并為其成立了公司.但研究更加功能完善、易于使用和搭建RAMP的基礎(chǔ)硬件平臺(tái)仍然是目前研究的重點(diǎn).
(3)可重用模塊庫(kù)的研究設(shè)計(jì).RAMP很重要的一個(gè)思想就是開放共享,除了工具集和文檔的共享外,最重要的共享就是用FPGA實(shí)現(xiàn)的可重用的模塊了.廣泛采用經(jīng)過測(cè)試和使用的模塊可有效節(jié)約人力物力,縮短了模擬器搭建的周期.隨著模塊的越來越豐富,可以形成一個(gè)巨大的可重用模塊庫(kù),這將是RAMP極其寶貴的財(cái)富,參與其中,研究實(shí)現(xiàn)某些具有較高價(jià)值的可重用模塊必將顯著提升RAMP的實(shí)際應(yīng)用能力.
(4)模擬器原型系統(tǒng)的研究.RAMP目標(biāo)是用于加速模擬多核并行,五年的發(fā)展,使得RAMP的一些研究小組實(shí)現(xiàn)了很多各具特點(diǎn)的多核模擬器參考原型系統(tǒng).這些原型系統(tǒng)面向不同應(yīng)用目的,是RAMP思想與能力的集中體現(xiàn),廣泛應(yīng)用于工業(yè)界及院校,為多核并行研究獲得了很多真實(shí)的數(shù)據(jù)參考.研究更加易于使用和擴(kuò)展的基本模擬器及新的模擬技術(shù),將不同的原型系統(tǒng)改編到統(tǒng)一的RAMP架構(gòu)上來,并廣泛測(cè)試,使其應(yīng)用于機(jī)構(gòu),院校和其他研究者的課程實(shí)驗(yàn),將極大地直接促進(jìn)多核并行研究的進(jìn)展.
在過去5年中,RAMP在學(xué)術(shù)界和工業(yè)界均產(chǎn)生了廣泛的影響,并被用于大量的實(shí)際開發(fā)研究之中.RAMP學(xué)術(shù)組織建立了專門的網(wǎng)站來實(shí)現(xiàn)共享機(jī)制,可以自由下載可用的參考設(shè)計(jì)、相關(guān)論文、項(xiàng)目的文檔資料以及工具鏈,通過開放共享的方式吸引了全世界相關(guān)學(xué)者的關(guān)注,并同時(shí)熱情地歡迎世界各地的學(xué)者參與其中貢獻(xiàn)力量.同時(shí),RAMP學(xué)術(shù)組織與院校教學(xué)緊密聯(lián)系,通過上課、報(bào)告和課堂作業(yè)使學(xué)生加入,并且采取各大學(xué)根據(jù)自己學(xué)生特點(diǎn)分工合作.RAMP學(xué)術(shù)組織也通過在ISCA 2007及ASPLOS 2008等著名國(guó)際會(huì)議上的宣傳和討論來向?qū)W術(shù)和工業(yè)界及時(shí)傳播RAMP的成果.
RAMP在學(xué)術(shù)界得到了很多應(yīng)用.例如,加拿大多倫多大學(xué)的Paul Chow教授使用10個(gè)BEE2系統(tǒng)搭建了大規(guī)模FPGA陣列,來研究使用多FPGA運(yùn)行大規(guī)模計(jì)算類應(yīng)用和開發(fā)編程模型等;美國(guó)斯坦福大學(xué)的Theresa Meng教授利用RAMP的軟硬聯(lián)合、大規(guī)模可擴(kuò)展的FPGA系統(tǒng)來研究分子生物學(xué)和生命問題等.
RAMP的部分成果也已在工業(yè)界得到實(shí)際應(yīng)用.SUN公司的微系統(tǒng)部利用RAMP的大量?jī)纱鶥EE實(shí)驗(yàn)板為其OpenSPARC T1核搭建了一個(gè)完整的FPGA系統(tǒng);Xilinx公司為SUN公司的系統(tǒng)實(shí)現(xiàn)提供了技術(shù),為RAMP的FPGA板捐贈(zèng)了FPGA芯片、工具、人力資料和資金;微軟研究院參與了RAMP第 3代基礎(chǔ)板 BEE3的設(shè)計(jì)生產(chǎn),支持BEEcube公司的推廣,并在其內(nèi)部對(duì)計(jì)算機(jī)體系結(jié)構(gòu),算法加速,未來操作系統(tǒng)開發(fā)的研究中使用了BEE3系統(tǒng);Intel的俄勒岡州微體系結(jié)構(gòu)研究實(shí)驗(yàn)室采用RAMP的FPGA平臺(tái)結(jié)構(gòu)來完成其研究;伯克利勞倫斯國(guó)家實(shí)驗(yàn)室(LBNL)使用RAMP來研制其氣候超級(jí)計(jì)算機(jī).
目前微處理器已經(jīng)全面進(jìn)入多核時(shí)代,如何研究多核體系結(jié)構(gòu)、應(yīng)用好多核,實(shí)現(xiàn)軟硬件協(xié)同開發(fā)是計(jì)算機(jī)領(lǐng)域面臨的重要難題之一.針對(duì)多核并行研究的傳統(tǒng)困難,研究者們創(chuàng)新性地提出了多FPGA模擬的思想,建立了RAMP完整的框架標(biāo)準(zhǔn),實(shí)現(xiàn)了工具鏈,研究設(shè)計(jì)了眾多模擬器參考原型系統(tǒng),并提出了若干新穎的處理器建模技術(shù),改進(jìn)了多核模擬的效率與規(guī)模.RAMP的提出和發(fā)展為大規(guī)模多核計(jì)算系統(tǒng)的研究提供了重要方法和手段.
[1]RAMP Publications and Documents.http://ramp.eecs.berkeley.edu/publications/,2010.
[2]Sewook Wee,Jared Casper,Njuguna Njoroge,Yuriy Teslyar,Daxia Ge,Christos Kozyrakis,and Kunle Olukotun.A Practical FPGA-based Framework for Novel CMP Research.Proceedings of the 15th ACM SIGDA Intl[M].Symposium on Field Programmable Gate Arrays,Montery,CA,2007.
[3]Alex Krasnov,Andrew Schultz,John Wawrzynek,Greg Gibeling,and Pierre-Yves Droz.RAM P Blue:A Message-Passing Manycore System In FPGAs,Proceedings of International Conference on Field Programmable Logic and Applications[M].Amsterdam,The Netherlands,2007.
[4]Eric S.Chung,Eriko Nurvitadhi,James C.Hoe,Babak Falsafi,and Ken Mai.A Complexity-effective Architecture for Accelerating Full-system Multiprocessor Simulations Using FPGAs[M].Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays,Monterey,California,2008.
[5]Greg Gibeling,Andrew Schultz,and Krste Asanovic.The RAM P Architecture&Description Language[M].WARFP,Austin,TX,2006.
[6]Dan Burke,John Wawrzynek,Krste Asanovic,Alex Krasnov,Andrew Schultz,Greg Gibeling,and Pierre-Yves Droz.RAM P Blue:Implementation of a Manycore 1008 Processor System[M].Proceedings of the Reconfigurable Systems Summer Institute 2008,RSSI 2008,2008.
Study on Research Accelerator for Multiple Processors(RAMP)
CHEN Wen-zhe
(School of Electronics Engineering and Computer Science,Hunan Agricultural University,Changsha 410128,China)
T he development trend of microprocessor is the multi-core and many-core,which bring new challenges to the computer architecture.The Research Accelerator for Multiple Processors(RAMP)has been proposed to deal with these challenges.RAMP simulates the highly parallel architecture with the speed of FPGA-level hardware by using multi-FPGA simulation.It provides new approach for the research on parallel and multi-core architecture.In this paper,the architecture and design framework of RAMP are analyzed,and the main projects on RAMP are introduced briefly.The research work on RAMP is summarized and analyzed from the aspects of RAMP architecture,FPGA hardware platform,re-usable module library and simulator prototype.Finally,the development trend of the research on RAMP is discussed.
multi-core,RAMP,module library,simulator
TU997
A
1671-119X(2011)02-0060-04
2010-10-30
陳文喆(1990-),男,本科,研究方向:計(jì)算機(jī)應(yīng)用.