时间:2024-06-19
陈文喆
(湖南农业大学信息科学技术学院,长沙 410128)
多核微处理器加速平台RAM P研究
陈文喆
(湖南农业大学信息科学技术学院,长沙 410128)
微处理器向多核和众核方向的发展给计算机体系结构带来了新挑战.针对这一挑战,多核处理器加速平台RAMP应运而生,通过采用多FPGA模拟,用FPGA以硬件的速度级来模拟高度并行体系结构,给并行和多核体系结构的研究带来了新的途径和手段.分析了RAMP平台的体系结构和设计框架,简介了当前主要的RAMP研究项目,并从RAMP架构、FPGA硬件平台、可重用模块库和模拟器原型等四个方面对RAMP的现有研究工作进行总结分析,最后对RAMP研究的发展趋势展开探讨.
多核;RAMP;模块库;模拟器
传统单核研究开发方法具有硬件原型开发周期长、软件模拟器慢、软硬件不能同时开发等缺点,这些缺点在面临规模急剧膨胀的多核研究时更加凸显,几乎无法用于解决多核处理器的研究问题.并行可能是过去50年中面对计算时的遇到的最大挑战,前人曾大量尝试解决通用并行计算问题,但一直没有令人满意的方法.多核处理器系统的研究开发使得业界迫切需要创新的解决方法,相比单核研究,这需要更加广泛的软硬件协同开发.
正是在这一背景下,源自著名国际会议ISCA2005上的一次讨论,多核微处理器加速平台(Research Accelerator for Multiple Processors,RAMP)的思想产生了.RAMP旨在创建一个低成本、可重构、高度并行的平台来加快多核处理器研究中的软硬件开发速度,并吸引各个领域(体系结构、编译、操作系统和应用程序等)的研究者来一起致力于解决并行计算的挑战.RAMP的工作主要是开发和共享用于研究并行体系结构所需的软硬件基础平台/工具,具有低成本、低功耗、快速、灵活、可观测、可再现及可信性等诸多特性.RAMP平台采用多FPGA模拟的方案,用FPGA以硬件的速度级来模拟高度并行体系结构.
在学术界,伯克利、奥斯汀、麻省、斯坦福等著名大学均参与了RAMP项目;在业界,微软、IBM 、Xilinx、Intel等国际大公司也参与合作,并提供技术支持.RAMP的出现给并行及多核研究的带来了新的途径.经过5年的发展,RAMP经历了成长发展,产生了日益广泛的影响,日趋成熟.本文在分析了RAMP相关的重要论文和报告资料等基础上[1],从体系结构、研究课题、发展趋势等方面对RAMP进行简介、归纳和分析评价.
多核研究需要权衡模型的真实性、模型设计开销及模拟速度和能力来进行建模,通常多核处理器研究中的一个基本模拟过程就是在主平台(Host Platform)上模拟目标机(Target Machine).RAMP主平台硬件以多FPGA为基础搭建,FPGA具有以下5点优势[2]:①快速生成各种新的硬件系统;②根据摩尔定律,当处理器芯片密度增加时,FPGA的密度也随之同比增加,因此能轻松映射很多核到单个FPGA上,并通过多FPGA来映射数量巨大的多核系统;③相比定制多处理器更便宜,功耗更低;④多核能映射编程到单个FPGA,使用多FPGA构成开发板,用多个开发板构成一个系统,就能在其上研究开发大规模复杂的系统结构;⑤处理器核能运行在100~200 Hz,足以以一个充足的速度运行操作系统和大型程序,因此也能支持软件研究,因此将加速与多核处理器有关的各项研究,如操作系统、编译器、调试器、编程语言和科学库等.
然而,由于不同研究组织使用的FPGA平台具有差异性,而且FPGA平台本身也在不断改进设计,发展变化,为了在FPGA平台们的上层建立一个基础架构来对用户隐藏设备的个体细节,实现硬件抽象,使得大量的用户团体来合作并建立一个有用的公用硬件模型库,需要一个标准化的设计框架,于是出现了RAMP设计框架的概念.RAMP设计框架的主要特点包括:①以FPGA模拟作为基础,顶层可以是不同的硬件组件装配在一起;②建立了一个有用的库,包含了内部可操作的硬件模块;③支持详细参数化描述的机器模型的时钟精确模拟以及快速功能模拟;④尽可能地隐藏底层FPGA模拟的细节,使得具有不同底层FPGA模拟的小组间可以共享设计,并且当FPGA更新后,RAMP模块也能重用;⑤不限制开发者对硬件设计语言的选择.RAMP设计框架的实现层次如图1所示.
图1 RAMP设计框架的实现层次[2]
RAMP框架[2]采取的方法就是开发一套解耦的机器模型和设计规则,规则通过RDL(RAMP描述语言,支持主平台的声明,以及顶级设计单元到主平台的映射)和编译器来实现,可以自动完成对分布式通信组件提供时钟精确模拟这样的困难任务.RAMP框架基本的通信模型要素包括松散耦合的单元集合、延迟不敏感的通信协议和良定义的通道,如图2所示[3].RAMP框架中的单元可能是处理器中一个大的组件,比如包括一级CACHE、存储控制器、网络路由器的一个处理器.它由用户设计主要逻辑,由 RDL编译器来完成封装,每个单元可以是RTL代码(下载到FPGA中),也可以是C语言的软件模型(在工作站、手持设备或FPGA中的嵌入式软核),每个单元要如实模拟在组件中的每一个目标时钟周期的行为;通道是一个单向,点对点,带缓冲的,单元间通道,由用户描述可配置的参数,由RDL编译器自动产生.使用标准的基于通道的通信策略,通过点对点的通道就能使得单元间完成同步,形成分布式的同时事件模拟器[4].
图2 基本的RAMP通信模型
采用设计框架获得以下3点好处:①减少了搭建目标模型的开销,用户只需要建立组件(单元),而由架构(RDL编译器)去处理单元间连接;②通过良好的抽象实现了单元在跨目标模型,跨平台的重用;③可以重用已有的IP核作为模拟模型.
RAMP的研究团队是一个多所大学和企业相协作,开发基于FPGA的模拟器架构,来支持包括大规模的多核的计算机软硬件研究的一个组织.
在研究队伍方面,从事RAMP研究的队伍主要包括美国加州大学伯克利分校(Berkeley)小组、卡耐基梅隆大学(CMU)小组、麻省理工大学/英特尔公司(MIT/Intel)小组、斯坦福大学(Stanford)小组、华盛顿大学(Washington)小组等.因为 RAMP的组织方式是开放共享,所以除了上述小组外,世界各地还有许多感兴趣的研究者和小组也参与其中.RAMP研究的合作伙伴包括:RAMP硬件开发主要集中的伯克利无线研究中心(BWRC)、美国国家科学基金委(NSF)、美国微软研究院以及IBM 等知名企业.
在研究人员面,从事RAMP研究的主要项目负责人包括: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).
在研究课题方面,最著名的是美国美国加州大学伯克利分校开发的RAMP设计语言.该语言为系统结构提供了标准接口(以用于互操作性)、模拟器时间管理和抽象层次,而且能精确捕获机器行为用于快速的设计评估.其他研究课题主要是各研究小组利用RAMP架构所搭建的具有不同功能特点的模拟器原型系统[5],详如表1所示.
表1 模拟器原型系统列表
通过分析归纳RAMP各研究项目所作的工作,本节将RAMP的现有研究工作总结为四类,并对每类研究工作的发展趋势开展探讨.
(1)RAMP架构研究.这主要集中于RAMP的缔造者们,着眼于研究如何使得RAMP摆脱低层硬件平台及设计语言等束缚,使其具有更好的易用性.主要研究设计标准,包括总体架构、RDL语言、编译器、用户接口及各种基础工具等.虽然经过5年的发展,RAMP的一系列标准已近成熟,但还是有许多为增强易用性而需要改进完善的地方,比如更丰富的用户接口、调试工具及互联网远程访问能力等都是研究的热点.
(2)基础FPGA硬件平台[6]的研究.RAMP采用基于FPGA模拟的思想,其基础就是FPGA硬件平台.前期的RAMP实际应用了已有的一些硬件平台,比如BEE1及BEE2作为基础板来搭建大系统,但是这些硬件平台也存在一些需要进一步改进的方面.一些学者在RAMP硬件平台实际使用的反馈基础上,设计实现了新的硬件平台--BEE3,并为其成立了公司.但研究更加功能完善、易于使用和搭建RAMP的基础硬件平台仍然是目前研究的重点.
(3)可重用模块库的研究设计.RAMP很重要的一个思想就是开放共享,除了工具集和文档的共享外,最重要的共享就是用FPGA实现的可重用的模块了.广泛采用经过测试和使用的模块可有效节约人力物力,缩短了模拟器搭建的周期.随着模块的越来越丰富,可以形成一个巨大的可重用模块库,这将是RAMP极其宝贵的财富,参与其中,研究实现某些具有较高价值的可重用模块必将显著提升RAMP的实际应用能力.
(4)模拟器原型系统的研究.RAMP目标是用于加速模拟多核并行,五年的发展,使得RAMP的一些研究小组实现了很多各具特点的多核模拟器参考原型系统.这些原型系统面向不同应用目的,是RAMP思想与能力的集中体现,广泛应用于工业界及院校,为多核并行研究获得了很多真实的数据参考.研究更加易于使用和扩展的基本模拟器及新的模拟技术,将不同的原型系统改编到统一的RAMP架构上来,并广泛测试,使其应用于机构,院校和其他研究者的课程实验,将极大地直接促进多核并行研究的进展.
在过去5年中,RAMP在学术界和工业界均产生了广泛的影响,并被用于大量的实际开发研究之中.RAMP学术组织建立了专门的网站来实现共享机制,可以自由下载可用的参考设计、相关论文、项目的文档资料以及工具链,通过开放共享的方式吸引了全世界相关学者的关注,并同时热情地欢迎世界各地的学者参与其中贡献力量.同时,RAMP学术组织与院校教学紧密联系,通过上课、报告和课堂作业使学生加入,并且采取各大学根据自己学生特点分工合作.RAMP学术组织也通过在ISCA 2007及ASPLOS 2008等著名国际会议上的宣传和讨论来向学术和工业界及时传播RAMP的成果.
RAMP在学术界得到了很多应用.例如,加拿大多伦多大学的Paul Chow教授使用10个BEE2系统搭建了大规模FPGA阵列,来研究使用多FPGA运行大规模计算类应用和开发编程模型等;美国斯坦福大学的Theresa Meng教授利用RAMP的软硬联合、大规模可扩展的FPGA系统来研究分子生物学和生命问题等.
RAMP的部分成果也已在工业界得到实际应用.SUN公司的微系统部利用RAMP的大量两代BEE实验板为其OpenSPARC T1核搭建了一个完整的FPGA系统;Xilinx公司为SUN公司的系统实现提供了技术,为RAMP的FPGA板捐赠了FPGA芯片、工具、人力资料和资金;微软研究院参与了RAMP第 3代基础板 BEE3的设计生产,支持BEEcube公司的推广,并在其内部对计算机体系结构,算法加速,未来操作系统开发的研究中使用了BEE3系统;Intel的俄勒冈州微体系结构研究实验室采用RAMP的FPGA平台结构来完成其研究;伯克利劳伦斯国家实验室(LBNL)使用RAMP来研制其气候超级计算机.
目前微处理器已经全面进入多核时代,如何研究多核体系结构、应用好多核,实现软硬件协同开发是计算机领域面临的重要难题之一.针对多核并行研究的传统困难,研究者们创新性地提出了多FPGA模拟的思想,建立了RAMP完整的框架标准,实现了工具链,研究设计了众多模拟器参考原型系统,并提出了若干新颖的处理器建模技术,改进了多核模拟的效率与规模.RAMP的提出和发展为大规模多核计算系统的研究提供了重要方法和手段.
[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-),男,本科,研究方向:计算机应用.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!