首页> 中国专利> 一种面向粒子模型的多层直连集群并行计算系统中的节点

一种面向粒子模型的多层直连集群并行计算系统中的节点

摘要

本发明涉及高性能计算机数值模拟技术领域,公开了一种面向粒子模型的多层直连集群并行计算系统中节点的设计方案,由多个具有独立的运算、存储与通信功能的逻辑电路单元组成;所述逻辑电路单元中至少有一个逻辑电路单元是能与其它节点直接通信的通信单元;所述其它逻辑电路单元为执行计算任务的计算单元,每个计算单元至少与一个所述通信单元直接通信。所述单元在功能上各有不同,它们的组合使节点的构成更加丰富而灵活、节点间的连接更加可靠、并能提高节点的计算效率,使多层直连的集群并行系统能更有效地执行粒子模拟。

著录项

  • 公开/公告号CN101499052A

    专利类型发明专利

  • 公开/公告日2009-08-05

    原文格式PDF

  • 申请/专利权人 中国科学院过程工程研究所;

    申请/专利号CN200810057259.4

  • 申请日2008-01-31

  • 分类号G06F15/173;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人梁爱荣

  • 地址 100080 北京市海淀区中关村北二条1号

  • 入库时间 2023-12-17 22:27:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-23

    未缴年费专利权终止 IPC(主分类):G06F15/173 授权公告日:20110406 终止日期:20150131 申请日:20080131

    专利权的终止

  • 2011-04-06

    授权

    授权

  • 2009-09-30

    实质审查的生效

    实质审查的生效

  • 2009-08-05

    公开

    公开

说明书

技术领域

本发明涉及高性能计算机数值模拟技术领域,尤其涉及一种面向粒子模型的多层直连集群并行计算系统中节点的设计。

背景技术

目前实现高性能计算的主流方式是大规模并行处理(MPP),由于这样的系统耗资巨大,如何充分利用其硬件资源是MPP设计中需要重点考虑的问题。传统的思路是让系统能适应许多不同的算法和应用问题,即依靠通用性来保证业务量的饱满,使系统资源得以充分利用。

为此,原则上应实现全局性的快速数据交换,包括处理器与存储器之间以及处理器之间直接或间接的数据交换。在这样的设计思路下,当处理器数量增加时,通信方面的硬件开销必然非线性地增加,反过来系统的实际速度却无法达到与处理器数量成线性关系的增长,从而造成了提高机器性能的主要瓶颈。

系统的规模由于受到元器件的集成度在技术上的严重制约而存在一个极限。目前即使对单处理器的微型计算机来说,处理器的数据处理速度和存储器数据存取速度之间的速度差距拉大也使它运行许多计算程序的实际效率只有其峰值的10%左右,而对MPP系统来说常常更降低到只有1~2%。另一方面,虽然存在一些针对特定算法和问题的专用并行计算机,但因为其应用面狭窄,业务量小,导致无法成批生产和充分利用,经济性很差,所以也没有得到重点发展。

因此有必要提出一种介于通用和专用之间的高性能计算模式。粒子模型包含了很多数学物理模型,应用上具有普遍性;而它们的算法又有鲜明的共性,符合统一的框架,可以对此进行专门的硬件设计。特别是粒子间作用的局部性和可叠加性为简化通信硬件设计,突破计算量瓶颈提供了良好的条件。由此中国发明专利申请200710099551.8已提出了一种面向粒子模型多层直连集群并行计算系统,但其有效实现依赖于组成该系统的节点的设计,而这就是本发明针对的主题。

发明内容

(一)要解决的技术问题

本发明将为面向粒子模型的多层直连集群并行计算系统提供几种有效的节点设计方案,以实现此类系统对粒子模型所具有的高效率。

(二)技术方案

为达到上述目的,本发明提供了一种面向粒子模型的多层直连集群并行计算系统中节点,其技术方案是:

由多个具有独立的运算、存储与通信功能的逻辑电路单元组成;

所述逻辑电路单元中至少有一个逻辑电路单元是能与其它节点直接通信的通信单元;

所述其它逻辑电路单元为执行计算任务的计算单元,每个计算单元至少与一个所述通信单元直接通信。

所述逻辑电路单元包括:芯片内的算术逻辑部件、芯片、芯片组、板卡、独立计算机以及并行计算系统。

