文档库 最新最全的文档下载
当前位置:文档库 › The Research of FPGA-based Paging-Simulation Model for SIMD

The Research of FPGA-based Paging-Simulation Model for SIMD

The Research of FPGA-based Paging-Simulation Model for SIMD
The Research of FPGA-based Paging-Simulation Model for SIMD

适用于SIMD体系结构的FPGA分页仿真模型研究

何义任巨文梅杨乾明伍楠张春元郭敏1

(国防科技大学计算机学院)

摘要: 媒体处理、复杂科学计算等大量计算密集型应用的不断涌现,SIMD体系结构以其天

然的数据并行结构和易扩展性成为研究热点。随着处理器规模增大,软件模拟速度和精度逐渐成

为瓶颈。FPGA硬件仿真的模拟速度很快,但仿真系统的规模严重受限于FPGA芯片的

容量。对于大规模可扩展体系结构仿真,若采用多片FPGA互连,不仅增加了设计的复

杂性,也增加了研究成本。本文提出了一种适用于SIMD体系结构的FPGA分页仿真模

型,该模型可以有效的减少仿真系统计算和存储资源的需求,增大FPGA的仿真规模,

在有限的FPGA资源上进行大规模SIMD体系结构仿真。本文利用Altera公司StratixII

系列FPGA芯片EP2S180对MASA流处理器进行仿真,实验结果表明,不采用任何仿

真优化技术,EP2S180能仿真的最大规模系统为8个cluster的MASA,采用分页仿真模

型,EP2S180的最大仿真规模可增加至256个cluster的MASA,而且对仿真时间产生的

增量为可接受的。

关键词: FPGA;仿真;SIMD;体系结构

中图法分类号: TP303文献标识码: A 文章编号:

The Research of FPGA-based Paging-Simulation Model for SIMD

Architecture

He Yi,Ren Ju, Yang Qianming, Guan Maolin, WenMei, Zhang Chunyuan, Guo Min (Schoo l o f Co mputer Scie nce, Nat io na l Universit y o f Defense Techno logy)Abstract: The low simulating speed of software simulation brings lots of inconveniency in architecture research. FPGA-based simulation system is much faster, but the scale of the system is often limited by the capacity of the FPGA chips. Using more FPGA chips or larger capacity FPGA chip may not only increase the complexity of design, but also increase the cost of research. This paper proposes a novel FPGA-based Paging-Simulation Model, which can reduce the compute resource and memory resource consuming of the simulation system efficiently. As the result of it, the large scale parallel architectures can be simulated with limited FPGA resources. We build the simulation system of MASA on Altera StratixII series chip EP2S180. The experiments show that without any simulation optimizing technoloy, the largest scale system can be implemented on EP2S180 is MASA of 8 clusters, while on the basis of Paging-Simulation Model, the largest scale system can be implemented on EP2S180 is MASA of 256 clusters, and the increment of the simulation time is acceptable.

Key words: FPGA; Simulation; SIMD; Architecture

1本文受自然科学基金项目(60673148, 60703073)、863项目(2007AA01Z286,2009AA01Z102)和国防科大计算机学院高性能计算联合博导组基金资助。(作者介绍)何义,男,1982年生,国防科技大学计算机学院博士研究

生,研究方向为高性能计算机体系结构。张春元,男,1964年生,教授,博士生导师,研究方向为计算机系统结构。

通信地址:湖南长沙国防科技大学计算机学院博士生队410073 E mail:gra nt_he@https://www.wendangku.net/doc/4717601952.html,.c n。

1 引言

随着媒体处理、科学计算等大量计算密集型应用的不断涌现,应用对处理器计算能力的需求也不断增大。SIMD(Single Instruction stream Multiple Data stream)体系结构以有效开发应用中DLP(Data Level Parallel)和ILP(Instruction Level Parallel),且功能单元数量可根据应用计算量和并行度的需求灵活扩展等特性,成为了面向计算密集型应用处理器研究领域的热点之一。

