[发明专利]通过混叠向多处理器设备中的多个处理器广播指令/数据的系统和方法有效
申请号: | 200710107482.0 | 申请日: | 2007-05-15 |
公开(公告)号: | CN101082900A | 公开(公告)日: | 2007-12-05 |
发明(设计)人: | S·L·罗伯茨;C·J·斯潘迪科;A·P·伯恩斯;T·斯旺森 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F15/177 | 分类号: | G06F15/177;G06F12/02 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 王茂华 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 处理器 设备 中的 广播 指令 数据 系统 方法 | ||
技术领域
本申请一般地涉及改进的数据处理系统和方法。更具体地,本申请针对一种用于通过混叠(aliasing)向多处理器设备中的多个处理器广播指令/数据的系统和方法。
背景技术
当前计算设备的趋势是在单个计算设备中提供多个处理器,其中每个处理器可以基本同时地执行不同指令。通过依此方式来提供多个处理器,通过跨越多个处理器来分布应用从而实现更高的指令执行速度。
一种类型的多处理器系统是对称多处理器(SMP)系统,在该系统中两个或更多相同的处理器连接到单个共享的主存储器。当今最常见的多处理器系统使用SMP架构。SMP系统允许任何处理器执行任何任务,而不管用于该任务的数据位于存储器的什么地方。通过适当的操作系统支持,SMP系统可以很容易地在处理器之间移交任务以有效地平衡工作负载。然而,存储器比对其进行访问的处理器要慢,并且即使是单处理器机器也趋向于花费相当长的时间来等待来自存储器的数据的到达。SMP使得情况更糟,因为多处理器对一组资源发生竞争。
在SMP系统中使用了不同类型的存储器组织。一种类型是非一致内存访问(NUMA)系统,其向不同的处理器贡献不同的存储器库。这允许处理器平行地访问存储器,这可以在数据局部化于特定进程并因此局部化于特定处理器时显著地改善存储器吞吐量。然而,NUMA使得将数据从一个处理器移交到另一个处理器的成本较昂贵,即平衡工作负载较昂贵。NUMA的优势局限于特定工作负载,特别是局限于其中的数据通常与特定任务或用户有很强关联的服务器。
其他系统包括非对称多处理(ASMP)系统,在该系统中不同的专门处理器用于特定任务。而且,在另一种类型的非对称多处理系统中,即在计算机集群多处理中(例如Beowulf)中,并非所有的存储器都可以供所有的处理器使用。前者的使用或支持并不广泛,但现代视频卡中的高功率3D芯片组可以被看作是一种非对称多处理的形式。而后者相当广泛地用于构建非常大型的超级计算机。
在这些类型的多处理器系统中,所关注的是通过使每个处理器处理不同指令和不同数据而跨越多个处理器来分布处理负载的能力。因此,这些系统没有被配置成考虑向多处理器系统中的多个处理器广播单一数据集。实际上,这些系统中的总线架构通常阻止向多个处理器广播指令和/或数据,因为有必要能够在处理器之间进行区分以执行负载分布和负载平衡操作。
发明内容
所示意的实施方式提供一种用于通过混叠向多处理器设备中的多个处理器广播指令/数据的系统和方法。在一个示意性实施方式中,为多处理器系统中的每个处理器提供存储映射输入/输入(MMIO)寄存器,该寄存器存储多处理器系统中特定处理器的标识符。提供另一MMIO寄存器,用于标识与多个处理器相关联的本地存储的大小。这些MMIO寄存器由处理器用来定义用于与特定处理器相关联的本地存储的起始地址。
为了向多处理器系统中的多个处理器广播数据,控制该广播的处理器,例如控制处理器,对存储各处理器的标识符的MMIO寄存器进行写入,并将这些MMIO寄存器中的两个或更多设定为相同值,从而暂时将两个或更多处理器的本地存储区标识为相同。控制处理器可以例如通过直接存储器访问(DMA)写入操作而将待被广播的期望数据和/或指令写入到与起始地址相对应的存储器部分中,其中该起始地址与两个或更多处理器的本地存储起始地址标识符相关联。
以此方式,当两个或更多处理器寻找从其中读取指令/数据以进行处理的本地存储的起始地址时,这两个或更多处理器将标识相同的起始地址,本质上混叠了两个或更多处理器之间的存储器区域。这两个或更多处理器将从开始于被标识起始地址的相同混叠存储器地址空间中读取指令/数据并处理该相同的指令/数据。
接下来,一旦完成了广播操作,则控制处理器可以将存储该两个或更多处理器的标识符的MMIO寄存器复位回它们的原始值。然后可以恢复多处理系统的正常操作。
在一个示意性实施方式中,提供了一种用于在多处理器系统中将数据广播至多个处理器的方法。该方法可以包括:针对多个处理器中的每个处理器而将用于分配给该处理器的存储器区域的起始地址修改为用于多个处理器中每一个处理器的公用起始地址。可以将待广播至多个处理器的数据写入到对应于该公用起始地址的存储器区域中。在将待广播的数据写入到对应于该公用起始地址的存储器区域中之后,可以将用于分配给每个处理器的存储器区域的起始地址修改为在多个处理器器之间非公用的原始起始地址。该多个处理器可以是多处理器系统中所有处理器的子集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710107482.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:低密奇偶校验码解码法和装置及用其的光学信息再现设备
- 下一篇:加热烹调器