所述当节点由两类逻辑电路单元组成时,逻辑电路单元的组合包括逻辑电路单元布置成多维阵列,阵列的某一维上具有较快通信速度的逻辑电路单元和具有较快计算速度的逻辑电路单元按不同的比例交替出现。

在所述部分或全部组成逻辑电路单元上执行多道并行或串行的程序;正常情况下,某一并行程序处于前台,当该并行程序因负载不平衡出现等待时即切换到后台,同时所述逻辑电路单元转而执行其它并行或串行程序。

所述的通信单元具有受时序控制的点对点通信;由此一个m行n列的二维节点阵列,通过每个节点先后沿行和列方向的n-1和m-1次向一侧节点的邻近通信,将每个节点上的信息传播到其它节点上;三维和其它拓扑结构的连接下也用以实现类似的并行通信。

所述组成逻辑电路单元的存储器采用n维存取模式,n>1,即n维数组中的任何相邻元素都能存放在物理上相邻的存储元件中。

所述逻辑电路单元中至少有一个单元具有与上层节点通信的能力,从而把上层节点作为所对应下层节点的公用计算节点,使负载较重的下层节点能分配到更多的计算资源,并能通过节点间的通信将负载迁移到上层的相邻节点。

(三)有益效果

从上述技术方案可以看出,本发明面向粒子模型的多层直连集群并行计算系统提供几种有效的节点设计方案,满足更复杂的计算需求和更充分地利用现有技术提供的计算能力,以实现此类系统对粒子模型所具有的高效率。

本发明在逻辑电路单元内采用多层共享存储结构,由于不同的逻辑电路单元在计算速度和网路连接能力等方面各有侧重,本发明能更好地取长补短,在不影响性能的前提下降低设备成本。

本发明对程序优化实现计算与通信的并行,减少通信通道和延长途径,从而能减少硬件开销。

本发明能够使负载重的区域与负载轻的区域搭配,在各节点上形成比较均匀的负载分布。

本发明采用直连节点间的路径的点对点通信,由根节点控制时序,与一般的局域网通信相比,采用相对简化、较底层的通信协议,以便根据传输数据的特点优化传输方式,减少了数据缓冲和打包、开包的开销。本发明直连网络对有一定数量全局通信的算例也有良好的可扩展性。

本发明利用FPGA能根据具体的应用需求设计最佳的灵活性更大的物理连接方式。

附图说明

图1包括图1a、图1b、图1c、图1d、图1e、图1f、图1g、图1h为本发明复合节点的不同组成方式示例;

图2a、图2b、图2c、图2d、图2e是本发明实施例以工作站和服务器搭建的复合节点;

图3a、图3b是本发明实施例工作站和服务器搭建的复合节点构成的二维节点阵列;

图4a是本发明实施例两种不同速度的计算机以1:1的数量组合成节点时空间分割的示例;

图4b是本发明实施例两种不同速度的计算机以1:2的数量组合成节点时空间分割的示例;

图4c、图4d是本发明实施例两种不同速度的计算机以1:3的数量组合成节点时空间分割的示例;

图5是本发明实施例GPU与CPU之间的计算区域分割示意图;

图6a是本发明实施例工作站与服务器及GPU和Cell组成的复合节点的计算区域划分;

图6b是本发明实施例工作站与GPU和Cell组成的复合节点的计算区域划分;

图7是本发明实施例并行作业方式的示意;

图8是示出了一种任务的空间分割方式及各区域内的计算量节点阵列;

图9是本发明实施例利用直线网络进行全局通信;

图10a、图10b、图10c是本发明实施例存储芯片的编址方式与多维数组的存储映像间的关系;

图11a是本发明实施例通过改变空间分割同层调整节点负载的示意图;

图11b是本发明实施例通过改变空间分割跨层调整节点负载的示意图;

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明应用的领域是采用各种“粒子方法”进行的各种计算机数值模拟,而“粒子方法”是我们对这样一类模拟方法特定的统称,包括微观的分子动力学(molecular dynamics,MD)方法,宏观的描述颗粒物料的离散单元法(distinct element method,DEM),以至描述宇宙的天体动力学方法等。

粒子方法也不局限于直观上能处理为粒子集合的系统,还可以通过粗粒化或简化构造描述流体流动和材料变形等传统上采用连续介质方法模拟的行为。如介观的耗散粒子动力学(dissipativeparticle dynamics,DPD)方法和格子波尔兹曼(Lattice Boltzmann,LB)方法,以及宏观的光滑粒子动力学(smoothed particle hydrodynamics,SPH)方法等。

粒子方法虽然种类繁多,应用广泛,但在算法上却有很突出的共性。本发明所针对的并行计算系统及其所提出的节点设计考虑了它们如下的共同特征:

首先,无论是自然存在的粒子还是人为构造的模型粒子,它们之间的作用强度普遍随距离的增长而迅速降低,因此一般可忽略相距足够远的粒子间的作用,或者通过估计大量粒子的合力来代替每对粒子间的受力计算。这就导致了局部性,即尽管整个系统可拥有任意多个粒子,但直接决定任一粒子瞬时运动的粒子却主要是很少量的邻近粒子。

同时一对粒子间的作用函数一般可通过常微分方程描述,而一个粒子同时受到的各对作用是可迭加的。也就是说,我们可以按任意顺序分别独立处理每对粒子间的作用,通过简单的加和得到粒子的合力。虽然在对硬球粒子或由多个粒子通过一些约束组成的复合粒子(如链状的高分子)的具体处理上并非那么简单,但在稍大的尺度上,如对复合粒子的整体,其算法总体上依然具有此性质。

另外,在相当于或大于粒子间作用特征时空尺度的范围内,粒子系统常接近均匀状态,而在两者中间的时空尺度上系统表现出较强的非均匀性,并且是动态变化的。这是物理世界的结构层次性在模型中的自然表现。

值得指出的是,任何连续介质模型除非解析求解,最终也都要按一定的离散格式数值求解的。而很多离散格式,主要是显格式,也可以理解为某种特殊的静止粒子系统,而这些特殊粒子间的作用也符合上面的几个特点,因此它们也属于本发明提出的并行计算系统适用的范围。它具体包括了很多所谓无网格方法(MeshlessMethods),神经网络(Neural Network)算法,和很多信号与图像处理算法。虽然许多隐格式具有更高的效率和更好的稳定性,但是当计算量很大时,它并行性差的缺点往往足以掩盖这些优点。因此随着高性能计算的发展,目前那些可以粒子化的显格式已越来越受到关注。因此粒子方法的算法框架的适用面是相当宽泛的。

总结上面的说明可以发现,粒子方法突出地具有应用上的普遍性和对硬件设计的专门性和简单性。即各种粒子间的作用方式可模块化地嵌入通用的总体算法和数据结构中;而通过空间分区,粒子方法几乎可获得线性加速比,且硬件系统的每个节点可只提供对特定的极少数相邻节点的内存共享或消息传递,可相当简便地大规模扩展;并保持接近峰值的实测速度。同时节点的复杂性和规模可大大降低(如可以只有缓存,没有主存),从而提高处于计算操作中的元器件的比例,即提高其使用效率,降低成本。与一般的通用高性能计算机相比,针对这种框架设计的硬件系统应用范围虽然有所缩小,但仍会有大量的需求。而硬件成本的降低和效率的提高所产生的效益将远远超过前者造成的影响。因此发展这样的系统将具有非常广阔的前景。

有鉴于此,中国发明专利申请200710099551.8提供了一种面向粒子模型的多层直连集群并行计算系统,该系统由多个节点组成,所述节点在逻辑上排成一层或多层的一维或多维阵列,同层的相邻节点之间直接进行通信连接,不同层的节点通过交换机进行通信连接。节点间具有网格状连通的高速mesh网络和树状连通的低速tree网络;邻近数据通信在mesh网上进行,全局数据通信以及统计或控制信息与指令的交换在tree网上进行。阵列为可任意扩展的阵列,或为按任何可重复的排列方式组成的阵列,至少包括按矩形或长方体、三角形或四面体、六边形或十四面体形式形成的阵列。阵列的边缘为开放的,或为与对应边相连的。

通信连接适用于所述节点间的任何连接方式,至少包括通信总线、交叉开关、网卡与网络连接线、串口或并口与串口或并口连接线、USB口及其连接线连接方式等。交换机为支持所述通信连接的任何多路输入、单路输出或多路输出的交换设备。同层的节点被分为若干组,每组分别通过交换机与上层的一个节点实现通信连接。

