著录项信息
专利名称 | 一种基于变分多尺度方法的并行计算系统 |
申请号 | CN200810224328.6 | 申请日期 | 2008-10-17 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-06-09 | 公开/公告号 | CN101727512A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/50 | IPC分类号 | G;0;6;F;1;7;/;5;0;;;G;0;6;F;1;5;/;8;0;;;G;0;6;F;1;5;/;1;7;3查看分类表>
|
申请人 | 中国科学院过程工程研究所 | 申请人地址 | 北京市海淀区中关村北二条1号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院过程工程研究所 | 当前权利人 | 中国科学院过程工程研究所 |
发明人 | 葛蔚;李静海 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及高性能计算机技术领域,公开了一种基于变分多尺度方法的计算软硬件系统。该系统针对现实世界中复杂系统的多尺度结构和离散本质,提出了以离散模型单元描述系统底层行为,以变分约束描述大量模型单元群体行为所遵循的稳定性条件的计算模式,从而能够较单纯的底层离散模拟节省大量计算量,而较单层次的平均化模拟显著提高计算精度。以此设计的多层次计算硬件直接反映了这种计算模式,采用大量简单处理器计算模型单元间的相互作用,而以复杂通用处理器计算作用于大量模型单元的变分约束,从而显著提高此类问题的解算速度和计算规模。
1.一种基于变分多尺度方法的并行计算系统,其特征在于:
该系统包括不同层次的计算单元,它们能与同层邻近计算单元或邻近层的计算单元交换或共享信息,低层的计算单元具有更多的数量和更简单的逻辑电路,能进行更简单的计算;而高层的计算单元具有更少的数量和更复杂的逻辑电路,能进行更复杂的计算;
所述并行计算系统由多个计算单元群组成,每个计算单元群含一套通信交换机构和多个与之有直接通信连接的计算单元,所述通信交换机构排成一层或多层的一维或多维阵列,同层的相邻交换机构之间建立直接的通信连接;多个下层的交换机构还与特定的上层交换机构有直接通信连接;
或者所述并行计算系统由一层或多层的一维或多维计算单元阵列组成,每个计算单元与两个以上的交换机构有直接通信连接,而在阵列中相邻的同层计算单元间都至少有一条仅通过一台交换机构的间接连接,下层的每个计算单元与上一层的一个特定计算单元间都至少有一条仅通过一台交换机构的间接连接。
2.根据权利要求1所述的并行计算系统,其特征在于,所述计算单元为具有独立的运算和通信功能的逻辑结构单元,包括芯片、芯片组、板卡和独立计算机中的任意一个或任意多个的组合。
3.根据权利要求1所述的并行计算系统,其特征在于,所述高层计算单元含有能处理各种复杂算法的通用处理器;而所述低层计算单元含有专用处理器,包括单指令多数据的流处理器;专用处理器可以不带有存储器或共享存储器,但能将计算结果传递到通用处理器;中间层计算单元可以同时含有上述两类处理器。
4.根据权利要求1所述的并行计算系统,其特征在于,所述通信交换机构阵列与计算单元阵列为可任意扩展的阵列,或为按任何可重复的排列方式组成的阵列,包括按矩形、长方体、三角形、四面体、六边形、十四面体六种形式中一种或几种组合形成的阵列,所述阵列的边缘为开放的,或为与对应边相连的。
5.根据权利要求1所述的并行计算系统,其特征在于,所述通信连接至少包括通信总线、交叉开关、网卡与网络连接线、串口或并口与串口或并口连接线、USB口及其连接线。
6.根据权利要求1所述的并行计算系统,其特征在于,所述的同层或邻近层共享信息的方式包括共享主存、共享显存、共享缓存、共享寄存器等方式中的一种或几种。
一种基于变分多尺度方法的并行计算系统 \n技术领域\n[0001] 本发明涉及高性能计算机数值模拟技术领域,尤其涉及一种基于变分多尺度方法的通用算法及并行计算系统。 \n背景技术\n[0002] 计算机模拟已成为与理论和实验并列的第三种科学研究和技术开发的基本方法,也是高性能计算最主要应用方向。但目前高性能计算系统的研制主要还是由硬件技术的发展来驱动的,没有以计算机模拟的共性特征为基本出发点来设计相应的计算机系统。因此,随着以集成电路线宽为标志的元器件技术逐渐逼近目前条件下的极限,进一步提高计算能力的瓶颈显得越来越突出,这主要表现在如下几个方面: \n[0003] 1)计算机的峰值速度与实际计算能力间的差距越来越大。目前实现高性能计算的主流方式是大规模并行处理(MPP),由于这样的系统耗资巨大,如何充分利用其硬件资源是MPP设计中需要重点考虑的问题。传统的思路是让系统能适应许多不同的算法和应用问题,即依靠通用性来保证业务量的饱满,使系统资源得以充分利用。为此,原则上应实现全局性的快速数据交换,包括处理器与存储器之间以及处理器之间直接或间接的数据交换。在这样的设计思路下,当处理器数量增加时,通信方面的硬件开销必然非线性地增加,反过来系统的实际速度却无法达到与处理器数量成线性关系的增长,从而造成了提高机器性能的主要瓶颈。系统的规模由于受到元器件的集成度在技术上的严重制约而存在一个极限。目前即使对单处理器的微型计算机来说,处理器的数据处理速度和存储器数据存取速度之间的速度差距拉大也使它运行许多计算程序的实际效率只有其峰值的10%左右,而对MPP系统来说常常更降低到只有1~2%。\n[0004] 2)计算方法的精度与模拟对象的复杂程度越来越不相适应。目前的计算机模拟方法总体上是基于还原论的,即认为模拟对象可以被一套方程或一套单元间的作用规则所描述,如果有足够的计算能力求解这套方程或执行这套规则,就能复现和预测模拟对象的行为。即使不考虑上述判断是否成立,在大规模计算中,比如在对大系统的长时间模拟中,无可避免的步长和字长误差也使计算结果的可行信度难以保证。纯粹从计算数学理论很难准确估计实际计算过程的误差。而且目前很多模拟结果也难以用实验方法进行有效和全面的检验,实际上很多系统必须进行模拟就是因为难以进行实验研究。模拟对象和模拟的现象越复杂,这方面的问题也就越突出。 \n[0005] 3)高性能计算的普及程度与对高性能计算的需求差距越来越大。作为理论和实验之外的第三种研究和开发手段,高性能计算已不能局限在少数几个计算中心,而需要大量走进实验室,走进公司企业,走进学校课堂。而且随着社会生产生活的不断发展,对高性能计算的需求也远远超出了科学与工程计算的范畴,社会、经济、金融、生态等“复杂巨系统”都开始成为需要定量分析、模拟的对象,否则,不科学的决策可能带来难以估量的损失和灾难。但目前高性能计算系统的造价、能耗、占地和维护费用都达到了十分可观的程度,高效编程和使用的难度也很大,使大量潜在用户望而却步,已成为高性能计算机及其应用发展的一大障碍。因此,建立更经济实用的高性能计算系统已成为一个紧迫课题。 [0006] 为了突破上述瓶颈,我们注意到多尺度结构和离散本质是大多数模拟对象的共同特征,而经过多年研究,我们发现系统中多种控制机制相互协调而形成的稳定性条件是决定多尺度结构行为的基本因素。由此,我们通过实例研究逐步发现下面的方法对具有多尺度结构的复杂系统的模拟具有普遍性,即: \n[0007] 1)在适当尺度上将系统离散为大量具有近程可叠加相互作用的简单模型单元;\n[0008] 2)除上述单元间的相互作用外,它们还受一个或多个变分或极值条件的约束,从而具有与单独运动时不同的行为; \n[0009] 3)施加的约束的形式也决定于受约束单元的行为,因此可以设置更高层次、更复杂的模型单元,通过与较低层单元的相互作用来体现这种约束一反馈机制; [0010] 4)上述单元间的关系可以嵌套,从而形成多层次计算模型。 \n[0011] 针对上述方法,我们可以设计多层次近程连接、自上而下由繁到简、由少到多的计算单元系统,使计算单元与模型单元、模型单元间的作用与计算单元间的连接之间建立适当的映射关系,从而最大限度地发挥计算硬件的性能,减少不必要的硬件开销。同时,采用这种方法,根据模拟对象物理上的稳定性条件,我们还可以通过上层单元对下层单元的约束来修正计算误差,从机理上保证计算的精度。 \n[0012] 在中国专利申请200510064799.1,200710099551.8和200810057259.4中,我们主要针对上述方法中的模型单元间作用,即所谓“粒子方法”提出了一种通用算法及其专用硬件系统的不同设计方案。本发明将在此基础上提出更广义和更完善的变分多尺度方法的算法及其专用硬件系统的总体设计方案,重点解决变分或极值约束的实现方式和不同层次计算单元的差异化设计及耦合方式。为更好地阐述本发明的动机、意义、技术方案和应用前景,我们首先简单介绍变分多尺度和离散模拟方法,然后分析现有的相关专用软硬件系统,主要是粒子模拟系统的技术现状与发展趋势,从而说明我们先前几个专利的设计思想、存在的问题,最后介绍本发明。 \n[0013] 一)变分多尺度方法简介 \n[0014] 这里所谓的变分多尺度方法主要是指我们发展的一种以稳定性条件封闭动力学方程组的复杂系统演化模拟方法。一般的多尺度方法可以分为描述型和关联型两种:前者是在空间和/或时间上耦合不同尺度的描述方法,如用分子动力学方法模拟材料微裂纹附近的行为而用有限元方法描述其块体的行为。而后者是将从小尺度模拟中获得的统计关联式作为大尺度模拟的模型方程,如从分子动力学模拟得到的流体状态方程和本构关系可作为流体力学方程组的组成部分。但这两种方法都没有显式地考 虑在非平衡状态下,作为小尺度单元集体行为的大尺度行为实际上会涌现出新的特性,并对小尺度行为产生约束,而另一方面小尺度模型只要不是从第一原理出发的,就会显式或隐含地存在不封闭性,比如湍流模型。 \n[0015] 而变分多尺度方法认为,对非线性非平衡系统而言,系统内必然有两个以上的控制机制在起作用。虽然对不同的系统这些机制大多不尽相同,但都可以各自表达为某种极值或变分条件。而通过分析各个控制机制各自独立的极值或变分条件,以及这些条件相互协调的规律,我们能够提出系统需要满足的稳定性条件。这种稳定性条件正好提供了动力学描述中缺失的封闭条件。目前,对于多相流系统,我们已经找到了气固、气液、液液等多种系统中动态多尺度结构的稳定性条件。应用这些条件就可以封闭通过尺度分解得到的各尺度上各自的动力学方程,并实现跨尺度的关联。然后借助数学上的多目标优化,可以求解多尺度关联的亚微元模型,并认识复杂系统中多尺度结构产生的机制及其时空演变、在临界条件的突变等规律,掌握复杂系统的产生及演化的本质。 \n[0016] 二)离散模拟方法简介 \n[0017] 离散模拟方法提供了描述复杂系统动力学行为的一种本质、普适而简便的方式。\n其中大部分将模拟系统离散为大量相互作用的粒子,通过动力学计算描述每个粒子的行为,从而直接或通过统计与组合复现系统的行为,因而许多也被称为粒子方法。它们的典型实例包括: \n[0018] 分子动力学(molecular dynamics,MD)。将原子、原子团或分子简化为通过有势力和刚性约束等方式相互作用的质点来描述分子、分子团以至材料的微观行为,目前已广泛应用于化学制剂的合成,生物大分子和新材料的研究、设计与制备,对生命本质的探索等领域。而在广义上,像中子扩散等对核辐射的模拟也归入分子动力学方法中。 [0019] 离散单元法(distinct element method,DEM)。对像沙石、谷物、各种粉末等固体颗粒物,其中自然存在的每个离散颗粒间的相互作用力(如相互接触产生的压力和摩擦力,以及非接触时也能存在的静电力等),并进而计算它们各自的轨迹,这被称为离散单元法。目前也在工业过程、农业工程和地质、水文等方面广泛应用。 \n[0020] 多体动力学(N-body dynamics)。在宇观尺度上,从星球、星系,到星 系团甚至整个宇宙,世界的离散的特性也是非常明显的,后者都可视为组成前者的粒子。多体动力学通过计算这些巨大“粒子”间的万有引力来跟踪它们的轨迹和集体行为,是天体动力学模拟的一种主流手段。这种方法为探索宇宙的形成与演化及未来的航天领域提供了有力手段。 [0021] 粗粒化模型(Coarse-grained models)。粒子方法也不局限于直观上能处理为粒子集合的系统。近年来,对于流体的流动和材料的变形等传统上采用连续介质方法模拟的行为,通过构造粗粒化的或者简化的模型粒子也提出了很多粒子方法。如介观的耗散粒子动力学(dissipative particle dynamics,DPD)方法和格子波尔兹曼(Lattice Boltzmann,LB)方法,以及宏观的光滑粒子动力学(smoothed particle hydrodynamics,SPH)方法等。从物理背景上说,这些模型粒子大致是一大团分子或一个物质微元的拉格朗日(Lagrange)表达。这些模型突破了计算量随系统自然含有的粒子数量必然增大的问题(这是采用连续介质方法的重要理由),并且特别适合处理复杂边界、多相介质和大变形等对连续介质方法具有挑战性的问题,目前已在舰船、飞行器和车辆的设计,核武器与反应堆的研究与设计,能源、化工、水利、地质勘探开发,气象和海洋预报等广泛的领域中获得大量应用。 \n[0022] 实际上,很多连续介质模型的显式数值计算模型从物理的角度也可理解为离散模拟的模型。而在社会、经济等系统的模拟中常用的所谓Agent模型也可以认为是相对复杂的离散模拟模型。因此,离散模拟的覆盖面是相当广泛的。 \n[0023] 二)针对不同离散模型的专用软硬件系统 \n[0024] 目前针对变分多尺度方法的通用软件和专业硬件还没有出现,但是国际上对不同的粒子方法已提出了一些专用软硬件系统。较早的如美国专利US4740894(1988-04-26公开)提出了一种具有多输入输出端口的处理单元,而美国专利US3970993(1976-07-20公开)则采用单向链通道(ChainingChannel)将处理单元串联起来,使数据可以传到下一处理单元。这样的单元都可以用来组成适合一些简单的粒子算法的处理器阵列。这方面一个比较典型的例子是美国专利US5432718(1995-07-11公开)提出的采用组合逻辑(combination logic)和双重网格计算规则格子上粒子运动的方法与系统, 它对应LGA是非常高效的,通过适当改造,也可适用于LBM等其它一些基于格子的粒子方法。但处理器阵列的局限性也显而易见。每个处理单元原则上只能处理其硬件预先设定的少数几种运算,而不具备存储和解释指令、从而独立运行程序的功能,因此它的通用性很差。 [0025] 近年来IBM与日本理化研究所(Institute of Chemical Research,RIKEN)合作研发了专门用于N-body问题和分子动力学模拟的MD-GRAPE(Molecular Dynamics GRAvity PipE的缩写)系列芯片、板卡和专用计算机。它们将这些问题中典型的粒子间作用算法固化为专门的硬件流水线,每个芯片有大量能并行处理的流水线而每条流水线能并行处理多个粒子间的作用。后期的流水线还采用了可编程门阵列(FPGA)器件以根据不同粒子间作用算法重构不同的硬件流水线,提高其效率和通用性。 \n[0026] MD-GRAPE芯片的前身是在1995和1996两年曾获IEEE ComputerSociety最快计算机Gordon Bell奖的GRAPE芯片,MD-GRAPE芯片经过优化设计,专门用来计算在N-body问题和分子子动力学模拟中的粒子间相互作用力的计算,它内部提供4条并行的计算流水线,每条流水线可以同时进行6个粒子的相互作用力计算,芯片同时可以存储100万个粒子的信息。MD-GRAPE与RIKEN后来设计的其他专用芯片配合构建了专门用于N-body问题和分子动力学模拟的100Tflops/s速度的计算机系统。 \n[0027] 为了方便用户使用MD-GRAPE的强大的N-body问题和分子动力学模拟专用计算能力,还设计了能直接插到计算机扩展插槽的MD-GRAPE板卡,板卡采用PCI接口,可以直接插到从用户的个人计算机直至IBM RS6000SP高性能计算机中。板卡集成了4块MD-GRAPE芯片,在PC或者RISC工作站上提供64Gflops/s的计算能力,并为用户提供FORTRAN和C语言程序库接口。 \n[0028] 第二代MD-GRAPE芯片集成了900万个晶体管,采用IBM公司的0.25μm技术、2.5V技术,在100M主频下的功率是15瓦,同样是4条计算流水线,提供64Gflops的计算能力。第三代MD-GRAPE芯片具有20条计算流水线,试运行频率的不同可以提供165或者200Gflops的计算能力。MD3-PCIX板卡集成了两块MD-GRAPE3芯片,计算能力是330Gflops,可以直接插到用户计算机中使用。\n[0029] 除了芯片和板卡,还有MD-GRAPE-3专用处理机,处理机集成了12块MD-GRAPE3芯片,它的外部尺寸是2U、19英寸,通过10Gbits/s的专用通信线与插在宿主计算机PCIX插槽的接口卡连接。每个MD-GRAPE-3芯片的计算能力是200Gflops,整台计算机的计算峰值达到了1Pflops,计算机的功率为300kW,在低功耗前提下实现了计算的高性能。 [0030] QCDOC是是IBM研制的专门用于量子色动力学QCD(QuantumChromoDynamics)计算的专用芯片,多家实验室采用QCDOC芯片建立了QCDOC专用计算机。 \n[0031] QCDOC芯片是一种在PowerPC内核的基础上研制的专用集成电路芯片(ASIC)。它包含一个500MHz440PowerPC处理器,提供1Gflops的64位浮点计算能力,集成了4Mbytes的存储器EDRAM,用于在进行标准lattice QCD计算时存储代码和数据,计算内核到EDRAM有一条峰值带宽为8GByte/s的数据传输通路。同时ASIC具备DMA功能,可以在EDRAM和外部存储器之间自动传输数据,并且支持结点间通信,包含一个用于引导、诊断和I/O网络的Ethernet控制器。 \n[0032] QCDOC专用计算机是一个计算结点采用QCDOC芯片的并行计算机,计算结点间采用6维mesh的torus结构互连,每个结点与其12个邻居结点以全双工500Mbit/s的速度相连,连接线路采用锁相接收器,具备单bit错误检测自动重传功能,可以进行相邻结点内存的直接DMA存取。另外QCDOC专用计算机还有一个100Mbit/s快速Ethernet网络用于引导、诊断和管理用的一般性I/O。QCDOC专用计算机使用为QCD计算而专门设计的QOS操作系统。 \n[0033] 目前有3台QCDOC专用计算机分别安装在Columbia University(1024结点)、RIKEN BNL Research Center(12288结点)和DOE BrookhavenNational Laboratory,其中后两台QCDOC计算机的速度都达到了10Tflops。 \n[0034] Tilera公司2007年发布了一款采用64nm技术的64核处理器Tile64,工作频率是600~900MHz。在现有多核处理器中,各个内核之间主要通过总线来通信,如果有16个或更多内核,总线的数据传输速度就将成为瓶颈,从而处理器的性能也将大打折扣。Tile64并没有中央总线,而是将每个内核直接相连,有效地避免了现有处理器架构的速度瓶颈,并且可以在 更低功耗下运行。此外,Tile64的每一个内核都是一个功能完整的处理器,可以单独运行一个操作系统。下图是Tile64芯片的内部构造示意图。 \n[0035] Tilera′s Multicore Development Environment(MDE)是用于Tile64芯片的开发环境。目前Tilera公司提供两种型号的板卡,TILExpress-64和TILExpress-20G,它们主要用于多媒体流数据处理和网络流量检测等应用。 \n[0036] 三)本发明的前期研究 \n[0037] 上述几种系统在某些方面考虑了粒子方法的特点,采用了近程连接(Tile64和QCDOC)和专用流计算技术(MD-Grape),但尚未提出针对离散模拟的通用软硬件系统的设计方案,当然也还没有考虑实际复杂系统多尺度离散的共性和不同层次模拟单元间的变分约束,实现多尺度算法和多层次体系结构的耦合。 \n[0038] 为了在计算模型和软件的层面显著减少直接离散模拟的计算量并扩大系统的应用范围,实现目前主流的多线程共享内存及流计算并行计算技术与高可扩展性近程网络连接方式的结合,充分利用它们各自的优势并能取长补短,在中国专利申请200510064799.1,\n200710099551.8和200810057259.4中,我们总结了离散模拟的如下共同特征,并提出了相应的计算系统设计方案。 \n[0039] 首先,我们所考虑的模型单元,无论是自然存在的粒子还是人为构造的模型粒子,以至很多复杂的Agent,它们之间的作用强度普遍随距离(或某种逻辑距离)的增长而迅速降低。物理粒子间的作用本质上无非是四种基本力造成的(实为三种或更少),其中引力和电磁力的强度与质点间距离平方成反比,而强和弱相互作用的衰减更快,因此一般可忽略相距足够远的粒子间的作用,或者通过估计大量粒子的合力来代替每对粒子间的受力计算。这就导致了局部性,即尽管整个系统可拥有任意多个模型单元,但直接决定任一模型单元瞬时运动的模型单元却主要是很少量的邻近模型单元。 \n[0040] 同时,一对模型单元间的作用函数一般可通过一个或一组代数或常微分方程描述,而一个模型单元同时受到的各对作用是可迭加的。也就是说,我们可以按任意顺序分别独立处理每对单元间的作用,通过简单的加和得 到单元所受的总体作用。虽然在对硬球粒子或由多个粒子通过一些约束组成的复合粒子(如链状的高分子),以及社会、经济系统中的一些Agent的具体处理上并非那么简单,但在稍大的尺度上,如对复合粒子的整体,其算法总体上依然具有此性质。 \n[0041] 由此可以发现,离散模拟方法具有普遍的应用,而针对此类方法的软硬件设计能显著优化。即各种模型单元间的作用方式可模块化地嵌入通用的总体算法和数据结构中;\n而通过空间分区,离散模拟方法几乎可获得线性加速比,且硬件系统的每个计算单元可只提供对特定的极少数相邻计算单元的内存共享或消息传递,可相当简便地大规模扩展;同时计算单元的复杂性和规模可大大降低(如可以只有缓存,没有主存),从而提高处于计算操作中的元器件的比例,即提高其使用效率,降低成本。与一般的通用高性能计算机相比,针对这种框架设计的硬件系统应用范围虽然有所缩小,但仍会有大量的需求。而硬件成本的降低和效率的提高所产生的效益将远远超过前者造成的影响。因此这类系统将具有非常广阔的前景。 \n[0042] 根据这些特点,中国发明专利申请200510064799.1提出了一种包括多个计算和存储单元,分别形成阵列,使每个存储单元与多个与其邻近的计算单元连接;每个计算单元与多个与其邻近的存储单元连接的可扩展并行体系结构,以局部内存共享模式考虑了粒子近程作用和可叠加的共性。而中国发明专利申请200710099551.8提供了一种面向粒子模模拟的多层直连集群并行计算系统。该系统由排成一层或多层的一维或多维阵列的多个计算单元组成,同层的相邻计算单元之间直接进行通信连接,不同层的计算单元通过交换机进行通信连接,在考虑近程作用的同时初步考虑了粒子间作用的多尺度性。同时中国发明专利申请200810057259.4对这种集群并行系统中的计算单元提出了具体的设计方案,特别是对计算单元内以共享内存方式大规模并行的流处理芯片(如图形处理器---GPU)和小规模多线程并行的通用计算芯片(如中央处理器---CPU)的耦合使用提出了具体的软硬件解决方案。 \n[0043] 上述专利申请中虽然考虑了多尺度作用(多层直连和不同性质处理芯片的耦合)和近程作用模型的通用化(局部内存共享和近程直连模式),但还没有系统地考虑更普遍意义下的多尺度离散模拟系统的专用计算系统;虽然利用上下层单元间的连接来处理模型单元间的长程关联,但还没有提出 以变分多尺度方法约束模型单元间的作用,简化计算,提高效率的系统方式,以及对大规模并行的可靠性、灵活性,以至计算、存储与通信速度匹配的优化等更深入的问题。而本发明将针对这些问题提出具体解决方案。 发明内容\n[0044] 一)要解决的技术问题 \n[0045] 有鉴于此,本发明的主要目的在于提供一种面向多尺度复杂系统,基于变分多尺度方法的算法与计算机系统总体设计,以提炼和优化针对大量复杂系统模拟有普遍性的算法、简化高性能计算机系统的设计、提高高性能计算机系统的效率。 \n[0046] 二)技术方案 \n[0047] 为达到上述目的,本发明提供了一种模拟复杂系统的通用算法及其计算机软硬件系统的设计方案。 \n[0048] 该算法将被模拟系统离散为不同层次上相互关联的模型单元。较低层模型单元间发生相对简单的近程相互作用,而同时较高层模型单元会约束较低层模型单元的运动。 [0049] 所述模型单元可以用一组特定的变量描述,称为状态变量。一个模型单元的各状态变量的一组特定取值被称为该模型单元的一个状态。模型单元状态通过模型单元间的相互作用而改变。 \n[0050] 所述较高层模型单元对较低层模型单元的约束表现为一种极值或变分约束,即所涉及的各较低层模型单元总体上要满足决定于这些模型单元的状态的一个或多个变量或函数的极值或变分条件,而当存在多个极值或变分条件时它们之间也互为约束条件。 [0051] 所述较低层模型单元间的作用具有并行性,即对任意两个较低层模型单元间的作用的处理可同时进行,由被处理模型单元的状态和与之作用的另一模型单元的部分或全部状态信息可计算另一模型单元对被处理模型单元状态变化的贡献。 \n[0052] 所述较低层同层模型单元间的作用具有可叠加性,即较低层各同层模型单元对一个被处理模型单元的状态变化的总贡献是这些模型单元各自 对被处理模型单元状态变化的贡献的函数。 \n[0053] 所述较低层同层模型单元间的作用具有近程性,即每个较低层模型单元仅与不超过特定上限个数的同层模型单元相互作用,这些模型单元被称为该模型单元的邻居模型单元,与这些邻居模型单元相邻的模型单元被称为二重邻居模型单元,三重、四重及更多重的邻居模型单元的定义依次类推。每个模型单元的邻居模型单元的特定上限个数不随同层模型单元数量的增长而增长;同时每个模型单元的各邻居模型单元之间也互为有限重的邻居模型单元,该重数的上限不随同层模型单元数的增长而增长。 \n[0054] 所述较低层模型单元与较高层模型单元间的作用为反馈-约束机制,即与较高层模型单元有直接连接的各较低层模型单元向该较高层模型单元传递部分或全部的状态信息。各较低层模型单元对该较高层模型单元状态变化的总贡献是这些信息的函数。较高层模型单元状态对各较低层模型单元状态变化的贡献是较高层模型单元状态及其变化量的函数。 \n[0055] 所述模型单元状态的变化具有递进性,即每一个模型单元的新状态决定于各同层模型单元对该模型单元状态变化的总贡献及该模型单元的较低层和较高层模型单元对其状态变化的贡献,而各模型单元的新状态以同样的方式决定该模型单元的更新的状态。 [0056] 根据上述算法,其相应的计算机硬件系统包括不同层次上的计算单元,它们能与一定范围内的同层邻近计算单元或邻近层的若干对应计算单元交换或共享信息。较低层的计算单元具有较多的数量和较简单的逻辑电路,能进行相对简单的计算。较高层的计算单元具有较少的数量和较复杂的逻辑电路,能进行较复杂的计算。 \n[0057] 上述计算机硬件系统的组成方式包括: \n[0058] a)该系统由多个计算单元群组成,每个计算单元群含一套通信交换机构和多个与之有直接通信连接的计算单元。所述通信交换机构在逻辑上排成一层或多层的一维或多维阵列,同层的相邻交换机构之间建立直接的通信连接。多个下层的交换机构还与特定的上层交换机构有直接通信连接。 \n[0059] b)该系统由一层或多层的一维或多维计算单元阵列组成,每个计算单元与两个以上的交换机构有直接通信连接,以保证在阵列中相邻的同层计算单元间都至少有一条仅通过一台交换机构的间接连接,而下层的每个计 算单元与上一层的一个特定计算单元间都至少有一条仅通过一台交换机构的间接连接。 \n[0060] 所述计算单元为具有独立的运算和通信功能的逻辑结构单元,包括芯片、芯片组、可编程门阵列(FPGA)芯片,板卡和独立计算机中的任意一个或任意多个的组合;而且这些芯片、芯片组、可编程门阵列板卡和独立计算机的下级结构本身也可采用所述的并行计算系统的组织方式。 \n[0061] 所述较高层计算单元含有少量能处理各种复杂算法的通用处理器;而较低层计算单元含有大量仅适合处理某类问题的专用处理器,包括单指令多数据的流处理器,专用处理器可以不带有存储器或共享少量的存储器,但能将计算结果传递到通用处理器;某些中间层计算单元可以同时含有上述两类处理器。 \n[0062] 所述阵列为可任意扩展的阵列,或为按任何可重复的排列方式组成的阵列,至少包括按矩形或长方体、三角形或四面体、六边形或十四面体形式形成的阵列。所述阵列的边缘为开放的,或为与对应边相连的。 \n[0063] 所述通信连接适用于所述计算单元间的任何连接方式,至少包括通信总线、交叉开关、网卡与网络连接线、串口或并口与串口或并口连接线、USB口及其连接线。 [0064] 所述的信息共享方式适用于所述计算单元间的任何信息共享方式,至少包括共享主存、共享显存、共享缓存或共享寄存器等方式。 \n[0065] 所述通信交换机构为支持所述通信连接的任何多路输入、单路输出或多路输入、多路输出的通信交换机构。 \n[0066] 该通用算法在该系统上执行时,该算法中模型单元间的拓扑关系与该并行系统计算单元间的拓扑关系相对应。即,一个或多个较低层模型单元的状态变量保存在一个较低层的计算单元中,具有邻居关系的模型单元的状态变量也保存在具有邻居关系的计算单元中或在同一个计算单元中;而这些模型单元对应的较高层模型单元的状态变量保存在所述较低层计算单元对应的较高层计算单元中。关于一个模型单元的状态变化的主要计算在保存其状态变量的计算单元中进行,较下层计算单元的计算结果可直接送入较高层计算单元中并得到即时应用。\n[0067] 三)有益效果 \n[0068] 1.从上述技术方案可以看出,本发明提供的这种变分多尺度模拟计算系统能概括大量不同的复杂系统,大到星体星系系统、小到分子原子系统的基本特征,即多尺度离散结构,具有很强的通用性。 \n[0069] 2.通过提供切合离散结构模拟的算法和计算硬件,本发明简化了高性能计算系统的设计、提高了其可扩展性、从根本上摆脱了元器件计算水平对计算性能设置的上限、降低了其制造和使用成本与能耗,同时提高了模拟系统的实际效率。 \n[0070] 3.同时系统提供的多层次变分约束和反馈算法及相应的硬件结构也切合模拟对象的多尺度特征和内在作用机理,能有效地简化计算模型、极大地减少模拟的计算量、显著提高计算精度。 \n[0071] 4.以上两方面总体上使本发明提供的并行计算系统又具有鲜明的专门性,即为一类有显著特点的算法—变分多尺度模拟算法提供了非常适合其执行的计算系统。而它与第\n1方面通用性的结合则为解决高性能计算领域通用性与计算效率的重大矛盾提供了很好的解决途径。 \n附图说明\n[0072] 图1为本发明提供的变分多尺度算法的逻辑结构示意图;其中,1为模型单元,2为近程相互作用,3为上层模型单元,4为与上层模型单元的相互作用,5为上层模型单元间的相互作用,6为与更上层模型单元的相互作用; \n[0073] 图2为用本发明提供的算法和并行计算系统解优化问题的示意图;其中21为自由参数空间,22为稳定性准则,23为稳定性准则的极值点,24为方程组,25为下层计算单元,\n26为上层计算单元,27为一批坐标点及其稳定性准则的数值,28为新的一批坐标点及其稳定性准则的数值,29为非线性方程的根,30为更下层计算单元,31为不同自变量下的函数值,32为有根区间,33为下步计算采用的自变量; \n[0074] 图3为采用本发明提供的算法和并行计算系统进行描述型多尺度计算的示意图;\n其中36为整体的材料,37为采用有限元方法计算的区域,38为局部的缺陷或裂纹,39为采用分子动力学模拟的区域,40为重叠区域, 41为上下层计算单元间的参数传递; [0075] 图4为采用本发明提供的解非平衡演化问题的示意图;其中45为计算的初始状态,46为满足稳定性条件的真实解,47为近似解,48为测试解的范围,49为更好的近似解; [0076] 图5为本发明提供的并行计算系统的总体结构图;其中51为管理控制及输入输出单元等,52为顶层交换机构,53为层间连接; \n[0077] 图6为由Nvidia计算加速单元和宿主机构成的计算结点示意图;其中60为计算加速单元,61为专业计算卡,62为PCI-Ex16插槽,63为交换子卡,64为PCI-E X16Gen2插槽上的接口卡,65为宿主机; \n[0078] 图7为输入输出及后处理结点示意图;其中71为GTX280显卡,72为机架式服务器,73为存储适配卡,74为存储盘阵,75为大屏幕显示器; \n[0079] 图8为本发明提供的计算单元间连接的第一种方式;其中81为交换机构,82为交换机构间的互联,83为上层交换机构; \n[0080] 图9为本发明提供的计算单元间连接的第二种方式;其中91、92分别为计算单元阵列中两个相互错位重叠的区域,93、94为分别连接92和94区域中计算单元的交换机构,\n95为交换机构间的互联。 \n具体实施方式\n[0081] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。 \n[0082] 一)算法的实施 \n[0083] 在前述的变分多尺度模拟算法中,大量离散的模型单元(1)间发生近程相互作用(2),同时与若干上层模型单元(3)相互作用(4),而上层模型单元间又发生近程作用(5),并与更上层的模型单元相互作用(6),以此类推组成多尺度结构系统,它可以用图1形象地示意。可以说,这几乎是所有需要高性能计算的复杂系统的共同特征。比如,社会系统有最基本的组成单元—人,人大多与他/她周围的人关系较密切,远程的则联系较少。但社会不仅是单个人之间的作用,每个人还会参加不同的团体和组织,如家庭、工作单位、社区、俱乐部等等,它们对组成或参与它们的个体的行为有约束 作用,同时作为整体也会发生相互关系,并且能组成更高层次的团体。在物质世界中,从基本粒子到整个宇宙也有相似的特征。\n利用此框架,代表各种应用的各种单元间的作用方式可模块化地嵌入通用的总体算法和数据结构中,而无需独立编写相应的计算软件。 \n[0084] 这种模拟框架的一些具体应用环境可以列举如下: \n[0085] 1)在多尺度离散系统中,上层单元原则上都会对组成它的下层单元有约束和影响,使之与完全独立的个体行为不同,比如人类社会中个人要受组织的领导和管理,要受其制度和法规的约束。因此任何反映这种现实的模拟都自然地需要与上层单元建立反馈—约束机制。同时上层单元间也会发生邻近的相互作用,比如人类社会中单位对单位、国家对国家间的合作与竞争等。再有,就是这种关系是可以嵌套的,即存在多级的上下层单元关系。\n这时,上述变分多尺度模拟算法就是最合理与自然的描述。一般来说,越是上层的单元数量越少,但相互作用方式越复杂,所以它们会更多地依靠少量的通用处理单元来模拟,而大量相对简单的下层单元间作用通过大量专用处理器来模拟。 \n[0086] 根据变分多尺度原理,很多物理系统中的这种约束机制表现为下层各模型单元总体上要满足某种稳定性条件,数学上则表达为多目标变分问题。在计算机模拟中,这个多目标变分问题会最终转化为有限自由度上的优化问题。此时较上层的复杂计算单元可考虑对最优化算法的专门优化,其计算结果会以某种修正量的形式反馈到相关较低层计算单元中。 \n[0087] 比如在SPH、宏观拟颗粒模拟(MaPPM)和移动粒子半隐式(MPS)等宏观粒子模拟方法中,每个粒子物理上代表了一个流体微团,而其状态是根据周围一定范围内的其它粒子演化后的状态按照某个权函数平均得到的。而数学上满足收敛要求的权函数有无穷多个,此时,根据流动的稳定条件就为筛选权函数提供了泛函变分条件。比如,流动在局部应满足黏性耗散最小的变分条件,因此可以比较使用不同权函数获得的局部黏性耗散统计值来判断权函数的优劣并选择和优化。在简化的条件下,可根据经验预选带有一定参数的候选函数形式,再通过迭代求解最小局部黏性耗散对应的参数值。这样虽然每个时间不的计算要引入迭代,但由于权函数的优化可能显著提高精度,而这种提高以前需要用更小、更多的粒子和更小的时间 步长获得,因此总体来讲计算量仍可能明显减小。 \n[0088] 2)优化问题本身也可利用本发明的算法和计算机硬件来快速求解。在多尺度模型中往往出现方程数少于模型涉及的变量数,而需要引入经验关联式的情况,比如在湍流模型中,由于一阶模型的不封闭性需要引入二阶近似假设来封闭,而二阶模型也难以封闭时,则需引入更复杂的三阶近似。避免采用经验假设的一种方法是引入物理的稳定性条件提供封闭。如图2所示,其算法总体上就是在一定维数的自由参数空间(21)中寻找稳定性准则(22)的极值点(23),而该空间中每个坐标点(27)上该准则的数值要通过求解一个方程组获得,例如在气固和气液流动系统的能量最小多尺度(EMMS)模型中自由参数的数量分别为2和3,而方程组的阶数分别为6和3。此时大量坐标点上的准则数值就可以通过单指令多数据的方式,通过大量下层计算单元(25)独立地并行计算,而根据这些结点的计算结果,上层计算单元(26)可以采用较复杂的寻找极值点的算法,比如模拟退火、遗传算法等,给出新一批需要计算的坐标点(28),如此迭代,逐步接近极值点。同时寻找非线性方程的根(29)的过程也可利用大量更下层的计算单元(30)以单指令多数据的方式分别计算不同自变量下的函数值(31),然后由较下层计算单元(25)确定有根区间(32)和下步计算采用的自变量(33),经过数次迭代获得准确的根。当存在多个需要求解的方程时,较高层和较低层计算单元间还可以建立流水线机制,使较低层计算单元在并行计算某方程的函数值时,较高层计算单元能同时判断另一方程的有根区间和下步迭代采用的自变量。 [0089] 此类算法还适用于蛋白质和多相复杂介质体系稳定结构的预测、金融产品收益率预测、图形图像处理等大批符合“海量独立计算—分析判断—重新计算”模式的应用。 [0090] 3)在有些情况下或为了某种模拟目的,尽管相隔较远的粒子间的作用力较小,远程的相互作用也不能被忽略,而需要用一种简化的方式来处理。其中大部分简化方式从本质上说就是考虑多对粒子间作用的集体效果。另一方面,即使远程相互作用可以被忽略,为了减少计算量也会只直接计算尽可能少的邻近相互作用而其余的只考虑其集体效果。因此,在多尺度离散模拟系统中,单元间的邻近作用来下层结点中主要依靠专用处理 器计算,而远程作用的集体效果主要依靠上层结点或/和通用处理器计算。 \n[0091] 这种方式在描述型多尺度方法中也能得到应用。如图3所示,此时,同一模拟中要采用多种不同尺度的方法,比如在材料力学中,整体的材料(36)变形采用有限元方法计算(37)而局部的材料缺陷或裂纹(38)采用分子动力学模拟(39)。由于后者的计算空间区域虽小但计算量巨大且算法相对简单,所以正好适合在上层计算单元(26)进行有限元计算而在下层计算单元(25)进行分子动力学模拟。为了实现两种计算方法的耦合,一般需要一个重叠区域(40),下层计算单元分子动力学计算的统计结果要传递给上层的计算单元作为状态的输入,同时上层计算单元根据新的计算结果要对下层计算单元中各分子的运动状态进行修正和约束(41)。这种耦合方式正好与本发明提供的计算单元组织结构一致。 [0092] 同样,这种方式也能应用于关联型多尺度方法中。该方法将小尺度上模拟结果的统计性质作为大尺度模型的参数。广义上,从分子动理学获得流体力学方程组的本构关系,再从流体力学方程的平均化获得多孔介质渗流的达西定律的过程也属于关联型多尺度方法。但是对简单系统,小尺度行为的统计性质可以显式地表达为关联式或图表,使得大尺度计算在具体算例中可以不直接依赖于小尺度计算。而对于一些复杂体系,比如一些聚合物的非牛顿流,物性的决定因素众多而且与流动状态密切相关,难以用简单的关联式或图表表达,必须直接由小尺度计算“现场”提供,这就是基于关联型多尺度方法中耦合计算的典型情况。此时,正如在描述型多尺度方法的重叠区域,下层和上层的计算单元可分别进行小尺度和大尺度的计算,而通过层间的参数统计、传递和分配实现多尺度耦合。 [0093] 4)很多连续介质模型的数值求解。因为数值求解最终表现为一组离散网格点之间的“作用”,即数值依赖关系,而很多情况下,主要是在显格式下,具有这种依赖关系的网格也可以理解为某种特殊的静止粒子系统。更有意义的是,传统上显式数值方法虽然简单而且并行性好,但因为在稳定性和/或计算精度上较差,应用不及隐格式普遍,而变分多尺度模拟为解决该问题带来了可能性。 \n[0094] 连续介质模型本身具有无限自由度,而由此建立的数值计算模型仅具备有限自由度,即离散网格数与每个格点上定义的变量书以及计算步数之 积。因此数值计算求解的方程组并不是对物理问题的封闭描述,虽然它本身在数学上是封闭的。同时由机器字长引起的舍入误差和有限计算网格与步长造成的计算误差也会使模拟结果偏离实际状态,特别是在计算规模较大、时间较长时。但是如果它相应的物理模型真实地反映了现实过程,在相同的初始条件下,它应该在较短时间内能提供现实过程的粗化和近似描述。而同时,如果我们能找到现实过程演化的稳定性条件,就可以把它作为这个物理上不封闭的数值计算模型的变分约束条件,并从机理上限制和抑制数值误差,使之更接近现实过程。现举两例说明: [0095] a)任何孤立系统的熵始终是增加的,如果对这类系统的模拟出现了系统的熵减少的结果,可利用这个原理按一定规则修正模拟结果,使系统的熵至少不出现减少,以获得合理的近似解。 \n[0096] b)如图4所示,线性非平衡过程在一定条件下满足熵产生最小的稳定性条件,如果从初始状态(45)开始数值计算模型能给出足够接近真实解(46)的近似解(47),我们就可以在该近似解周围较小范围内生成多个测试解(48),然后计算其熵产率,其最小者可认为是更好的近似解(49)。 \n[0097] 在上述过程中,对原近似解的求解可在大量较低层计算单元上快速并行计算,而对稳定性条件的指标(如熵值和熵产生量)及修正量的计算因为涉及全局的归约和交换,需要在较高层计算单元的协同下进行。 \n[0098] 二)硬件设计实例 \n[0099] 如权利要求9所述的变分多尺度模拟计算硬件系统可以从元器件组,芯片、板卡、服务器或工作站结点等不同硬件层次上实现。其总体结构如图5所示,其中下层计算单元(25)、上层计算单元(26)是相对于两层结构而言,而一般意义上可以允许多层计算单元。\n但总体上较高层的计算单元较为复杂,侧重处理“决策与组织”类型的任务,如极值与变分约束的计算与反馈;中间层的计算单元相对简单,侧重“实施与协调”类型的任务,主要计算复杂粒子间作用长程作用计算;较低层的计算单元主要任务是“执行”上层单元分配的简单计算任务,如简单粒子间的作用。下面介绍 从结点层次实现的一套具体方案,并介绍其中各部分的一些变通或替代技术。此方案基本可以通过现有计算机器件和部件的装配集成实现,其它硬件层次上实施的具体方案也由类似之处,但需要更多专门的工程设计。 [0100] 1)计算结点 \n[0101] 计算结点是该系统的主体和主要功能载体,是本发明中计算单元的具体实现形式。在结点的层次上,可以采用商用的个人计算机、工作站和服务器(包括机架式、刀片式等),这些结点一般能配置1,2或4颗x86体系结构的中央处理器(CPU),作为本发明中结点的通用处理器;同时,这些结点一般具有多条符合外设总线互联标准(Peripheral ComponentInterconnection)的扩展插槽,一般有5~7条,并能满足多种标准的版本,如PCI,PCI-X,PCI-E等。在这些扩展槽上可插接网卡和计算加速卡等,分别提供本发明方案中的通信连接所要求的网络接口卡和专用处理器。 \n[0102] 目前市场上已出现了多款安装了通用计算图形处理器(GPGPU)的计算加速卡,同时许多带图形处理器(GPU)的显卡实际上也能作为计算加速卡使用。这些产品主要包括: [0103] Nvidia公司: \n[0104] 授权生产的多种GeForce显卡: \n[0105] 如GeForce8800GTX、9800GX2和GTX280等; \n[0106] Quadra专业显卡,如FX5600等; \n[0107] 专业计算加速卡,如Telsa C870和C1060; \n[0108] 独立的计算加速单元,如Telsa S870和S1070,S1075。 \n[0109] ATI公司(已被AMD公司收购): \n[0110] Radeon HD3870,HD4870,HD4870X2等显卡; \n[0111] FireStream9250等专业计算加速卡。 \n[0112] Intel公司:正在研发的类x86多核计算架构Larrabee。 \n[0113] 另外IBM公司还开发了Cell Broadband Engine系列刀片式服务器QS20,QS21,QS22等,其中结合了通用和专用处理器。 \n[0114] 针对这些计算硬件,各公司还开发了相应的编程环境与工具,如 Nvidia公司的CUDA(Compute Unified Device Architecture),AMD/ATI 的 CAL(Compute Abstraction Layer),IBM的Cell BE SDK和Intel的Ct等;以及第三方软件Brook等。它们能与通用处理器常用的C和C++的语言编译和开发环境,以及MPI(Message Passing Interface)和OpenMP等并行计算标准耦合使用。 \n[0115] 如果直接在结点的扩展槽上插接计算加速卡或显卡,可选用Nvidia公司的GTX280,它有240个流处理器,工作频率1.35GHz,峰值速度0.933Tflops(单精度),显存\n1GB;或C1060,它也拥有240个流处理器,工作频率1.5GHz,峰值速度1.08Tflops(单精度),显存4GB。也可选用AMD/ATI公司推出的专业计算加速卡Firestream9250,它有800个流处理器,但其显存容量较小,只有1G;或一般显卡HD4870,或HD4870x2,它们分别有800和1600个流处理器,工作频率750MHz,显存1GB,峰值速度分别达到1.2和2.4Tflops(单精度),或0.24和0.48Tflops(双精度)。 \n[0116] 根据计算需求和主板上扩展槽的配置,一般可插接2~4块上述计算加速卡或显卡,其中多数产品要求最好插接在PCI-Ex16Gen2插槽上。由于目前多数产品还要求最好每个CPU核(线程)控制一个GPU。结点可配置一到四颗四核CPU,如Intel采用45nm技术制造的最新一代4核处理器Harpertown,主频已达3.0G以上。这样在CPU与GPU进行数据交换和监控的同时,还有充足的资源与其它结点交换数据并承担部分上层计算任务。结点应配置较大的内存,故需配置约8条DIMM槽,以容纳最多64GB带ECC校验的DDR内存。这样显存与主存间可经过多次读写后再要求结点间的数据交换,实现较好的速度匹配,隐藏通信时间。硬盘可根据不同计算要求配置2~4块容量100GB以上的SAS或SATA硬盘并做RAID1。同时配置板载双口千兆网卡和PCI-Ex8槽位上的InfiniBand或千兆以太网接口卡,及显示、键盘、鼠标接口。由于计算加速卡和显卡的体积和功率限制,上述结点一般需设计成3~4U高度的工业标准机架式服务器,在宽度和深度上有减小余地。图?为此类计算结点的示意图。 \n[0117] 如果要进一步提高安装密度、改善电磁屏蔽和散热性能,可以采用具 有独立机箱、供电和散热装置,内置多块计算加速卡的独立计算加速单元,由一个或多个计算加速单元与一台宿主机组成一个计算结点。其中Nvidia公司最新推出的Tesla S1070计算加速单元内含四块专业计算加速卡,每卡含一个GT200系列GPU。该GPU采用65nm集成电路制造技术,拥有512bit的显存位宽和142GB/s的显存带宽,线程处理器达240个,时钟频率可达1.5GHz,峰值速度超过1Tflops,显存容量高达4GB。因此,整个计算加速单元在标准机柜1U的高度内可提供超过4Tflops的单精度计算能力和16GB GDDR3显存,而整机的典型功耗仅约700瓦。如图6所示,一个计算加速单元(60)四块专业计算卡(61)通过PCIeX16插槽(62)分两组与两个交换子卡(63)连接,这两个子卡分别与宿主机的一个PCIeX16Gen2的插槽上的接口卡(64)相连。由于Nvidia的专利设计,子卡的交换过程对传输性能基本没有影响。相应的宿主机(65)可采用定制的机架式工业标准服务器,除了扩展槽上不是直接插接计算加速卡或显卡,而是插接体积较小的交换子卡外,配置可与上述结点基本相同,但体积可大大缩小,一般设计高度可为1U。 \n[0118] 根据结点在本发明提出的并行计算系统中的位置不同,它可采用上面介绍的各种可能性中的不同配置。如作为较高层计算单元时,可配置较强的通用计算能力,如可配置四颗高主频的四核CPU,和较大的内存,如16GB以上,及较大的硬盘,如500GB以上,同时可不选配GPU等加速部件。而作为较低层的计算单元时,可配置较低的通用计算能力,如单颗四核的低主频CPU,4GB左右的内存,以及50GB左右的硬盘,但可选配较强大的加速部件,如4颗以至8颗以上的GPU。这种差异的具体确定需要根据当时的市场和具体的应用情况灵活调整,但其基本原则是由本发明的提供的系统总体结构确定的。 \n[0119] 上面的各方案都是基于市场现有计算加速卡和显卡。但本发明的技术方案也覆盖了采用专门的主板设计,将GPU和CPU更紧密地结合在同一主板内以至同一芯片内的方案。\n或者说,结点的可行设计包含了单指令多数据与多指令多数据处理的各种耦合方式。\n[0120] 2)输入输出兼前后处理结点 \n[0121] 为了形成完整的计算机系统,还需要配置高性能的数据输入输出结点或结点组,并且需要对数据进行前后处理的能力,为此,设置输入输出兼前后处理结点。它们一方面通过树形网与计算结点互连,同时通过存储域网与存储单元互连。为满足后处理需求,如图7所示,每个结点(71)可采用三块Nvidia授权OEM的显卡GeForce GTX280(72),它可直接插接在PCI-Ex16的扩展槽上,占用两个全高全长的槽位。该显卡同样采用GT200GPU,工作频率为1.33GHz,相应的峰值速度为933Gflops,显存容量1GB,峰值功率160W。其优势在于它除了能进行浮点运算还具备正常的文本和图形显示驱动功能。每个结点拟采用4U高度的定制机架式服务器。利用4U结点配置可以比较全面的优势,此类结点将可支持PCI-E和Infiniband等高速接口,结点将配置大容量内存和硬盘并外插存储适配卡(73),以实现与存储盘阵(74)连接。同时可为每块GTX280显卡配置两台大屏幕显示器(75)(30英寸,\n2560x1600分辨率液晶显示屏),由此构建的用户终端单台即可组成超过24兆像素的显示阵列,而通过4到6个用户终端的并行处理,可建立1亿像素以上的动态显示能力,满足高分辨率海量数据处理的需求。这些结点的总体结构如图?所示。 \n[0122] 3)通信网络设计 \n[0123] 网络是粒子模拟计算集群中各个结点相互连接和协同工作的基础。目前进入TOP500的集群系统中高速网主要采用千兆以太网、10G Ethernet、Quadrics、Myrinet、Infiniband、PathScale的Infinipath、IBM的SP网络、Dolphin SCI、SGI的Numa-Link、Gray的RapidArray等。其中在Linux集群中广泛使用的高速通信网络有千兆以太网、Myrinet、Infini-band等三种,这三种网络一般均使用交换机连接各结点。 [0124] 千兆以太网是现在应用最广泛的网络,可用于Linux集群管理,也可 用于Linux集群结点间数据交换和通信。虽然其网络带宽和延迟等性能不如Myrinet、Infiniband,但它容易搭建,可以较低的成本满足大部分应用需求,在目前进入Top500的高性能计算系统中仍占据一半以上的份额。 \n[0125] Myrinet网络的设计目标是要在局域网环境中获得系统域网络的性能。因此,它采用了MPP系统中数据包通信和交换技术,在设计时充分考虑了并行系统内部互连网络传输距离近、出错率低的应用环境,使用简化的链路控制协议实现数据传送,减小了数据传输时的协议开销;采用无阻塞的Clos网络拓扑结构,减少了数据包在网络中的冲突;网络适配器处理机对网络的自动映像和路由选择功能,可以提高网络的可靠性。 [0126] InfiniBand是一种交换结构I/O技术,其设计思路是通过一套中心机构(中心InfiniBand交换机)在远程存贮器、网络以及服务器等设备之间建立一个单一的连接链路,并由中心InfiniBand交换机来指挥流量,它的结构设计得非常紧密,大大提高了系统的性能、可靠性和有效性,能缓解各硬件设备之间的数据流量拥塞。 \n[0127] 在中国专利申请200710099551.8和200810057259.4中,对所提出的多层直连网络结构建议通过千兆以太网卡的mesh或cubic连接(在每台计算机上安装4/6个千兆以太网端口。邻近结点的千兆以太网端口间不通过交换机直接连接)实施。这主要是考虑到,离散模拟中,传递的消息往往包含数百个粒子的参数,单次传递数据量较大,网络延迟对计算影响不大,相对来说网络带宽更为重要。而在大规模离散模拟并行中采用的空间区域划分和Shift通信模式(仅邻近结点有数据交换、只需极少量全局通信)是主流模式。此时采用该直连模式虽然需要结点的物理拓扑与进程拓扑的良好对应,结点的任务划分不太灵活,但通信模拟简单、通信负载易于平衡,可无限扩展,总的通信开销反而较低,特别是对整个系统同时求解单一模拟问题的大规模计算而言能获得最佳的性能价格比。 [0128] 但是对于更大规模的系统建造,如果对系统的可靠性、容错能力和效率有更高的要求,基于Myrinet或InfiniBand建立更高性能的可扩展近程连接和多尺度树形网路也是可行的方案。为此可采用两类方案来实现本发 明根据权利要求2所述的并行计算系统中计算结点间的连接,当然这两类方法依然可以用以太网实现: \n[0129] a)如图8所示,某一层计算单元阵列中一个区域的多个计算单元(30)与一套交换机构(81)相连,而对应该计算单元阵列各区域的交换机构也相应地组成阵列(但交换机构数量比计算单元数量少得多),相邻的交换机构间通过一个或多个端口(82)互联,从而形成交换机构阵列上的mesh或cubic网络。由于交换机构阵列是可扩展的,所以它所连接的计算单元阵列也是可扩展的,并且任何在该计算单元阵列中相邻的计算单元通过最多两套交换机构能够进行通信。 \n[0130] b)如图9所示,某一层计算单元阵列中一个区域(91)的多个计算单元与一套交换机构(92)相连,而与之部分重叠的另一个区域(93)中的多个计算单元又与另一套交换机构(94)相连,这样可以使计算单元阵列中任何一对相邻的计算单元总有一套共同直接连接的交换机构,从而通过最多一套交换机构实现通信。如图9a所示,一种对二维或三维的正交计算单元阵列的可行布置是,划分计算单元阵列的一组矩形或长方体区域(如91及其同类区域)也组成一个二维或三维阵列,每个区域对应一套交换机构(92及其同类交换机构)。同时计算单元阵列也被与上述矩形或长方体区域阵列在行、列(和层)方向分别错位半个区域的另一个矩形或长方体区域阵列(如93及其同类区域)划分,其中的每个区域中的计算单元也连接一套交换机构(94及其同类交换机构)。这样每个计算单元都连接了两套交换机构。此时对不跨越任何区域边界的一对计算单元,可同时拥有两条仅通过一套交换机构的通信连接,可同时工作也可互为备份。而且如果端口数量允许,交换机构阵列也可像前一方案(a)一样建立邻近连接(95),这样对任何一对邻近计算单元对存在两条最多经过两套交换机构的通信连接。这就进一步提高了通信速度和 可靠性,当然成本是增加了交换机构和网络接口卡的数量。为此,如图9b所示,当一套交换机构可连接的计算单元数量较多时,仅将处于区域边界上的计算单元连接到若干套交换机构上,从而大多数计算单元仅需一套交换机构与之连接并仅需一块网络接口卡。而如图9c所示,如果所有边界上的计算单元都连接到一套交换机构上,则能保证任何对角线上相邻的计算单元也能通过一套交换机构建立通信连接。 \n[0131] 在上述方案中,上层计算单元也连接到下层计算单元所连接的交换机构上,而同时上层计算单元也可以按上述方式连接,以此类推形成多层次结构全局网络连接,即树形网络,实现非邻近通信和指令的传播。当然,上述两个方案也可用中国专利申请\n200710099551.8所提出的多层直连网络实现,但上述方案在保留了无限的可扩展性(即随着计算单元数的增加,相邻计算单元间的通信速度不会相应增长)的同时提高了系统的可靠性和容错能力,即当一个计算单元出现故障时,连接到同一套交换机构的其它计算单元可以方便地替代它的作业任务。而通过一套交换机构的延迟对Myrinet和Infini Band来讲是可以接受的。如果采用千兆以太网,为了提高传输速率和降低延迟,可采用简化的消息传递接口,以屏蔽与直连通信无关或不必要的通信作业和服务,以最大限度地提高实际性能。如采用EMP、PM/Ethernet、M-VIA和GAMMA等轻量级协议。 \n[0132] 除了通信量较大的数据网络,为了提高系统效率、稳定性和易用性,最好有独立的管理网用于连接所有的计算单元、输入输出及前后处理单元、管理和登录单元。由于传输量相对较小、并且主要在特定时段进行,但涉及比较复杂的通信模式,故仍可采用普通的千兆以太网技术。该网络可配置多套交换机构,交换机构间实现多端口高速互联。 [0133] 上述系统的其它设计,如管理、监控系统等基本在已有技术上建立,不再赘述。值得指出的是,尽管目前提出的硬件组织方式更系统、完整,但中国发明专利申请\n200510064799.1,200710099551.8和200810057259.4中提出的局部共享内存和多层直连等技术也可在不同层次上建立相应的 计算系统并可运行本发明提出的算法。对此,为了更高的效率和可靠性,还可进行很多后续开发工作,比如将InfiniBand用于与结点间的直连以代替现有技术能实现的千兆以太网,或在中国发明专利申请200510064799.1和\n200710099551.8的树型网络设计中引入同层交换机间的互联,从而耦合使用本发明与这两个发明,实现更灵活、可靠的网络连接。 \n[0134] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述只是对本发明的权利要求的若干典型实现方式的说明,并不用于限制本发明。本领域的技术人员凡在本发明的精神和原则之内提出的不同的其它实现方式,如采用不同的通信软硬件和不同的结点配置等,以及所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2012-07-04
- 2010-09-01
实质审查的生效
IPC(主分类): G06F 17/50
专利申请号: 200810224328.6
申请日: 2008.10.17
- 2010-06-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-04-09
|
2007-10-31
| | |
2
| |
2006-10-25
|
2005-04-22
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |