用于仿真共享内存架构中的长延迟操作的架构制造技术

技术编号:13834553 阅读:75 留言:0更新日期:2016-10-14 19:16
用于仿真共享内存(ESM)架构的处理器架构布置,包括若干多线程处理器,优选地多个多线程处理器,每个多线程处理器设置有交错的线程间流水线,其中流水线包括多个串联布置的用于对数据执行算数、逻辑以及可选地其它操作的多个功能单元,其中较低延迟的一个或多个功能单元被放置在所述流水线中位于内存访问区段之前,并且用于执行与较长延迟相关联的较复杂操作的一个或多个长延迟单元(LLU)被放置成操作上与内存访问区段并行。在一些实施方案中,流水线可以包含与内存访问区段并行的多个分支,每个分支包含至少一个长延迟单元。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及计算机科学和计算机架构。具体而言,本专利技术涉及与仿真共享内存架构有关的长延迟操作的执行。
技术介绍
在SMA(共享内存架构)中,数据和程序分区通常通过将需要多线程处理的数据放进共享内存并且将程序更加独立地划分给处理器来实现,由此使得与消息传递(MPA)架构相比而言编程更容易,在消息传递架构中,处理始终在本地发生并且程序员相应地负责将数据四处移动。遗憾地是,大多数SMA使用由多个互联的处理器-缓存器对组成的分布式共享内存架构,这使得缓存器一致性(以及延时容许度)和同步性维护非常昂贵。这甚至可能破坏它们在通信密集型问题方面的表现。为解决例如上述问题,已经引入了仿真共享内存(ESM)或共享内存仿真、架构。它们包括经由高吞吐互通网络连接到通常一致且同步可访问的共享内存的一组多线程处理器。通过重叠的正在进行的内存引用隐藏了内存系统延时,并且建立了保证机器指令级的同步性的特殊的低成本同步机制。虽然实际的硬件架构包括物理分布式内存,但是ESM系统为用户提供了理想的共享内存感知。从理论的角度看,这些架构试图模拟抽象的并行随机存取机(PRAM),该并行随机存取机由于它的简单性和表现力而通常被用作用于描述和分析计算问题的内在并行性以及执行并行算数的性能和成本的模型。PRAM模型通常指的是一组在相同时钟下工作的处理器以及与处理器连接的统一单步可访问的共享内存。因此,ESM是一种解决关于片上多处理器(CMP)的可编程性和性能可扩展性问题的可行技术,因为ESM产生了在机器指令的执行中隐含的同步性、有效的延时隐藏技术以及足够的带宽来路由即使具有大量随机和并发访问的工作负荷的所有内存引用。同步执行被认为使编程更加容易,因为程序员不需要在每次全局内存访问后明确地同步执行的线程,而是能够依靠硬件来自动地处理此事,然而例如在消息传递架构(MPA)中,程序员负责明确地定义通信、同步子任务以及描述线程之间数据和程序化分,这使得MPA编程困难。在共享内存仿真中使用的延时隐藏使用高吞吐计算方案,其中当线程引用全局共享内存时执行其他线程。由于吞吐量计算方案采用从可用线程级并行中读取的并行宽松度,该吞吐量计算方案被认为与传统的对称多处理器和非统一内存访问(NUMA)系统而言提供了增强的可扩展性,所述传统的对称多处理器和非统一内存访问(NUMA)系统依靠窥探或基于目录的缓存器一致性机制并且因此遭受到有限带宽或目录访问延时以及繁重的一致性通信维护的问题。最近,已经提出可扩展的ESM架构包含步骤缓存器(step caches)来实现PRAM的并行读并行写(CRCW)内存访问变型,这进一步地简化了编程并且在某些情况下通过对数因子增强了性能。在附着至步骤缓存器以约束步骤缓存器的关联性的暂存器的帮助下还实现了一种支持常量执行时间多(-前置)操作的机制,该机制实现PRAM模型的更强大的多操作并行读并行写(MCRCW)变型。例如,出版物1:M.Forsell,Step Caches—a Novel Approach to Concurrent Memory Access on Shared Memory MP-SOCs(步骤缓存器——一种在共享内存多处理器-片上系统上并行内存访问的新方法),第23次IEEE NORCHIP会议记录,2005年11月21-22日,Oulu,芬兰,74-77;2:M.Forsell,Reducing the associativity and size of step caches in CRCW operation(减少CRCW操作中步骤缓存器的关联性和大小),第8届并行分布式计算模型研究进展研讨会(联合第20届IEEE国际并行分布式处理专题研讨会,IPDPS’06),2006年4月25日,Rhodes,希腊;3:M.Forsell,Realizing Multioperations for Step Cached MP-SOCs(实现用于步骤缓存多处理器-片上系统的多操作),2006年片上系统(SOC'06)国际研讨会会议记
录,2006年11月14-16日,Tampere,芬兰,77-82.;4:M.Forsell,TOTAL ECLIPSE—An Efficient Architectural Realization of the Parallel Random Access Machine(TOTAL ECLIPSE—一种高效的并行随机存取机的结构实现),由Alberto Ros主编的Parallel and Distributed Computing(并行与分布式计算),INTECH,维也纳,2010,39-64;以及5:M.Forsell和J.Roivainen,Supporting Ordered Multiprefix Operations in Emulated Shared Memory CMPs(在仿真共享内存CMP中支持有序多前置操作),2011年并行和分布式处理技术与应用国际会议(PDPTA'11)的会议记录,2011年7月18-21日,洛杉矶,美国,506-512,上述出版物考虑了这样的解决方案的不同方面并且它们的全部内容通过引用方式纳入本文。多(-前置)操作能够被定义为用于许多基础操作(例如ADD、SUB、MAX等),并且由于能够表达并行算法,多(-前置)操作被认为是并行主类型(primitives)。多(-前置)操作能够用于被多个处理器同时访问的同步和并行数据结构,而没有竞争情况和异步执行线程的架构的其他异常情况。图1中,示出了在硅平台上仿真共享内存的可扩展架构的高级例示图。该架构包括经由物理可扩展高带宽互联网络108连接到物理上分布式但是逻辑上共享的(数据)内存M1、M2、M3、…、Mp112的一组处理器(核)P1、P2、P3、…、Pp102。与数据内存112连接的主动内存单元110能够被认为是用于处理内存引用的内存控制逻辑单元。例如,主动内存单元110被布置用于管理在例如多(-前置)操作期间涉及其中多个内存引用指向相同内存位置的情况的计算。指令内存模块I1、I2、I3、…、Ip 104被配置用于为每个处理器102存储程序代码。为了通过基于分布式内存的实现方式有效地仿真共享内存,处理器102是利用Tp-阶段循环的、交错的线程间的流水线(Tp≥网络平均延时)变成多线程的。PRAM模型与架构链接,使得流水线中完整的周期通常对应于单个PRAM步骤。在多线程执行的步骤中(关于流水线整体,即包括实际执行阶段的所有流水线阶段),CMP的每个处理器的每个线程执行包括至多一个共享内存引用子指令的指令。因此步骤持续多个、至少Tp+1个时钟周期。在所描述的架构中,步骤缓存器是其中数据仅持续有效到正在进行的多线程执行步骤结束的总体关联式内存缓冲区。步骤缓存器对并发访问的主要贡献在于它们对于每个引用内存位置步进式地过滤掉除了首次引用之外的所有东西。这将每个位置的请求数量从P Tp减少到P,假定Tp≥P,允许在单端口内存模块上顺序处理所述请求。暂存器是如下的可寻址内存缓冲区,其在处理用于多操作的实际的处理器内部和处理器间的计算的步骤缓存器以及最少的核上与核外ALU(算数逻辑单元)的本文档来自技高网
...

【技术保护点】
一种用于仿真共享内存(ESM)架构的处理器架构布置,包括:若干个多线程处理器,优选地多个多线程处理器,每个多线程处理器设置有交错的线程间流水线(400、500),其中所述流水线(400、500)包括多个串联布置的用于对数据执行算数、逻辑以及可选地其它操作的多个功能单元(402、402b、402c、502a),其中较低延迟的一个或多个功能单元(402)被放置在所述流水线中位于内存访问区段(412)之前,并且用于执行与较长延迟相关联的较复杂操作的一个或多个长延迟单元(402b、502a)被放置为操作上与所述内存访问区段(412)并行。

【技术特征摘要】
【国外来华专利技术】2013.12.19 EP 13198516.01.一种用于仿真共享内存(ESM)架构的处理器架构布置,包括:若干个多线程处理器,优选地多个多线程处理器,每个多线程处理器设置有交错的线程间流水线(400、500),其中所述流水线(400、500)包括多个串联布置的用于对数据执行算数、逻辑以及可选地其它操作的多个功能单元(402、402b、402c、502a),其中较低延迟的一个或多个功能单元(402)被放置在所述流水线中位于内存访问区段(412)之前,并且用于执行与较长延迟相关联的较复杂操作的一个或多个长延迟单元(402b、502a)被放置为操作上与所述内存访问区段(412)并行。2.根据权利要求1所述的处理器架构布置,其中,若干功能单元(402c)功能上被放置在所述流水线中位于所述内存访问区段(412)之后。3.根据前述权利要求任一项所述的处理器架构布置,其中,至少两个长延迟单元链接在一起,其中,一长延迟单元被配置成将操作结果作为操作数传递至链中的后续单元。4.根据前述权利要求任一项所述的处理器架构布置,其中,较低延迟的一个或多个功能单元包括至少一个ALU用于整数算数。5.根据前述权利要求任一项所述的处理器架构布置,其中,所述流水线包括至少两个并行分支(500a、500b),每个分支包括与所述内存访问区段(412)并行...

【专利技术属性】
技术研发人员:马尔蒂·佛塞尔
申请(专利权)人:芬兰国家技术研究中心股份公司
类型:发明
国别省市:芬兰;FI

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1