另外,该系统的并行计算采用多层次空间分解,各层的维数均等于或低于同层节点阵列的维数,且计算区域间的拓扑关系与相应节点或节点组间的拓扑关系相同。

为有效实现上述功能,合理的节点设计是一个关键技术问题。中国发明专利申请200710099551.8已列举了几种典型的节点设计方案。但为了满足更复杂的计算需求和更充分地利用现有技术提供的计算能力,本发明将提出更多的节点设计方案,详述如下:

a)节点的构成

中国发明专利申请200710099551.8已说明节点是具有独立的运算、存储与通信功能的逻辑电路单元,但对于多个逻辑电路单元组合方式没有提出具体设计。在本发明中,所述逻辑电路单元中至少有一个逻辑电路单元是能与其它节点直接通信的通信单元;所述其它逻辑电路单元为执行计算任务的计算单元,每个计算单元至少与一个所述通信单元直接通信。逻辑电路单元包括芯片内的算术逻辑部件、芯片、芯片组、板卡、并行计算系统和独立计算机中的任意一个或任意多个的组合。

在本发明中,当节点由两类逻辑电路单元组成时,逻辑电路单元的组合包括:逻辑电路单元布置成多维阵列,多维阵列的某一维上具有较快通信速度的逻辑电路单元01和具有较快计算速度的逻辑电路单元02按不同的比例交替出现。

以二维排布的计算机为例,对两类不同逻辑电路单元的组合,本发明提出了如图1a、图1b、图1c、图1d、图1e、图1f、图1g、图1h所示的复合节点的不同组成方式。图中01为A计算机、02为B计算机、03为直连线、04为与上层交换机的连接。其中包含三类方式:

1、如图1a、图1b、图1c、图1d示出,它们分别具有1:1的不同单元数配比方式:

图1a中示出多台A计算机01分别与多台B计算机02采用直连线03连接,多台A计算机01有分别与上层交换机04的连接;

2、如图1e、图1f示出,它们分别具有1:2的单元数配比方式;

3、图1g、图1h示出它们分别具有1:3的单元数配比方式。

其中每个逻辑电路单元可都与交换机相连如图1a,图1c,图1e,图1g所示,也可只有网路连接能力较强的逻辑电路单元与之相连如图1b,图1d,图1f,图1h所示。三维的情况也可以类推。同时每个逻辑电路单元内也可以建立多层直连或者具有更多互联的多层共享存储结构。由于不同的逻辑电路单元在计算速度和网路连接能力等方面各有侧重,能更好地取长补短,在不影响性能的前提下降低设备成本。

图2a、图2b、图2c、图2d、图2e是本发明以工作站和服务器搭建的复合节点;

图2a是上述图1方式的一个可行实例。其中一类逻辑电路单元是具有较强扩展能力但体积较大的工作站11,另一类逻辑电路单元是比较紧凑的服务器13,按图1c的方式组合成节点。每个逻辑电路单元各自配置六个以太网口,其中一个用于两类逻辑电路单元间的直连,一个用于到交换机12的连接,同时它也提供了两类逻辑电路单元的间接连接。另外四个可分别用于同层的直连,例如工作站与工作站、服务器与服务器间的直连。

工作站11和服务器13上配置相同数量和性能的通用CPU,每个CPU又具有多核心,它们分级共享存储。在通常情况下两类逻辑电路单元均可作为单独的节点不加区别地使用,如采用均衡的空间分割在消息传递方式下并行计算。但利用工作站11的I/O扩展能力,通过I/O总线连接至少一片具有图形处理芯片(GPU)的加速卡,则可进一步在单元内实现粒子运动和相互作用的并行处理。典型的GPU具有上百组共享存储的逻辑运算部件,如此可显著提高粒子模拟的计算能力。

同时服务器13上也可直连外置加速单元。如IBM的Cell刀片服务器14就具有类似GPU的共享内存的并行处理能力,但限于其配置,网络连接的通道有限,通过双口以太网与服务器13直连是在中国发明专利申请200710099551.8提出的体系结构下充分利用其能力的有效手段。如果此时限于服务器13的配置或硬件成本,网路连接通道数不能再增加,可占用原服务器13间在一个方向直连的通道,而另一方向的连接由上层的工作站11借助层间的直连通道间接实现,如图3a是工作站和服务器搭建的复合节点构成的二维节点阵列的一种形式;图中||表示工作站11和服务器13间的双线连接,其中一条通过交换机12转发;