体系结构的验证主要依赖于软件模拟和硬件仿真两种方式。软件模拟方法具有成本低、开发周期短等优点,它能够为各种规模的SIMD处理器快速建模,但随着系统规模的增大和建模精度的提高,软件模拟的时间急剧增加直至难以接受。FPAG硬件仿真为体系结构的设计和验证提供了一个很好的解决方案,它具备可编程和快速可重构的灵活性,相对于软件模拟,其模拟速度快,且能够更加精准的模拟系统仿存、I/O等行为。但是,FPGA的仿真规模严重受限于FPGA芯片的容量,在面向大规模SIMD这类具有高扩展性的体系结构仿真时,问题更为明显。若采用更大容量的FPGA或利用多片FPGA进行仿真,将面临FPGA开发板重设计和多片FPGA互连通讯等问题。随着研究的深入,系统越来越复杂,这将造成研究成本和设计复杂度越来越高。因此,如何有效的利用FPGA 资源成为了处理器设计和体系结构研究中的一个重要问题。

本文提出了一种新颖的FPGA仿真模型——分页仿真模型(FPGA-based Paging-Simulation Model),它面向SIMD体系结构进行仿真优化。分页仿真模型通过虚拟计算页仿真模型来降低仿真系统对计算资源的需求,通过存储页旋转模型减少仿真系统对存储资源的消耗。分页仿真模型可以增大FPGA的仿真规模,在有限的FPGA资源上进行大规模SIMD体系结构仿真。

本文第2部分介绍了相关工作,第3部分介绍了分页仿真模型;第4部分介绍了分页仿真系统的设计方法;第5部分以MASA流处理器为例,构建了MASA分页仿真系统,并对仿真系统的资源消耗和仿真速度进行了评估;第6部分总结全文。

2 相关工作

time-multiplexed emulation[1]面向大规模多处理器仿真研究,它将多个目标处理器映射到少量的模拟引擎上执行,从而增大系统的模拟规模。该技术与本文提出的分页仿真模型最大的不同是它复用了整个处理器系统,这将导致系统仿真时原系统中长延时事件的时间(如Cache失效等)减少。而分页仿真模型只复用计算核心部分,并在系统构建时通过调整带宽来保持原系统的计算带宽比,从而保证了各部分的延时特征。RAMP[2],Protoflex[3]和FAST[4]使用了软硬件联合仿真的思想来增大FGPA的仿真规模,它们将系统中经常发生行为交给FPGA完成,而将系统中不经常执行的操作交给软件完成,通过软件模拟减少硬件开销,通过硬件仿真加快仿真速度。尽管联合模拟的方式通过仿真行为的移植减少了仿真系统的资源消耗,但是最优的软硬划分时很难达到的[5,6],而且软件部分缓慢的执行速度很可能会成为仿真系统的速度瓶颈[7]。

3 分页仿真模型

分页仿真模型的主要思想是:为目标系统(TS:Taget System)构建仿真系统时,采用资源消耗较少但功能等价的模块对目标系统中部分资源需求较大的模块进行仿真,从而减少仿真系统的资源消耗。本文将基于分页仿真模型的仿真系统称为分页仿真系统(PSS:Paging-Simulation System)。分页仿真模型包括两个子模型:虚拟计算页仿真模型和存储页旋转模型,它们分别对仿真系统的计算资源和存储资源进行优化。

3.1 虚拟计算页仿真模型

虚拟计算页仿真模型的主要思想是:在仿真系统中,通过分时复用一个计算页(AP:Arithmetic Page)来虚拟所有的对称处理单元(PU:Process Unit)并行执行的行为,从而减少仿真系统的计算资源消耗。如图1所示,图1(a)为目标系统,图1(b)为仿真系统。仿真系统中AP与目标系统中一个计算单元Proc的结构相同,它代替了目标系统中所有对称PU中的Proc。仿真系统保留了目标系统中所有的LM,分别用于对应保存AP虚拟每个PU执行时所需的操作数和执行的中间结果2,在AP与LM之间,通过增加选择器mult-select确保AP在每个分时执行周期可以从对应的LM空间存取数据。

图1 虚拟计算页仿真模型

