《用于并行计算机中的集体操作协议选择的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于并行计算机中的集体操作协议选择的方法和系统.pdf(26页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103150144 A(43)申请公布日 2013.06.12CN103150144A*CN103150144A*(21)申请号 201210281401.X(22)申请日 2012.08.0913/206,116 2011.08.09 USG06F 9/38(2006.01)(71)申请人国际商业机器公司地址美国纽约(72)发明人 CJ阿奇 MA布劳克瑟姆JD拉特曼 BE史密斯(74)专利代理机构中国国际贸易促进委员会专利商标事务所 11038代理人付建军(54) 发明名称用于并行计算机中的集体操作协议选择的方法和系统(57) 摘要本发明涉及用于并行计算机中的集体操。
2、作协议选择的方法和系统。可以通过调用具有操作参数的集体操作、选择用于执行该操作的协议以及利用选择的协议执行该操作,来执行包括计算节点的并行计算机中的集体操作协议选择。选择协议包括反复执行如下操作直到一个预期协议满足预定性能标准:向用于该预期协议的协议性能函数提供所述操作参数;通过评估预定义性能拟合方程以及计算针对所述操作参数的协议的性能度量,来确定该预期协议是否满足预定义性能标准;仅当计算的性能度量大于预定义最小性能阈值时,才确定该预期协议满足预定性能标准并且选择该协议用于执行所述操作。(30)优先权数据(51)Int.Cl.权利要求书3页 说明书14页 附图8页(19)中华人民共和国国家知识。
3、产权局(12)发明专利申请权利要求书3页 说明书14页 附图8页(10)申请公布号 CN 103150144 ACN 103150144 A1/3页21.一种用于并行计算机中的集体操作协议选择的方法,所述并行计算机包括多个计算节点,所述方法包括:调用具有一个或多个操作参数的集体操作;选择用于执行该集体操作的多个协议之一,包括针对从第一预期协议开始直到满足预定性能标准的预期协议的每个协议,反复地执行如下操作:向用于该预期协议的协议性能函数提供所述集体操作的操作参数;通过性能函数确定针对所述操作参数该预期协议是否满足预定义性能标准,包括利用所述操作参数评估针对该预期协议的预定义性能拟合方程,计算针。
4、对所述操作参数的该预期协议的性能度量;以及仅当计算的性能度量大于预定义最小性能阈值时,确定该预期协议满足预定性能标准并且选择该预期协议作为用于执行所述集体操作的协议;以及利用选择的协议执行所述集体操作。2.权利要求1的方法,其中:集体操作的每个协议与元数据关联,针对每个集体操作的元数据包括指向协议的性能函数的指针;以及向用于该预期协议的协议性能函数提供所述集体操作的操作参数还包括从该预期协议的元数据取回指向该预期协议的性能函数的指针。3.权利要求1的方法,还包括:在协议选择之前,针对所述集体操作的一组或多组操作参数以及一个或多个预期协议:确定该预期协议是否满足预定性能标准;以及当建立计算节点的。
5、工作组时缓存满足预定性能标准的预期协议的每个确定,其中,选择用于执行所述集体操作的多个协议之一还包括:针对所述集体操作的操作参数,确定是否存在缓存的满足预定性能标准的预期协议的确定;以及如果存在缓存的满足预定性能标准的预期协议的确定,则选择该预期协议作为用于执行所述集体操作的协议,而不在协议选择期间计算针对所述操作参数的预期协议的性能度量。4.权利要求1的方法,还包括:针对所述集体操作的每个协议,建立预定义性能拟合方程,包括:针对多组操作参数中的每一组执行一次该协议;针对每次执行,记录性能度量;以及为记录的性能度量计算拟合方程。5.权利要求1的方法,其中,为记录的性能度量计算拟合方程还包括计算。
6、以下之一:线性近似拟合方程;立方近似拟合方程;以及四次近似拟合方程。6.权利要求1的方法,其中,为记录的性能度量计算拟合方程还包括为所有可能的操作参数计算确切函数。7.一种用于并行计算机中的集体操作协议选择的设备,所述并行计算机包括多个计算权 利 要 求 书CN 103150144 A2/3页3节点,所述设备包括计算机处理器、可操作地耦合到计算机处理器的计算机存储器,该计算机存储器内设置有计算机程序指令,所述计算机程序指令当由计算机处理器执行时使得所述设备执行如下步骤:调用具有一个或多个操作参数的集体操作;选择用于执行该集体操作的多个协议之一,包括针对从第一预期协议开始直到满足预定性能标准的预。
7、期协议的每个协议,反复地执行如下操作:向用于该预期协议的协议性能函数提供所述集体操作的操作参数;通过性能函数确定针对所述操作参数该预期协议是否满足预定义性能标准,包括利用所述操作参数评估针对该预期协议的预定义性能拟合方程,计算针对所述操作参数的该预期协议的性能度量;以及仅当计算的性能度量大于预定义最小性能阈值时,确定该预期协议满足预定性能标准并且选择该预期协议作为用于执行所述集体操作的协议;以及利用选择的协议执行所述集体操作。8.权利要求7的设备,其中:集体操作的每个协议与元数据关联,针对每个集体操作的元数据包括指向协议的性能函数的指针;以及向用于该预期协议的协议性能函数提供所述集体操作的操作。
8、参数还包括从该预期协议的元数据取回指向该预期协议的性能函数的指针。9.权利要求7的设备,还包括计算机程序指令,所述计算机程序指令当由计算机处理器执行时使所述设备执行如下步骤:在协议选择之前,针对所述集体操作的一组或多组操作参数以及一个或多个预期协议:确定该预期协议是否满足预定性能标准;以及当建立计算节点的工作组时缓存满足预定性能标准的预期协议的每个确定,其中,选择用于执行所述集体操作的多个协议之一还包括:针对所述集体操作的操作参数,确定是否存在缓存的满足预定性能标准的预期协议的确定;以及如果存在缓存的满足预定性能标准的预期协议的确定,则选择该预期协议作为用于执行所述集体操作的协议,而不在协议选。
9、择期间计算针对所述操作参数的预期协议的性能度量。10.权利要求7的设备,还包括计算机程序指令,所述计算机程序指令当由计算机处理器执行时使所述设备执行如下步骤:针对所述集体操作的每个协议,建立预定义性能拟合方程,包括:针对多组操作参数中的每一组执行一次该协议;针对每次执行,记录性能度量;以及为记录的性能度量计算拟合方程。11.权利要求7的设备,其中,为记录的性能度量计算拟合方程还包括计算以下之一:线性近似拟合方程;立方近似拟合方程;以及四次近似拟合方程。权 利 要 求 书CN 103150144 A3/3页412.权利要求7的设备,其中,为记录的性能度量计算拟合方程还包括为所有可能的操作参数计算。
10、确切函数。权 利 要 求 书CN 103150144 A1/14页5用于并行计算机中的集体操作协议选择的方法和系统技术领域0001 本发明的领域是数据处理,或者更具体地讲是用于并行计算机中的集体操作协议选择的方法、设备和产品。背景技术0002 1948年的EDVAC计算机系统的开发常被引述为计算机时代的开启。从那时开始,计算机系统已经演化成极端复杂的装置。与例如EDVAC的早期系统相比,今天的计算机更加精密复杂。计算机系统通常包括硬件和软件组件的组合、应用程序、操作系统、处理器、总线、存储器、输入/输出装置等。由于半导体加工和计算机架构的进步将计算机的性能推升得越来越高,更加精密复杂的计算机软。
11、件已经进化为利用硬件的更高性能,使得当今的计算机系统与仅仅几年前相比强大得多。0003 并行计算是经历了进步的计算机技术的领域。并行计算是在多个处理器上同时执行同一任务(该任务被分解并且被专门调整)以更快获得结果。并行计算基于如下事实:求解一个问题的过程通常能够被划分成多个更小的任务,这些更小的任务能够通过某种协调被同时执行。0004 并行计算机执行并行算法。并行算法能够被分解从而在许多不同处理装置上每次执行一份,然后最终再次汇总在一起以获得数据处理结果。一些算法易于分解成多个份。可以例如如下执行对检查从1到十万的所有数字以查看哪些是质数的作业进行分解:向每个可用处理器分配这些数字的子集并且然。
12、后将肯定结果的列表汇总在一起。在本说明书中,执行并行程序的各个份的多个处理装置被称作“计算节点”。并行计算机由计算节点以及例如包括输入/输出(I/O)节点和服务节点的其它处理节点构成。0005 并行算法是有价值的,因为由于现代处理器工作的方式使得经由并行算法执行某些大的计算任务与经由串行(非并行)算法相比更快。与采用多个慢速处理器相比,采用单个快速处理器构造相同处理能力(throughput)的计算机要困难得多。串行处理器的潜在速度也存在某些理论限制。另一方面,每个并行算法具有串行部分并且因此并行算法具有饱和点。在该点后,增加更多处理器不会产生任何更多的处理能力而只会增加开销和开销。0006 。
13、并行算法还被设计为优化并行计算机的节点之间进行数据通信所要求的又一个资源。存在两种并行处理器进行通信的方式:共享存储器或者消息传递。共享存储器处理需要针对数据的额外锁定并且强加额外处理器和总线周期的开销并且还将算法的某部分串行化。0007 消息传递处理利用高速数据通信网络和消息缓冲器,但是这种通信增加了数据通信网络上的传送开销、以及消息缓冲器所需的额外存储器和节点之间的数据通信的等待时间(latency)。并行计算机的设计利用专门设计的数据通信链路以使得通信开销较小,然而正是并行算法决定通信量。0008 许多数据通信网络架构用于并行计算机中的节点之间的消息传递。例如,可以在网络中将计算节点组织。
14、为“环(torus)”或“网格(mesh)”。另外,可以在网络中将计算节点说 明 书CN 103150144 A2/14页6组织为树。环网络通过缠绕链路以三维网格连接节点。每个节点通过这种环网络连接到它的六个邻居,并且每个节点按其在网格中的x、y和z坐标来表示地址。按照这种方式,环网络将它自身用于点对点操作。在树网络中,节点通常连接成二叉树:每个节点具有一个父辈和两个孩子(但是某些节点可以仅具有零个孩子或一个孩子,这取决于硬件结构)。尽管树网络通常在点对点通信中低效,但是树网络对所有计算节点同时参与的某些集体操作、消息传送操作(例如,全收集(allgather)操作),提供高带宽和低等待时间。。
15、在使用环网络和树网络的计算机中,这两个网络通常彼此独立地实现,具有分离的路由回路、分离的物理链路和分离的消息缓冲器。0009 并行计算机中的计算节点还可以被组织成工作组以执行集体并行操作。通过工作组的计算节点之间的数据通信实现集体操作。集体操作是涉及一个工作组的所有计算节点的那些功能。集体操作是一种同时(即,近似同一时间)由计算节点的工作组中的所有计算节点执行的操作、消息传递计算机程序指令。“广播”是用于在工作组的计算节点之间移动数据的集体操作的例子。“归约(reduce)”操作是对分布在工作组的计算节点之中的数据执行算术或逻辑函数的集体操作的例子。用于集体操作的协议可以针对特定操作参数(执行。
16、集体操作的参数)进行调整或优化。这些参数的例子可以是:要执行的逻辑或者算术函数的类型、数据类型、数据大小、节点的数目等。集体操作协议可以针对特定的操作参数集合进行优化,因为本领域的读者可以想到,所述协议与其它协议相比更高效,与其它协议相比在执行期间消耗更少功率,与其它协议相比使用更少资源,与其它协议相比执行得更快等。因此,提高为集体操作选择优化协议的准确度有利于并行计算系统中的数据处理。发明内容0010 在本说明书中描述了用于并行计算机中的集体操作协议选择的方法、设备和产品。并行计算机包括许多计算节点。这种集体操作协议选择包括:调用具有一个或多个操作参数的集体操作,选择用于执行该集体操作的多个。
17、协议之一,以及利用选择的协议执行该集体操作。在本发明的实施例中,对于从第一预期协议开始直到满足预定性能标准的预期协议,反复执行选择多个协议之一,选择多个协议之一包括:向用于该预期协议的协议性能函数提供集体操作的操作参数;通过该性能函数确定针对所述操作参数该预期协议是否满足预定性能标准,包括针对该预期协议通过所述操作参数评估预定义性能拟合方程以及计算针对所述操作参数的该预期协议的性能度量;以及仅当计算的性能度量大于预定义最小性能阈值时,确定该预期协议满足预定性能标准并且选择该预期协议作为用于执行集体操作的协议。0011 基于附图中所示的本发明的示例性实施例的下面更加具体的描述,本发明的上述以及其。
18、它目标、特征和优点将变得清楚,在附图中相似标号一般表示本发明的示例性实施例的相似部件。附图说明0012 图1示出了根据本发明的实施例的用于并行计算机中的集体操作协议选择的示例性系统。0013 图2阐述了用于并行计算机中的能够执行根据本发明的实施例的集体操作协议说 明 书CN 103150144 A3/14页7选择的示例计算节点(102)的框图。0014 图3A阐述了用于根据本发明的实施例的并行计算机中的集体操作协议选择的系统中的示例点对点适配器的框图。0015 图3B阐述了用于根据本发明的实施例的并行计算机中的集体操作协议选择的系统中的示例全局组合网络适配器的框图。0016 图4阐述了示出用于。
19、能够执行根据本发明的实施例的并行计算机中的集体操作协议选择的系统的针对点对点操作进行优化的示例数据通信网络的线路图。0017 图5阐述了示出用于能够执行根据本发明的实施例的并行计算机中的集体操作协议选择的系统的示例全局组合网络的线路图。0018 图6阐述了示出用于根据本发明的实施例的并行计算机中的集体操作协议选择的示例方法的流程图。0019 图7阐述了示出用于根据本发明的实施例的并行计算机中的集体操作协议选择的另一示例方法的流程图。0020 图8阐述了示出用于根据本发明的实施例的并行计算机中的集体操作协议选择的另一示例方法的流程图。具体实施方式0021 从图1开始,参照附图描述根据本发明的用于。
20、并行计算机中的集体操作协议选择的示例性方法、设备和产品。图1示出了根据本发明的实施例的用于并行计算机中的集体操作协议选择的示例性系统。图1的系统包括并行计算机(100)、数据存储装置(118)形式的计算机的非易失性存储器、打印机(120)形式的计算机的输出装置、和计算机终端(122)形式的计算机的输入/输出装置。0022 图1的示例中的并行计算机(100)包括多个计算节点(102)。通过多个独立的数据通信网络(包括高速以太网(174)、联合测试行动组(JTAG)网络(104)、使用二叉树网络拓扑针对集体操作进行优化的全局组合网络(106)和使用环网络拓扑针对点对点操作进行优化的点对点网络(10。
21、8),计算节点(102)进行耦合以进行数据通信。全局组合网络(106)是包括连接到计算节点(102)以把计算节点(102)组织为二叉树的数据通信链路的数据通信网络。通过计算节点(102)之间的数据通信链路实现每个数据通信网络。数据通信链路为并行计算机(100)的计算节点(102)之间的并行操作提供数据通信。0023 并行计算机(100)的计算节点(102)被组织成用于并行计算机(100)上的集体并行操作的计算节点的至少一个工作组(132)。计算节点的每个工作组(132)是执行集体并行操作的计算节点的集合。工作组(132)中的每个计算节点被分配唯一级别,用于识别工作组(132)中的特定计算机节点。
22、。通过工作组的计算节点之间的数据通信实现集体操作。集体操作是涉及一个工作组(132)的所有计算节点的那些功能。集体操作是一种同时(即,近似同一时间)由计算节点的工作组(132)中的所有计算节点执行的操作、消息传递计算机程序指令。这种工作组(132)可以包括并行计算机(100)中的所有计算节点(102)或者所有计算节点(102)的子集。常常围绕点对点操作建立集体操作。集体操作要求工作组(132)内的所有计算节点上的所有处理调用具有匹配参数的同一集体操作。“广播”是在工作组的计算节点之间移动数据的集体操作的示例。“归约”操作是对分布在工作组(132)的计算说 明 书CN 103150144 A4/。
23、14页8节点之中的数据执行算术或逻辑函数的集体操作的示例。例如,工作组(132)可被实现为MPI“通信器”。0024 “MPI”是指“消息传递接口(Message Passing Interface)”、现有技术的并行通信库、并行计算机上进行数据通信的计算机程序指令的模块。可被改进以应用于根据本发明的实施例构造的系统中的现有技术并行通信库的示例包括MPI和“并行虚拟机”(PVM)库。PVM是由田纳西大学、Oak Ridge国家实验室和埃默里大学开发的。MPI由MPI论坛进行发布,MPI论坛是一个具有来自定义并维护MPI标准的许多组织的代表的开放群。撰写此文时的MPI是在分布式存储器并行计算机上。
24、运行并行程序的计算节点之间进行通信的事实标准。为了易于进行解释,本说明书有时使用MPI术语,但是这样使用MPI不是本发明的要求或限制。0025 某些集体操作具有在工作组(132)中的特定计算节点上运行的一个发起或接收过程。例如,在“广播”集体操作中,向所有其它计算节点分发数据的计算节点上的过程是发起过程。在“收集(gather)”操作中,例如,从其它计算节点接收所有数据的计算节点上的过程是接收过程。运行这种发起或接收过程的计算节点被称作逻辑根。0026 大多数集体操作是如下四种基本操作的变型或组合:广播、收集、分散和归约。用于这些集体操作的接口在由MPI论坛发布的MPI标准中进行定义。然而,用。
25、于执行集体操作的算法没有在MPI标准中进行定义。在广播操作中,所有过程指定其缓冲器内容将被发送的同一根过程。除根之外的过程指定接收缓冲器。在该操作后,所有缓冲器包含来自根过程的消息。0027 与广播操作一样,分散操作也是一对多集体操作。在分散操作中,逻辑根将根上的数据划分成段并且将不同段分配给工作组(132)中的各个计算节点。在分散操作中,所有过程通常指定相同接收计数。发送参数只对其缓冲器实际包含给定数据类型的发送计数(sendcount)*N个元素的根过程有意义,其中,N是给定的计算节点组中的过程的数目。发送缓冲器被分割并且分散给所有过程(包括逻辑根上的过程)。每个计算节点被分配称作“级别(。
26、rank)”的连续标识符。在该操作后,根已经按照上升级别顺序向每个过程发送了sendcount个数据元素。级别0从发送缓冲器接收前sendcount个数据元素。级别1从发送缓冲器接收接下来的sendcount个数据元素,依此类推。0028 收集操作是多对一集体操作,即,分散操作的说明的完全逆转。也就是说,收集是一种多对一集体操作,其中,一数据类型的元素被从分级别的计算节点收集到根节点中的接收缓冲器中。0029 归约操作也是一种多对一集体操作,包括对两个数据元素执行的算术或逻辑函数。所有过程指定相同“计数(count)”和相同算术或逻辑函数。在归约后,所有过程已经将count个数据元素从计算节点。
27、发送缓冲器发送到根过程。在归约操作中,来自对应发送缓冲器位置的数据元素通过算术或逻辑运算被成对组合以在根过程的接收缓冲器中生成单个对应元素。专用归约操作能够在运行时进行定义。并行通信库可以支持预定义操作。例如,MPI提供下面的预定义归约操作:0030 MPI_MAX最大0031 MPI_MIN最小0032 MPI_SUM和说 明 书CN 103150144 A5/14页90033 MPI_PROD乘积0034 MPI_LAND逻辑与0035 MPI_BAND位与0036 MPI_LOR逻辑或0037 MPI_BOR位或0038 MPI_LXOR逻辑异或0039 MPI_BXOR位异或0040 。
28、除了计算节点以外,并行计算机(100)包括经由全局组合网络(106)与计算节点(102)耦合的输入/输出(I/O)节点(110、114)。并行计算机(100)中的计算节点(102)可以被划分成多个处理组以使得一个处理组中的每个计算节点为进行数据通信而连接到同一I/O节点。因此,每个处理组由一个I/O节点和计算节点(102)的子集构成。整个系统中的计算节点的数目与I/O节点的数目的比率通常取决于并行计算机(102)的硬件结构。例如,在一些结构中,每个处理组可由八个计算节点和一个I/O节点构成。在一些其它结构中,每个处理组可由64个计算节点和一个I/O节点构成。这些示例仅仅用于说明,而非用于限制。。
29、每个I/O节点在它的处理组的计算节点(102)与一组I/O装置之间提供I/O服务。在图1的示例中,I/O节点(110、114)经由使用高速以太网实现的局域网(LAN)(130)连接到I/O装置(118、120、122)以进行数据通信。0041 图1的并行计算机(100)还包括经由网络之一(104)耦合到计算节点的服务节点(116)。服务节点(116)提供对多个计算节点相同的服务,管理计算节点的配置,向计算节点中加载程序,启动计算节点上的程序执行,取回计算节点上程序操作的结果,等等。服务节点(116)运行服务应用(124)并且经由在计算机终端(122)上运行的服务应用接口(126)与用户(128。
30、)进行通信。0042 图1的并行计算机(100)通常采用根据本发明的实施例的许多计算节点进行操作以进行集体操作协议选择。为了清楚地进行说明,在本文中作为工作组中的一个计算节点的示例描述了计算节点(102a)。本技术领域的读者应该明白,工作组中的其它计算节点将具有相似的级别、数据元素、数据结构、过程、函数,并且将按照与该示例计算节点(102a)相似的方式工作。0043 计算节点(102a)包括级别(212)-MPI通信器(即工作组(132)中的过程。级别(212)调用具有一个或多个操作参数(214)的集体操作(220)。作为在本说明书中使用的术语的操作参数可以是为了执行集体操作的目的而被传递给该。
31、集体操作的任何参数。这些操作参数的示例包括本技术领域的读者可以想到的消息大小、数据类型、目标节点的数目和标识符等。0044 集体操作(220)(这里未示出的计算机程序指令的某其它模块)然后可以选择用于执行集体操作的多个协议(222)之一。根据本发明的实施例,对于从第一预期协议开始直到满足预定的性能标准的预期协议的每个协议(222),反复地执行这种选择。预定的性能标准是可被预定用于表示“性能”的可接受水平的任何值。各个性能标准类型的示例包括本技术领域的读者可以想到的执行速度、执行中利用的资源的数目等。0045 协议选择的每次重复包括:向用于该预期协议的协议性能函数(228)提供集体操作的操作参数。
32、(214),并且通过该性能函数(228)确定该预期协议(222)针对所述操作参数说 明 书CN 103150144 A6/14页10是否满足预定义性能标准。协议的性能函数是一个计算机程序指令的函数或者子例程,当被执行时确定该协议针对一组特定操作参数是否生成优化性能结果。在一些实施例中,例如,协议的性能函数的返回值是“良好拟合(good fit)”或“较差拟合(bad fit)”结果。0046 在图1的示例中,集体操作根据用于预期协议的或者与预期协议关联的元数据(224),识别并调用协议性能功能(228)。即,通过元数据在图1的示例中描述可供选择的每个协议。这种元数据可描述协议的许多不同属性。在。
33、本发明的实施例中,例如,每个协议的元数据(224)可以包括指向协议的性能函数(228)的指针。0047 通过针对该预期协议利用操作参数(214)评估预定义性能拟合方程(230)从而计算针对所述操作参数的预期协议的性能度量,性能函数(228)可以确定针对所述操作参数,预期协议(222)是否满足预定义性能标准。通过拟合方程描述、指定或定义通过该协议的性能函数(228)的在图1的示例中的相对于操作参数组的每个协议的性能。可以通过先前测量的性能数据的线性、二次或四次回归分析产生这种拟合方程。即,利用多个不同的操作参数组,每个协议可以被执行许多次,测量并存储每次执行所产生的性能数据。然后,可以采用测量和。
34、存储的性能数据执行回归分析以建立近似描述协议的性能质量的拟合方程。每个拟合方程然后返回针对一组特定操作参数的计算的性能度量(218)。0048 在实时协议选择期间,如果计算的性能度量(218)大于预定义的最小性能阈值(图1的示例中的性能标准(216),则集体协议(220)确定该预期协议满足预定性能标准并且选择该预期协议作为用于执行集体操作的协议。如果计算的性能度量(218)不大于预定义的最小性能阈值,则选择过程针对另一个预期协议进行下一次重复。一旦被选择,集体操作(220)利用所选择的协议执行。0049 组成图1中所示的示例设备的节点、网络以及I/O装置的布置只是用于解释本发明而非进行限制。被。
35、构造为用于根据本发明的实施例的并行计算机中的集体操作协议选择的系统可以包括本领域技术人员可想到的图1未示出的另外的节点、网络、装置和架构。图1的示例中的并行计算机(100)包括16个计算节点(102);被构造为用于根据本发明的实施例的集体操作协议选择的并行计算机有时候包括几千个计算节点。除了以太网(174)和JTAG(104)以外,这种数据处理系统中的网络可以支持许多数据通信协议,例如包括TCP(传输控制协议)、IP(互联网协议)、以及本领域技术人员可想到的其它协议。还可以在图1所示的硬件平台之外的各种硬件平台上实现本发明的各种实施例。0050 通常在包括通过至少一个数据通信网络组织用于集体操。
36、作的多个计算节点的并行计算机上实现根据本发明的实施例的集体操作协议选择。实际上,这些计算机可以包括成千个这种计算节点。每个计算节点自身又是一种由一个或多个计算机处理核、它自己的计算机存储器和它自己的输入/输出适配器组成的计算机。因此,为了进一步的说明,图2阐述了用于能够进行根据本发明的实施例的集体操作协议选择的并行计算机中的示例计算节点(102)的框图。图2的计算节点(102)包括多个处理核(165)以及RAM(156)。可以在一个或多个集成电路芯片上构造图2的处理核(165)。处理核(165)通过高速内存总线(155)连接到RAM(156)并且通过总线适配器(194)和扩展总线(168)连接到计算节点的其它部件。在RAM(156)中存储了应用程序(159),即,使用并行算法执行并行、用户级数据处理的计算机程序指令的模块。0051 在RAM(156)中还存储了并行通信库(161),即,在计算节点之间执行并行通信(包说 明 书CN 103150144 A10。