另外,也可以将服务器13作为单纯的计算节点,完全由工作站11提供与邻近节点的连接,如图3b是工作站和服务器搭建的复合节点构成的二维节点阵列的另一种形式。通过程序优化,充分实现计算与通信的并行后,在一定的通信负载下,这种通信通道的减少和途径的延长并不会影响计算速度,但能减少硬件开销。

图2b还提出了一种类似但简化的复合节点,它由工作站11通过直连的以太网线与外置加速单元,如IBM的Cell刀片服务器14相连,工作站11和Cell刀片服务器14分别与交换机12相连接。

另外一种比较灵活的方式是将多个加速卡或加速节点通过网络和交换机连接起来,提供给直连网络中的一台或多台工作站11或服务器13使用这种方式。如利用有七个Cell刀片服务器14和两台交换机12的IBM Cell Center可以与有六个网口的工作站11构成图2c所示的复合节点,Cell刀片服务器14的网口15和网口17分别与上层交换机12连接,局部交换机12与Cell刀片服务器14的网口18和网口19连接。这些复合节点利用交换机12提供向上层节点161的连接。同时若干节点16还可成组,作为更大的复合节点,利用交换机12间的连接组成更高级别的直连网络,图2d,图2e示出图2c复合节点的两种连接形式,如图中黑色圆点表示的三个节点16连接而成的虚线区域,图2c中左上的复合节点结构连接关系表示在图2d中,图2c中左下的复合节点结构连接关系表示在图2e中,从而更好地实现多尺度的计算模式。

当节点由不同类型和计算能力单元时,初始空间区域的划分就应当是不均匀的。图4a、图4b图4c、图4d描述了与图1对应的几种复合节点模式下的初始空间分割方案,其它的情况可以类推。图4a是两种不同速度的计算机以1:1的数量组合成节点时空间分割的示例;图4b是两种不同速度的计算机以1:2的数量组合成节点时空间分割的示例;图4c、图4d是两种不同速度的计算机以1:3的数量组合成节点时空间分割的示例,图4c中05为B类计算机分配的区域;另外当节点16内包含多个层次的计算时还可以采用内部的空间分割,图5是GPU与CPU之间的计算区域分割示意图,图5中描述的CPU和GPU耦合分区计算方式。通过采用GPU计算大部分中心区域而CPU计算少量的周边区域,图形加速卡上的显存只需要与节点16的主存有直接数据交换,而可以避免与其它节点16的直接数据交换。具体而言,图2a和3b所示节点的逻辑电路单元构成方式下计算区域的分割和通信方式如图6a和图6b工作站11与服务器13及GPU和Cell组成的复合节点的计算区域划分所示,图6a中有工作站11的多核CPU共享内存并行分区20,多核CPU共享内存并行分区20中含有GPU1分区和GPU2分区;图6b中有服务器13的多核CPU共享内存并行分区21,多核CPU共享内存并行分区21中含有cell芯片1分区和Cell芯片2分区。

b)并行的模式

根据本发明提出的节点16组织方式,可以主要采用空间分割的方式来实现并行。如前面节点16的构成中讨论的各种空间区域分配方式。但由于节点16的多层次组织方式,任何节点16间也都有数据交换的通道。因此,可以同时组合采用力分解和粒子分解的方法。另一方面,在并行作业的分配上,如果采用空间分割,那么就必须显式的考虑所用节点16在物理连接中的位置,比如要尽量使用连续的规则节点16阵列分区。但如果采用粒子和力分解的并行模式,则更主要的是利用上层节点1与各下层节点162间的直接连接,对下层节点162间的相互连接方式要求不高。因此节点16的分配方式比较简单,可以集中利用空间分割方式下剩余的零散分布的节点16。在系统的实际运行中可以综合利用两种作业分配方式,如图7所示,图中标记为下层节点162的任务以空间分割方式并行的作业分区22;上层节点161的数据交换23;上层节点161的任务以粒子或力分解方式并行的作业分区24。