SIMD体系结构的处理单元之间是紧密耦合的,所有处理单元的执行过程是严格同步的,即同一时钟周期内每个处理单元都必须完成对不同数据的同一的操作,因此分页仿真系统必须在逻辑上保持这种同步执行模式。在分页仿真系统中,一条指令流出之后,控制其在指令流水线中保持n个时钟周期(可以连续的n个时钟都发射同一条指令),AP在n个周期内均执行该指令处理与各PU对应的数据。也就是说,目标系统n个PU 一个周期并行执行的行为,转换由分页仿真系统中AP在n个时间片内完成,如图2中的n个slice。若将分页仿真系统中的n个时钟周期看作系统的工作周期,则n个数据是在同一工作周期内被处理。这样就在逻辑上保持SIMD的执行模式。由于AP虚拟多个PU执行时,仿真系统的处理单元执行速度降低为目标系统的1/n,为了保持系统功能的等价性,仿真系统中片上共享存储器和片外存储器的带宽都降低至目标系统的1/n。

图2 SIMD体系结构分页仿真系统执行模式

当PU i当前周期的执行结果会作为PU j在后续时钟周期的输入时(在同一时钟周期二者不可能存在数据依赖),PU i当前的执行结果会通过Inter Connection送入PU j对应的LM空间。由于虚拟计算页仿真模型没有改变Inter Connection和LM的连接关系,

2 这种方法相当于是将n-1个PU中的本地存储器“挪移”至一个PU中。这种“挪移”没有改变目标系统的总存储资源消耗。

因此,对这类存在数据依赖的操作进行仿真时,保持了目标系统中数据传输方式,由通信指令或相关的硬件完成,不需要增加额外的软硬件支持。

3.2 存储页旋转模型

存储页旋转模型的核心思想是:在仿真系统的中构建一定容量的片上存储空间(称为存储页MP:Memory Page),其所处的存储层次和带宽与目标系统片上存储器相同,但容量远小于目标系统中片上存储器总容量。通过利用小容量片上存储器旋转使用的方式,仿真目标系统中大容量片上存储器的行为。

M

图3 存储页旋转示意图

当前FPGA仿真系统的工作频率一般很难超过200MHz,而DDRIII存储器的工作频率已经可以达到533MHz(工作频率为267MHz,时钟上升沿和下降沿都可以进行数据传输),特别是对DDR存储器大量连续地址访问时,几乎可以达到每个周期完成一次读/写操作。二者速度上的匹配使得储存墙问题在FPGA仿真系统中弱化。因此,存储页旋转模型在外部存储器中分配一块大小与目标系统片上存储器容量相等的存储空间,称为后备存储区(BS:Backup Storage),用于存储目标系统片上存储器中的数据。MP是BS的子集,其通常是目标系统中存储器容量1/2p(p为正整数)。当AP访问存储器时,若MP命中,则从MP中存取数据;若MP失效,则从BS中存取数据;若BS 也失效,则从片外存储器其他空间存取数据。我们将MP失效称为“假失效”,将BS失效称为“真失效”。当发生假失效而未发生真失效时,仿真系统的暂停时间不记录在目标处理器访存时间内;当发生真失效时,仿真系统的暂停时间记录在目标处理器访存时间内。可以看出,存储页旋转模型通过程序段轮转使用MP的方式使得MP的逻辑容量与目标系统中存储器容量相等。

片上存储器通常采用动态cache和静态存储器两种结构,图3(a)是利用存储页旋转模型对cache的改造,图3(b)是对静态存储器的改造。外部存储器DDR被分为两个部分,后备存储区BS和片外存储区。因此,当仿真系统需要从BS中访问片上存储器时,需经过一次地址变化,即目标系统片上存储器地址Target_addr,与仿真系统中BS地址BS_base_addr+Target_addr对应,BS_base_addr为BS的基地址3。

若目标系统采用cache存储器,MP设计为小容量的cache,BS相当于MP的二级cache(MP容量仿真系统的规模,通常为BS的1/2、1/4或1/8,对应的MP设计为2

3设计中可以使BS_base_addr低m位均为零,m为目标系统片上存储器地址的位宽,这样可以使得BS_base_addr+Target_addr转换为BS_base_addr|Target_addr,从而降低地址转换开销。

路、4路或8路组相联的cache),它们之间的映射保存在TAG1中;BS与片外存储器的映射保存在TAG0中。若MP失效,则根据TAG1访问BS。若BS命中,则更新MP;若BS失效,则根据TAG0访问片外存储区,数据从片外存储区先进入MP,再进入BS。

