[发明专利]用于并行计算机中的集体操作协议选择的方法和系统有效
申请号: | 201210281401.X | 申请日: | 2012-08-09 |
公开(公告)号: | CN103150144A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | C·J·阿奇;M·A·布劳克瑟姆;J·D·拉特曼;B·E·史密斯 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 付建军 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 并行 计算机 中的 集体 操作 协议 选择 方法 系统 | ||
技术领域
本发明的领域是数据处理,或者更具体地讲是用于并行计算机中的集体操作协议选择的方法、设备和产品。
背景技术
1948年的EDVAC计算机系统的开发常被引述为计算机时代的开启。从那时开始,计算机系统已经演化成极端复杂的装置。与例如EDVAC的早期系统相比,今天的计算机更加精密复杂。计算机系统通常包括硬件和软件组件的组合、应用程序、操作系统、处理器、总线、存储器、输入/输出装置等。由于半导体加工和计算机架构的进步将计算机的性能推升得越来越高,更加精密复杂的计算机软件已经进化为利用硬件的更高性能,使得当今的计算机系统与仅仅几年前相比强大得多。
并行计算是经历了进步的计算机技术的领域。并行计算是在多个处理器上同时执行同一任务(该任务被分解并且被专门调整)以更快获得结果。并行计算基于如下事实:求解一个问题的过程通常能够被划分成多个更小的任务,这些更小的任务能够通过某种协调被同时执行。
并行计算机执行并行算法。并行算法能够被分解从而在许多不同处理装置上每次执行一份,然后最终再次汇总在一起以获得数据处理结果。一些算法易于分解成多个份。可以例如如下执行对检查从1到十万的所有数字以查看哪些是质数的作业进行分解:向每个可用处理器分配这些数字的子集并且然后将肯定结果的列表汇总在一起。在本说明书中,执行并行程序的各个份的多个处理装置被称作“计算节点”。并行计算机由计算节点以及例如包括输入/输出(I/O)节点和服务节点的其它处理节点构成。
并行算法是有价值的,因为由于现代处理器工作的方式使得经由并行算法执行某些大的计算任务与经由串行(非并行)算法相比更快。与采用多个慢速处理器相比,采用单个快速处理器构造相同处理能力(throughput)的计算机要困难得多。串行处理器的潜在速度也存在某些理论限制。另一方面,每个并行算法具有串行部分并且因此并行算法具有饱和点。在该点后,增加更多处理器不会产生任何更多的处理能力而只会增加开销和开销。
并行算法还被设计为优化并行计算机的节点之间进行数据通信所要求的又一个资源。存在两种并行处理器进行通信的方式:共享存储器或者消息传递。共享存储器处理需要针对数据的额外锁定并且强加额外处理器和总线周期的开销并且还将算法的某部分串行化。
消息传递处理利用高速数据通信网络和消息缓冲器,但是这种通信增加了数据通信网络上的传送开销、以及消息缓冲器所需的额外存储器和节点之间的数据通信的等待时间(latency)。并行计算机的设计利用专门设计的数据通信链路以使得通信开销较小,然而正是并行算法决定通信量。
许多数据通信网络架构用于并行计算机中的节点之间的消息传递。例如,可以在网络中将计算节点组织为“环(torus)”或“网格(mesh)”。另外,可以在网络中将计算节点组织为树。环网络通过缠绕链路以三维网格连接节点。每个节点通过这种环网络连接到它的六个邻居,并且每个节点按其在网格中的x、y和z坐标来表示地址。按照这种方式,环网络将它自身用于点对点操作。在树网络中,节点通常连接成二叉树:每个节点具有一个父辈和两个孩子(但是某些节点可以仅具有零个孩子或一个孩子,这取决于硬件结构)。尽管树网络通常在点对点通信中低效,但是树网络对所有计算节点同时参与的某些集体操作、消息传送操作(例如,全收集(allgather)操作),提供高带宽和低等待时间。在使用环网络和树网络的计算机中,这两个网络通常彼此独立地实现,具有分离的路由回路、分离的物理链路和分离的消息缓冲器。
并行计算机中的计算节点还可以被组织成工作组以执行集体并行操作。通过工作组的计算节点之间的数据通信实现集体操作。集体操作是涉及一个工作组的所有计算节点的那些功能。集体操作是一种同时(即,近似同一时间)由计算节点的工作组中的所有计算节点执行的操作、消息传递计算机程序指令。“广播”是用于在工作组的计算节点之间移动数据的集体操作的例子。“归约(reduce)”操作是对分布在工作组的计算节点之中的数据执行算术或逻辑函数的集体操作的例子。用于集体操作的协议可以针对特定操作参数(执行集体操作的参数)进行调整或优化。这些参数的例子可以是:要执行的逻辑或者算术函数的类型、数据类型、数据大小、节点的数目等。集体操作协议可以针对特定的操作参数集合进行优化,因为本领域的读者可以想到,所述协议与其它协议相比更高效,与其它协议相比在执行期间消耗更少功率,与其它协议相比使用更少资源,与其它协议相比执行得更快等。因此,提高为集体操作选择优化协议的准确度有利于并行计算系统中的数据处理。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210281401.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:回收卤素促进剂和除去高锰酸盐还原化合物的方法
- 下一篇:旋轮头快速检修结构