用于多级处理的方法、系统和设备技术方案

技术编号:8805689 阅读:131 留言:0更新日期:2013-06-13 22:26
一种用于降低同步开销的成本的多级处理器(200),其包括上级处理器(201),该上级处理器(201)用于控制使用共享数据和进入关键区段的权限并且以处理器速度直接将该权限签发至多个下级处理器(202、203、…20n)中的每一个。在一个实施例中,下级并行处理器的指令寄存器被映射至上级处理器(201)的数据存储器。另一个实施例(1300)包括3个级的处理器。该方法包括将下级处理器的指令映射至上级处理器的存储器中并且控制下级处理器的操作。该方法和设备的一种变形有助于执行单指令多数据(SIMD)以及单到多指令和多数据(SI>MIMD)。处理器包括延长时钟频率以降低功耗的能力。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机数据处理并特别涉及多处理器数据处理。本专利技术更特别地涉及用于同步多级处理器的设备、方法和系统。
技术介绍
由于近来在技术和架构上的改进,单个微处理器的能力已经在性能、速度和复杂性上持续增长。这一改进在最近遇到了回报递减。由于增长的存储器/处理器速度差距和因芯片内的导体造成的延迟,单个处理器的性能已经开始达到其极限。同时,因较高的组件密度带来的功率和热管理限制造成了在时钟速率增加上的放缓。尽管单个处理器的性能正在达到其极限,但是由于新的多媒体应用、更复杂的数字信号处理、诸如天气的建模等科学应用、以及使用CAD工具来设计复杂系统的其它工程应用,对计算能力的需求正在增长。尽管技术仍在改进,从而以更高速度在每个芯片上制造更多的晶体管,但是单个处理器的架构不能继续有效地利用这些改进。结果是使产业界转向单个芯片上的多核。产业界最近已制造出单个芯片上的双核、四核和八核,并且用户期待获得性能上的成比例的增益。此外,利用单个芯片上的多处理器系统,直到最近对许多人仍是遥不可及的并行处理,现在可以以可负担的成本来提供了。多处理器系统的性能增益也被主要由于同步和通信开销所引起的基本问题所限制。现有的解决同步问题的尝试只取得有限的成功。并行处理器必须将应用分割成可以通过共享数据来被并发地执行并且可以使用网络和存储器相互通信的处理。数据的共享通常使用互斥而在时间上串行。在并行计算中经常使用Amdahl定律来预测通过使用多个处理器而可获得的理论最大提速。在并行计算中使用多个处理器对程序的提速被程序的顺序片段所需的时间所限制。例如,如果程序使用单个处理器核需要20小时,并且一个I小时的特定部分不能被并行化,而其余19小时(95%)的期望部分可以被并行化,则不管我们将多少处理器投入该程序的并行执行,最小执行时间都不能少于该关键的I小时。因此提速被限制在最多20倍。已经声明,最乐观的结果当然是有人想出如何制造随着核的数量增加而高效地工作的可靠的并行软件。这将提供构建未来30年的微处理器硬件的亟需的基础。即使每个芯片上的晶体管数量每一年或每两年即翻倍的惯例会停止——即摩尔定律令人害怕的终结,革新的封装也会允许从多个芯片创建经济的系统,这就维持了消费者长久以来享受的性能增益。在多处理器系统中使用特定原子指令来实现同步,该原子指令允许每个处理器先获取称作锁的特定存储器位置,然后才具有使用共享的数据项或进入关键的代码区段的权限。这牵涉到所有N个处理器使用网络或总线来竞争以获取锁并等待所有其它处理器。处理器在等待期间,在密闭的环路中自循环,从而浪费了时间和功率。每当处理器获取锁时,它都必须在完成时释放该锁。这牵涉到使用总线或网络使供获取和释放每个锁用的锁位置无效。SGI 0rigin3000系统中的32处理器的同步的时间成本是花去232000个周期,在此期间32个处理器原本可以执行2千2百万每秒浮点运算次数(22兆FLOPS),并且这明确地显示出传统的同步损害了系统性能。对于使用8个处理器来说,锁对于使用用于侦听的芯片外部的网络的传统的多处理器的可扩展性的影响扩展至仅约为6,然而当使用32个处理器时,可扩展性降至I。当使用32个处理器时,具有芯片内快速网络的多处理器扩展至仅约12。传统的多核处理器使用特定原子指令作为加载链接,再接着使用存储条件指令来用于同步。LL (加载链接)指令将一个数据块载入高速缓存中,然后后续的存储条件(SC)指令尝试写入同一块。它只有当从前一 LL起该块还未被访问时才成功。在LL与SC对之间的来自另一处理器对该块的任何访问都造成SC失败。这种情况的同步成本是使用总线或网络的等待时间,以及每当处理器失败时,它必须反复地使用总线以从高速缓存载入块(因为无效),同时在密闭的环路中自循环以等待成功的SC,从而浪费了时间和功率。解决这一问题的一种途径是多个处理器的研究加速器(RAMP =ResearchAccelerator for Multiple Processors)研究工程。RAMP提议在尝试开发用于大规模并行计算机的有效软件中,使用现场可编程门阵列(FPGA)来构建大规模海量并行处理器(MPP)(多达1000个处理器)。这种方法的问题是它对大规模多处理器系统进行仿真但并不精确地代表它的行为。例如,当RAMP使用真实的处理器时,处理器/存储器速度比变得非常大,造成对大量的处理器的性能增益的限制,并需要隐藏存储器差距的大的等待时间。FPGA仿真实现了相对于真实系统的少于100倍的减缓。因此,它不能被用于真实的大规模并行处理系统。事务存储器(TM)是作为改进并行处理性能的另一种尝试而被开发的。事务存储器尝试通过以原子方式无锁地执行大代码的事务来降低同步开销。如果事务失败,则它不提交,因而支持它的开销被浪费。事务存储器系统的关键挑战是降低实施原子性、一致性和隔离特性的开销。硬件TM限制是由于在存储器分级体系的低级别中强制系统进入溢出状态的硬件缓冲所导致的。软件TM当它被促使操纵元数据以跟踪读和写集合、附加指令时具有附加限制,该附加指令当被执行时增加存储器系统中的开销和功耗。以上提到的两种方法都不能有效地应对可扩展性问题。RAMP使处理器减缓,以隐藏真实的快速处理器可能需要几千条并行的指令来执行的巨大的存储器等待时间。TM限制大块的代码并行地运行,并且依赖在事务间具有并发性,从而阻止细粒度并行机制,使得系统性能被限制于最慢事务的性能。最近,研究者已提议了非对称芯片多处理器(ACM)以改进并行应用的串行部分的性能并且还改进关键的区段,而不是每个处理器使用锁来运行关键区段中的代码,单个处理器对大核(特定的强大的处理器)发送运行关键区段的请求,然后发送请求的处理器可以继续执行。该方法要求附加的开销来发送和接收从每个处理器至大核处理器的消息。关键区段中的数据和代码必须使用总线而被传送至大处理器,增加了额外的开销。这种方法以串行方式一次只能运行一个关键区段的代码,并且即使处理器的多个并发的组不相同也不能允许它们在各自的关键区段中运行。所有的处理器都一起竞争以得到使用大处理器的权限,因此一次只有一个处理器成功,而其它处理器必须等待。ACM所带来的改进主要是因为大处理器比所有处理器更快并且它可以加速串行代码。限制在于大处理器消耗更多的功率并且就硅而言要耗费更多来实施。ACM中的另一限制在于,当所有其它处理器使用大处理器来执行各自的串行代码时,大处理器的高速缓存存储来自缺少空间局部性的不同程序区域的代码和数据,从而造成因清除导致的高速缓存未命中率的增加。当不同的处理器试图访问共享数据或进入关键代码区段时,传统的多处理器系统使用锁以在该不同的处理器之间进行同步。每个共享的数据项或关键的区段使用称作锁的存储器位置,该锁必须通过将设置成I的寄存器的内容与锁的内容交换来获取,如果寄存器返回0,则锁空闲并且处理器以原子方式使用寄存器的值将锁设置成I。如果该交换在寄存器中返回1,则锁正在被另一处理器所使用,并且该处理器必须在环路中自循环以等待成功的交换。以下是在传统 的多处理器中用于同步的代码:R=I;.将处理器寄存器R的值设置成ILoop: EXCHANGE (R, LOCK) ;.将寄存器与锁交换If R==Ithen 本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:N·梅克希尔
申请(专利权)人:莫塞德技术公司
类型:
国别省市:

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

1