另外可以有一些串行或小规模并行作业来填补更加零星的节点和节点时段。实际上可以在节点的部分或全部组成逻辑电路单元上同时运行串行和/或并行的多道程序,正常情况下,某一并行程序处于前台,该并行程序因负载不平衡出现等待时即切换到后台转而执行其它并行或串行程序。这实际上也是一种负载平衡方式。

按照同样的思路同一任务可以在一组节点上多次“折叠”地分配空间,图8示出了一种任务的空间分割方式及各区域内的计算量25、节点阵列26。这样负载较重的区域可以与负载较轻的区域搭配,在各节点上形成比较均匀的负载分布。当然这样实际上增加了边界上数据传递量,使用时需要权衡。

c)通信的优化

中国发明专利申请200710099551.8提出的粒子系统的并行计算采用低于节点阵列维数的空间区域分解方式,逻辑上相邻的节点处于物理上相邻的空间区域。有关粒子的数据存储在逻辑位置与粒子的物理空间位置相对应节点的存储器中。由于直连节点间的通信是确定路径的点对点通信,且时序可以由根节点控制,由此一个m行n列的二维节点阵列,通过每个节点先后沿行和列方向的n-1和m-1次向一侧节点的邻近通信,将每个节点上的信息传播到其它节点上;其组成逻辑电路单元的存储器采用n维存取模式,n>1,即n维数组中的任何相邻元素都能存放在物理上相邻的存储元件中。

与一般的局域网通信相比,可以采用相对简化的、较底层的通信协议,以便根据传输数据的特点优化传输方式,尽量减少数据缓冲和打包、开包的开销。

通过直连网络还可进行全局通信。如图9利用直线网络进行全局通信所示,对m行n列的二维节点16阵列,图9中的例子为,m选择4行,n选择5列,图中箭头①—⑦表示各节点16间信息传播方向,通过每个节点16先后沿行和列方向的n-1和m-1次向一侧节点的邻近通信就能将每个节点16上的信息传播到任何其它节点上。三维和其它拓扑结构的连接下也可以实现类似的并行通信。总体来说,利用直连网络进行全局通信的时间大致是与节点数的平方根或立方根成正比的,而不是直接与节点16数成正比。因此直连网络对有一定数量全局通信的算例也有良好的可扩展性。

在具体实施中为了更灵活地配置不同作业所需的通信拓扑结构,可以在相同的物理连接下分割出不同的逻辑连接模式。比如多个节点16与一个交换机12连接的系统或系统的局部,可在逻辑上将一部分节点16作为上层节点161使用,只是物理连接上下层节点16不是各自对应一个交换机12,通信的实际速度会有所影响。而在芯片内的层次上,利用可重构技术(FPGA)能根据具体的应用需求分别设计最佳的物理连接方式,灵活性更大。

d)内存存取速度的提高

对节点内各逻辑电路单元或算术逻辑部件共享存储的情况,每个处理单元或部件可在统一控制下每次取用一定区域的的数据来处理,完成后再取用新的区域。各逻辑电路单元或部件交替访问,直至取完节点对应的所有区域。处理快的单元或部件取用的次数自然较多,如果区域分割的粒度较细,各逻辑电路单元或部件的负载就会比较平均。

这里提高效率的关键在于存取的速度。目前大多数随机存储芯片物理上本来是采用二维地址选址的,只是在此基础上进行的多级存储体系和系统软件设计中为了简单和通用性,掩盖了这种方式,而统一采用一维的逻辑编址方式。但在粒子方法中无论是存储粒子信息还是搜索粒子间的作用,都要经常使用与物理空间相对应的多维数组,并对其中多维的局部区块进行操作。多维空间上相邻的数组元素在一维编址方式下会处在相隔很远的物理存储单元中,而且逻辑地址也是不连续的。而目前的多级存储体系是将物理和逻辑上都连续的一串存储单元作为一个页面整体送到上一级更高速的存储器中,这样即使访问一个很小的区块也会需要多次页面调度,而页面中绝大多数数据都未被使用,势必造成存储访问的命中率低下。事实上,这是造成目前计算机的峰值与实际速度差别巨大的一个非常普遍而关键的问题,是提高计算效率的瓶颈。