若目标系统采用静态的片上存储器,MP设计为小容量的静态存储器。目标系统的片上静态存储器通过将多个程序段的数据提前载入,从而减少数据存取造成的处理器停顿。存储页旋转模型的MP只负责提前载入部分程序段所需的数据,待该程序段处理完成后,将处理结果写回BS,然后将后续程序段所需的数据导入MP。若程序段的数据量超过MP的容量,则采用双缓冲的模式,如图3(b)所示,MP中一个数据区域被分为alive partition和prepare partition两个部分,处理器在处理alive partition中的数据时,同时将即将处理的数据导入prepare partition。当alive partition数据处理完毕后,当前prepare partition变为alive partition,alive partition则转变为prepare partition。这种计算和访存重叠的模式有利于提高仿真系统的仿真速度。

构。因此,分页仿真模型不影响仿真系统与目标系统在功能上的等价性;

2.时序等价性。虚拟计算页仿真模型相当于将目标系统的一个时钟周期拉长了n 倍,即仿真系统的工作周期为目标系统的n 个周期。仿真系统在每个工作周期内的行为与目标系统一个时钟周期的行为等价,而且AP 支持对PU 每个时钟周期的行为仿真;存储页旋转模型使用小容量的MP 对存储器的片上存储器行为进行了仿真,且MP 失效引起的仿真系统停顿不记录为目标系统的访存行为,从而保证了时序等价性;

根据时序等价性,通过公式1可以由仿真系统的执行周期获得目标系统的执行周期。其中Cycle ta rg et 表示目标系统的执行周期,Cycle BS _misst 表示BS 失效引起的系统停顿周期,Cycle AP 表示AP 执行周期,n 表示目标系统中PU 的数量。

()n Cycle Cycle Cycle AP miss BS et t +=_arg ……公式1

3.资源消耗等价性。分页仿真模型虽然降低了仿真系统中的资源消耗,改变了仿真系统的资源消耗特征,但仍然可以根据其资源消耗计算出目标系统的资源消耗,从而保证与目标系统资源消耗的等价性。

相对于目标系统,分页仿真系统用一个AP 代替了n 个处理单元,因此,在计算目标系统的计算资源消耗时,应在分页仿真系统的计算资源消耗基础上加上n-1个处理单元的计算资源消耗;为控制AP 分时执行,分页仿真系统中额外增加了AP 控制逻辑(APC :AP Controller ),另外mult-select 是专为保证AP 和对应LM 连接设计,所以目标系统中不包括二者资源开销。因此,目标系统的资源计算资源消耗可由公式2得到,其中CRsc Ta rg et 表示目标系统的计算资源消耗,CRsc PS 表示分页仿真系统的计算资源消耗,CRsc AP 表示分页仿真系统中AP 的计算资源消耗,CRsc APC 表示分页仿真系统中APC 的计算资源消耗,CRsc mu lt-select 表示分页仿真系统中mult-select 的计算资源消耗。

select mult APC AP PS et T CRsc CRsc CRsc n CRsc CRsc ?????+≈)1(arg ……公式2

存储资源主要分为两个部分,PU 内的局部存储器资源和PU 共享的片上存储器资源。虚拟计算页仿真模型将所有PU 的局部存储器都“挪移”至AP 内,因此,没有改变局部存储器资源的消耗。存储页旋转模型根据其结构不同分别设计了不同的优化结构, cache 和静态管理存储器分别采用公式3和公式4计算目标系统的存储资源消耗。其中MRsc Ta rg et 表示目标系统的存储资源消耗,MRsc PS 表示分页仿真系统的存储资源消耗,MRsc MP 表示分页仿真系统中MP 的存储资源消耗,MRsc TAG1和MRsc TAG0分别表示分页仿真系统中TAG0和TAG1的存储资源消耗,MRsc MEM 表示目标系统中片上静态存储器的存储资源消耗,MRsc Ca ch e 表示目标系统中片上Cache 的存储资源消耗。

Cache TAG TAG MP PS et T MRsc MRsc MRsc MRsc MRsc MRsc +???≈01arg ……公式3

MEM MP PS et T MRsc MRsc MRsc MRsc +?≈arg ……公式4

公式1~公式4右边的量都可以利用FPGA 工具通过对分页仿真系统的测试得到。在资源消耗的计算中有少许误差,如从分页系统中减去APC 的资源消耗时,只减去了APC 模块的资源消耗,它与其它模块连接的连线资源消耗并没有考虑在内。这些资源消耗相对于全系统的资源消耗来说,是一个极小的部分,不影响我们对目标系统资源消耗特性的分析。

4.模型合理性。分页仿真模型的合理性由分页仿真系统与目标系统的资源消耗关系,以及分页仿真系统的仿真速度决定。资源消耗和仿真速度都必需到真实的仿真系统中测试。本文第5部分将通过实例实现来分析分页仿真模型的有效性。

4 分页仿真系统设计方法

基于分页仿真模型构建SIMD 体系结构分页仿真系统主要依据以下的设计方法。首先,利用一个AP 替代目标系统中多个对称的cluster 处理单元,将所有cluster 的本地

存储器“挪移”至AP中,并在硬件上保证各存储空间对应存储目标系统中cluster的本地数据信息。其次,通过实验或资源消耗模型分析,系统规模扩展时目标系统中消耗主要存储资源的存储器;构建小容量的MP,保证其与目标系统中该存储器的存储层次和带宽相同,并在外部存储器中构建后备存储区BS,通过MP与BS两级存储模式,仿真目标系统中大容量片上存储器的行为。最后,利用FPGA综合工具生成系统,分别对分页仿真系统进行功能和时序测试,记录执行时间、资源消耗等特性,根据公式1~公式4还原目标系统的执行周期、资源消耗等特征。

图5 体系结构描述文件ADF

为方便构建SIMD体系结构仿真系统并满足其cluster扩展研究的需求,在分页仿真系统系统中设计了结构描述文件ADF(Architecture Description File),如图5所示。系统仿真时可通过配置ADF来构建不同结构的SIMD处理器仿真平台。

当SIMD体系结构中cluster数目变化时,为优化处理器总体性能,各级存储带宽、存储器容量都需要相应变化。在ADF中,提供了cluster数目、多级存储带宽、存储器容量等配置参数。另外,用户还可以根据所关注应用的特征,利用ADF定制运算单元的功能[9]。图5中10-12行是cluster配置行,AP_Virtuals_Cluster表示AP分时执行时虚拟的cluster数量,即目标系统中cluster的数目;13-16行为MP定义行,即定义MP 为目标系统中对应存储器容量的1/Mem_Paging;17~22行为带宽定义行,负责设置处理器的各级存储带宽;23~29行定义了目标系统中各存储器的位宽和深度;30~36行计算了分页系统中MP的深度;37-46行定义了运算单元的功能,也就是系统指令集配置。

5 实例实现

本文以MASA[10]流体系结构作为目标系统,基于分页仿真模型构建相应的分页仿真系统。MASA包括两个异构的处理器核:标量处理器核和流处理核。标量处理器核主要负责执行标量程序和发送流指令给流处理器核;流处理器核以协处理器的方式工作,其结构如图6(a)所示。它包含多个对称的计算簇(cluster),所有计算簇以SIMD的方

式对数据流中的元素进行密集的运算。每个cluster都拥有自己私有的本地存储器(LRF),用于保存其计算的中间结果,所有cluster共享一个容量较大的数据存储器(SRF),用于捕捉应用中的生产者—消费者局域性[11,12]。MASA可以根据应用中数据级并行的需求对cluster的数目进行扩展[10],增大SIMD处理规模。

本节的实例实现主要验证基于分页仿真模型的MASA分页仿真系统的功能、时序和资源消耗等价性,以及模型的有效性。

器。在虚拟计算页仿真模型中,所有cluster 的SP 单元都被“挪移”至AP 中,这使得AP 中的SP 单元资源消耗急剧上升。本文为AP 中的每个SP 都建立了MP 以及对应的BS 空间,如图6(b )所示,所有SP 都采用图3(b )的管理方式。

图7 采用虚拟计算页仿

真模型时仿真系统的存储资源消耗

图8 计算资源硬件开销

图9 分页仿真系统存储资源消耗

虚拟计算页仿真模型使得EP2S180的仿真能力增大至拥有32个cluster 的MASA ,结合存储页旋转模型,EP2S180的仿真能力增加至256个cluster 的MASA 。图7表示了计算资源的硬件开销。图中分页仿真系统对应的曲线为分页仿真系统的资源开销,仿真系统对应的曲线为没有采用任何仿真优化技术的仿真系统资源开销,目标系统曲线是根据分页仿真系统的开销和公式3计算而得的目标系统资源开销,资源消耗模型曲线是

通过流处理器资源消耗模型[13,14]计算而得。图8(a)表示了分页仿真系统的计算资源消耗,以及1~8个cluster的MASA仿真系统与目标系统的计算资源消耗;图8(b)表示了16~256个cluster的MASA仿真系统计算资源消耗和由流处理器资源消耗模型计算出的目标系统计算资源消耗。可以看出,仿真系统和资源消耗模型的资源消耗曲线随着cluster数目的增加快速发散,而分页仿真系统的资源消耗曲线相对收敛。通过公式2计算的目标系统资源消耗与仿真系统和流处理器计算模型得到的目标系统计算资源消耗相符。分页仿真系统的计算资源增加主要是由于随着AP虚拟的cluster数目增加,APC中采用了大量的计数、选择逻辑和控制逻辑,另外,用于AP与LRF之间的多路选择器(mult-select)规模增大也使得仿真的计算资源需求增加。

图9(a)是分页仿真系统的存储资源消耗,图中“p分”表示仿真系统MP的存储容量是目标系统对应存储器容量的1/p。可以看出,当MASA拥有64个cluster时,2分、4分、8分的仿真系统都能在EP2S180上实现,128个cluster和256个cluster的MASA 分别只有8分和16分的仿真系统能实现。对于具有相同cluster数目的MASA系统,仿真系统中SRF消耗的存储资源随p值增大而减少;AP消耗的存储资源也随p值增大而减少,但减少的速度相对于SRF较缓慢。图9(b)是分页仿真系统中AP的存储资源消耗。SP的存储资源消耗随p值增加迅速减少,但随着p值的增加,LRF成为AP中存储资源的主要消耗者,且最终限制了EP2S180芯片的仿真能力进一步提高。在SIMD 体系结构中,功能单元同步执行使得几乎每个周期都要访问本地存储器,且数据访问的地址不具有连续性。因此,若在仿真系统中对LRF使用存储页旋转模型进行改造,将会使得MP和BS频繁数据交换,严重影响仿真系统的速度。

图10 存储资源硬件开销

图10显示了目标系统、仿真系统、分页仿真系统以及资源消耗模型的存储资源消耗。由于存储资源相对于计算资源比较规整,所以分页仿真系统的测试结果和公式3、公式4计算而得目标系统存储资源消耗与资源消耗模型差异很小。当MASA体系结构扩展超过32个cluster,分页仿真系统在多个“p分”系统中进行最优选择。由于存储资源限制,128个cluster和256个cluster的系统分别选择8分和16分的仿真系统;64个cluster的系统可以有三种选择,由于大容量MP可以减少MP和BS之间的数据交换,因此,为了尽量提高仿真系统的性能,64cluster的MASA系统选择了2分的仿真系统。可以看出,存储页旋转模型能有效的减少仿真系统的存储资源消耗,增大仿真规模。

5.2 仿真速度评估

由于在不采用仿真优化技术时,EP2S180的最大仿真能力为8个cluster的MASA 系统。因此,本文选取8个cluster的MASA作为目标系统,分别在未优化的仿真系统MASA、采用虚拟计算页仿真模型的仿真系统MASA_V、分页仿真系统MASA_P(采用

了虚拟计算页仿真模型和存储页旋转模型)上执行MPEG-2编码程序,评估分页仿真模型对仿真系统仿真速度的影响。MPEG-2所选编码图像每帧大小为800*600,核心代码和初始化图像通过文件系统加载。仿真系统都在60M的主频下工作,采用Altera公司的NiosII 32位嵌入式软核作为主处理核,外部存储器采用工作频率133MHz的DDR存储器,MASA_P采用了2分的存储系统。

表1 仿真系统执行时间

单位(second) MASA MASA_V MASA_P

cluster/AP busy time 0.98 7.83 7.84

stall caused by on-chip memory miss/BS miss 1.16 9.31 9.31

stall caused by MP miss 0 0 16.83

Scale operations execute time 7.38 7.39 7.39

NIOS data access time 32.8 32.8 32.8

NIOS system overhead 14.2 14.1 14.1

Total simulation time 56.52 71.43 88.27

三个仿真系统仿真时间如表1所示。仿真系统的执行时间主要包括流处理器核执行时间和标量处理器核执行时间。流处理器核执行时间包括cluster/AP忙时间、片上存储器访问失效造成的停顿时间以及MP失效造成的停顿时间;标量处理器核执行时间包括标量操作执行时间、标量数据存取造成的停顿时间以及标量核系统开销。可以看出,相对于没有采用任何仿真优化技术的仿真系统而言,虚拟计算页仿真模型使得多个处理单元并行执行的模式变为单个处理单元分时执行,从而使得处理单元的执行时间成倍增加;存储页旋转模型增加片上存储器和片外存储器的数据交换,从而增加了处理核因访存造成的停顿。虽然DDR存储器的峰值速度可以满足仿真系统实时访存的需求,但其刷新时间和启动开销还是会对访存造成影响,因此,MP失效的开销在仿真时间中占据了一定的比例。分页仿真模型对标量处理器核的执行时间基本没有影响。

可以看出,分页仿真模型对仿真时间的影响主要体现在两个方面,AP执行时间和访存停顿时间,且仿真时间增量与公式1相符。相对于原仿真系统,AP执行时间(包括片上存储器失效停顿时间)是n个PU并行执行时间的n倍。在FPGA仿真系统中,测试程序在n个PU并行执行的时间通常以秒来计算;根据本文的实验,分页仿真模型增加仿真系统规模是有上限的,因此,AP执行的时间也只是处于“百秒级”或“千秒级”;访存停顿主要由数据量和存储带宽决定,而应用的数据量是有限的,因此,访存停顿时间也是有限的,据分析,通常处于“十秒级”或“百秒级”。因此,分页仿真模型对仿真时间产生的增量最大只处于“千秒级”。但是,若采用MASA的软件模拟器MSIM[15](基于斯坦福大学Imagine模拟器ISIM[8]),同样的MPEG-2编码程序在8个cluster的MASA软件模拟器上执行时间需要4天多5,且软件模拟的时间随仿真系统规模增大迅速增加,直至不可接受。

图11显示了三个仿真系统SoC实现的Post-place&rout视图。可以看出,MASA消耗了FPGA芯片EP2S180中的绝大部分资源,若不采用仿真优化技术,可仿真系统的规模几乎到达极限;MASA_V在MASA的基础上,减少了cluster的资源消耗,MASA_P 进一步减少了SRF的资源消耗(AP内部的SP单元资源消耗也减少了,但图中难以表达出来)。

对比软件模拟器模拟速度,综合仿真系统资源消耗和研究成本,本文认为,分页仿真模型产生的仿真时间增量是可以接受的。

5 MSIM运行环境:AMD 3000+,主频1.81GHz,1.00GB内存,WinXP操作系统。

图11 仿真系统SoC实现的Post-place&rout视图

6 总结全文

随着SIMD处理器规模的不断增大,单片FPGA芯片难以满足SIMD仿真系统的资源需求。为了解决这一问题,本文提出了分页仿真模型,包括虚拟计算页仿真模型和存储页旋转模型。实验结果表明,分页仿真模型能有效的降低仿真系统的资源消耗,增大FGPA芯片的仿真能力。采用分页仿真模型,EP2S180芯片的仿真能力由8个cluster 的MASA系统提升至256个cluster的MASA系统。分页仿真模型对于仿真系统的仿真速度有所影响,但相对于软件模拟器,分页仿真模型产生的仿真时间增量是可以接受的。

分页仿真模型不仅适用于SIMD体系结构,它同样可以用于对称多核、众核等对称处理器体系结构仿真,如SMP等。在未来的工作中,我们将重点对各种对称体系结构的分页仿真模型进行研究。

References:

[1] Eric S. Chung, Eriko Nurvitadhi, James C. Hoe, et al. Virtualized Full-System

Emulation of Multiprocessors using FPGAs[C]. 2nd workshop of architectural research prototyping (WARP-2007) June 2007

[2] Arvind, K. Asanovic, D. Chiou, J. C. Hoe, et al RAMP:Research accelerator for

multiple processors –a community visionfor a shared experimental parallel HW/SW platform. Technical Report UCB/CSD-05-1412, September 2005.

[3] Eric S. Chung, Michnel K, et al . ProtoFlex: Towards Scalable, Full-System

Multiprocessor Simulations Using FPGAs[J], ACM Transactions on Reconfigurable Technology and Systems, vol 2, issue 2. NO.15. June 2009

[4] Derek Chiou,Dam Sunnoo,Joonsoo Kim et al.FPGA-Accelerated Simulation

Technologies (FAST): Fast, Full-System, Cycle-Accurate Simulators[C], In Proc. of the 40th Annual International Symposium on Microarchitecture, 2007, pp249-261 [5] David A. Penry, Zhuo Ruan, Koy Rehme. An Infrastructure for HW/SW Partitioning

and Synthesis of Architectural Simulators[C]. In 2nd Annual Workshop on Architectural Research Prototyping (WARP-2007), San Diego, CA, June 2007

[6] T. Suh, H.-H. S. Lee, S.-L. Lu, and J. Shen. Initial Observations of Hardware/Software

Co-Simulation using FPGA in Architectural Research[C]. In Proceedings of the Workshop on Architecture Research using FPGA Platforms, HPCA-12, Feb. 2006

[7] D. A. Penry, D. Fay, et al. Exploiting parallelism and structure to accelerate the

simulation of chip multi-processors[C]. In Proceedings of the 12th International Symposium on High-Performance Computer Architecture, Feb. 2006.pp 29–40

[8] ISIM Simulator tool suite[DB/OL], https://www.wendangku.net/doc/4717601952.html,/tool

[9] He Yi, Ren Ju, Zhang Chunyuan, et al. Research on the Design of a Kernel-Level

Instruction Set and the Compiler-Related Techniques for Configurable Stream Processors[J]. Computer Engineering & Science, Vol.31, No. 11. 2009 pp40-44

[10] WenMei,WuNan, ZhangChunyuan, et al. Multiple-Dimension Scalable Adaptive

Stream Architecture[C],ninth Asia-Pacific Computer Systems Architecture Conference.

LNCS3189,Beijing,2004.9. pp199-211

[11] Scott Rixner,William J. Dally, Brucek Khailany, Peter Mattson, et al. Register

organization for media processing[C]. In Proceedings of the Sixth International Symposium on High Performance Computer Architecture, January 2000.pp 375-387 [12] Scott Rixner, Stream Processor Architecture[M], Kluwer Academic Publishers. Boston,

MA, 2001

[13] Wen Mei, Key Techniques Research of Stream Architecture[D], [Ph.D. dissertation].

Department of Computer Science, National University of Defense Technology Changsha, Hunan, P. R. China September, 2006

[14] Brucek Khailany. The VLSI implementation and evaluation of area-and

energy-efficient streaming media processors[D], [Ph.D. dissertation]. The department of electrical engineering, Standford University,USA, 2003

[15] Wen, M., Wu, N., Xun, C., Wu, W. and Zhang, C. Analysis and Performance Results

of a Fluid Dynamics Application on MASA Stream Processor[C]. In Proceedings of International Conference on Information Systems, 2006(ICIS'06), pp 350-354

创新性说明:

本文提出了一种适用于SIMD体系结构的FPGA分页仿真模型,该方法可以有效的减少仿真系统计算和存储资源的需求,增大FPGA的仿真规模,在有限的FPGA资源上进行大规模SIMD体系结构仿真。分页仿真模型包括虚拟计算页仿真模型和存储页旋转模型。虚拟计算页仿真模型通过分时复用计算页单元来虚拟所有的对称计算簇并行执行的行为,从而减少仿真系统的计算资源消耗。存储页旋转模型通过程序段轮转使用存储页的方式,增大仿真系统中片上小容量存储器的逻辑空间,降低仿真系统的存储资源消耗。另外,本文分析了分页仿真模型的功能测试完备性和时序逻辑等价性,并提出了系统执行周期以及硬件资源消耗的计算公式。

本文以MASA流处理器作为目标处理器,构建了MASA流处理器的分页仿真系统。实验结果表明,采用分页仿真模型,Altera公司FPGA芯片EP2S180的仿真能力由8个cluster的MASA系统提升至256个cluster的MASA系统。分页仿真模型对于仿真系统的仿真速度有所影响,但相对于软件模拟器,分页仿真模型产生的仿真时间增量是可以接受的。

投稿声明:

作者保证(1)该论文为其原创作品并且不泄漏国家秘密、不侵权;(2)本论文对所引用他人的成果已经在文中引用处加以明确说明并已注明出处;(3)该论文没有一稿多投。

相关文档