图10a示出二维数组33在一维编址方式下在主存27与缓存49的存储映像,标记34、35分别指示二维数组33的行和列的方向。图10a中左侧的标记27为主存。主存27中包括:多个存储芯片39、存储芯片39的行地址线28、存储芯片39的列地址线29。标记30表示多个存储芯片39中二维数组33在一维地址下的主存映像。图10a中右侧的存储芯片39中记载了二维数组33的一部分在一维地址下的缓存映像31,标记32指示其中的一个页面。

图10b示出二维数组33在二维编址方式下在主存27与缓存49的存储映像。图10b左侧中主存27记载了二维数组33在二维编址下的主存映像36,图10b右侧中缓存49记载了二维数组33的一部分在二维编址下的缓存映像37,它属于同一个页面38。

图10c示出的是可进行二维编址的存储芯片的一种设计方案。图中标记有:行地址线40、行译码器41、触发电路42、存储芯片43、存储体44、列地址线45、列译码器46、控制开关47;

为此在本发明中,如图10a所示,主存27的主体也如现有存储器一样,是由多个存储芯片43组成的阵列。而存储芯片43中的存储体44也可沿用目前的各种类型和结构。存储芯片的基本结构如图10c所示,行地址线40和列地址线45分别通过行译码器41和列译码器46与存储体44连接。但目前的存储芯片43大多只具有快速读写同一行中各列的专门设计,通常这就对应着一个页面。而本发明中将在列译码器46的输出端加装一组批量访问触发电路42,并连接到一个有计数功能的控制开关47。当批量访问触发电路42处于开通状态时,如果一个列地址线45输出端被选中,那么触发电路42就会下一读写周期将相邻的下一输出端选中。触发电路42的输出端48与同一行的下一存储芯片43接通。这样只要一次性通过控制开关47注入开通周期数和向列地址译码器46注入首列地址,无需再传送地址和译码就可以快速读写该行中任意起始地址和长度的一串数据。有了这一便利,就可以将不同行中相应各列组织成适当大小的多维的阵列并视为一个页面连续传送到上一级更高速的存储器中,其中二维阵列一般由相邻行组成。虽然单纯的页面传输速度会略微降低,但上一级存储器的利用率和访问的命中率却能大大提高。

同时在系统的软硬件界面上显式地使用多维地址,这意味着操作系统甚至应用程序将能根据存储器的物理结构来优化内存的管理。虽然各维上的长度会成为程序设计上新的限制因素,降低了其抽象性、简便性和可移植性,但从本质上说,多维地址是更接近硬件、更为基本的,不会对软件的功能和效率带来大的损害。而其优势是非常明显的。如图10所示,多维数组可以不再转换为实质上的一维数组按一维地址存储了,结合上述多维的页面访问方式,在粒子方法中对多维数组的操作速度将能极大地提高。另一方面,对各处理器的私有存储器,由于存放的主要是指令和零散的中间数据,可以依旧采用一维地址访问。

e)大尺度的负载平衡

根据本发明提出的节点组织方式,中国发明专利申请200710099551.8提出的粒子模拟并行计算中的大尺度负载调整可按跨层或同层的方式进行。

图11a是通过改变空间分割同层调整节点负载,该图的左、右部分分别表示了负载调整前、后各节点的计算区域分配。图中上层节点161、交换机12、下层节点162、节点对应的计算区域163,图11a同层的方式已在中国发明专利申请200710099551.8中提出。图11b是通过改变空间分割跨层调整节点负载,该图的左、右部分分别表示了负载调整前、后各节点的计算区域分配。上层节点162的分配区域164、下层节点162的分配区域165(为简单起见未画节点);而跨层的方式图11b与其主要区别在于:其中至少有一个逻辑电路单元具有与上层节点通信的能力,把上层节点161作为所对应下层节点162的公用计算节点16,负载越重的下层节点162分配到的计算资源越多,而且还可以动用邻近的上层节点161来分担下层节点162的负载。这样做的好处是能减少实际的数据迁移量,因为空间区域的调整可以只涉及一对上下节点或其少量邻近节点,而保持下层节点162上总体的数据划分方式不变。在上层节点161计算能力有余的条件下应优先使用这种方式。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述只是对本发明的权利要求的若干典型实现方式的说明,并不用于限制本发明。本领域的技术人员凡在本发明的精神和原则之内提出的不同的其它实现方式,如采用不同的通信软硬件和不同的节点配置等,以及所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号