CN100568183C - 优化大规模并行超级计算机上的应用布局的方法和装置 - Google Patents

优化大规模并行超级计算机上的应用布局的方法和装置 Download PDF

Info

Publication number
CN100568183C
CN100568183C CNB2005800347177A CN200580034717A CN100568183C CN 100568183 C CN100568183 C CN 100568183C CN B2005800347177 A CNB2005800347177 A CN B2005800347177A CN 200580034717 A CN200580034717 A CN 200580034717A CN 100568183 C CN100568183 C CN 100568183C
Authority
CN
China
Prior art keywords
software
node
communication
computed
software application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005800347177A
Other languages
English (en)
Other versions
CN101048736A (zh
Inventor
吉安·V.·巴诺特
艾伦·加拉
菲利普·黑德尔博格
埃奥恩·M.·劳利斯
詹姆士·C.·塞克斯顿
罗伯特·E.·沃克阿普
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101048736A publication Critical patent/CN101048736A/zh
Application granted granted Critical
Publication of CN100568183C publication Critical patent/CN100568183C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明描述了用于在大规模并行超级计算机上对问题布局优化的通用计算机实现的方法和装置。该方法将阵列形式的任意问题通信矩阵作为输入,项C(i,j)表示从域i到域j的数据通信量。针对给定C(i,j),首先实施启发映射,其顺序地尝试将域及其通信邻居映射到相同超级计算机节点或在超级计算机环面上的邻居节点,同时保持映射到超级计算机节点的域的数量(尽可能)恒定。其次,通过使用具有自由能(成本函数)F=∑i,jC(i,j)H(i,j)的Monte Carlo模拟,由最初映射生成映射的Markov链,其中,H(i,j)为在域i与域j之间超级计算机环面上的最小跳跃数。在测试中发现,该方法生成良好的映射,并能够作为针对并行代码的通用布局优化工具。此时,用于测试该方法而实现的串行代码是非优化的,从而,发现最优映射的计算时间可在典型PC机上花费数小时。针对产品实现方式,用于本发明算法的良好并行代码其本身需要在超级计算机上实现。

Description

优化大规模并行超级计算机上的应用布局的方法和装置
技术领域
本发明通常涉及超级计算机系统和体系结构的领域,更具体而言,涉及对任意并行应用进行优化映射,以使得在超级计算机系统上的执行时间最少。
背景技术
大规模并行计算结构(也称为“超大规模计算机”或“超级计算机”)将数量众多的计算机节点互连。互连拓扑通常采用规则结构形式,例如,有时具有周期边界条件的树或网格。用于最大成本/效率超大规模计算机的传统方案是使用以单处理器或对称多处理器(SMP)结构配置的标准处理器(节点),其中互连网络支持消息传递通信。如今,这些超级计算机器展现出达到万亿运算每秒的量级的计算性能。超级计算机的一个示例为Armonk New York的国际商用机器公司发布的Blue Gene/L超级计算机(BG/L)。从位于在线URL(http://sc2002.org/paperpdfs/pap.pap207.pdf)处、G.Bhanot,D.Chen,A.Gara和P.Vranas在Nucl.Phys.B(Proc.Suppl.)119(2003)114发表的标题为“The Blue Gene/LSupercomputer”的文章中可获得关于BG/L体系结构的一般信息,其全部内容在此引作参考。BG/L是具有两个数据通信网络的大规模并行计算机:具有3-D环面(3-D torus)拓扑的最近相邻网络,和全局树。在一般应用中,环面为主要通信网络,用于点对点以及全局或集群(collective)通信。该树通常用于集群通信。
在BG/L上的计算机节点在逻辑上被排列成3-D点阵(lattice),环面通信网络仅在该点阵中最接近的邻居之间提供物理链路。因此,必须将节点之间的所有通信进行路由,以便使用可用物理连接,并且根据所涉及节点之间的距离以及其他影响因素,例如缓冲器的可用性、通过网络的可用路径的数量、网络争用等,节点之间的通信成本会有所变化。而主要问题在于,将任意并行应用进行最优映射,以便使总执行时间最少,其中,总执行时间是通信时间和计算时间的函数。
如果要高效利用并行计算机,那么对并行处理计算机的处理器分配任务以实现最优负载均衡以及使处理器间通信成本最小的问题是重要的。近年来,已有许多组织对此进行了研究。然而,与通信成本相反地,重点相对着重于计算均衡,并且对处理器数量和处理器间网络体系结构做出不同假设,这些导致出现许多不同的问题解决方案。
对于少数处理器的情形,可成功应用许多种技术。例如,开发出在简单启发之后进行迭代改进处理的技术,以优化在具有多至64个处理器的处理器网络上的任务布局,参见Vibha A.Dixit-Radiya和Dhabaleswar K.Panda于Symposium on Parallel and DistributedProcessing(SPDP‘93),pp.674-681发表的“Task Assignment onDistributed-Memory Systems with Adaptive Wormhole Routing”,其全部内容在此引作参考。该工作是不寻常的,这是由于,它包括在布局期间的链路争用以及总通信量。A.Billionnet,M.C.Costa和A.Sutter于J.ACM,Vol.39,No.3,1992,pp502-518发表的“Anefficient algorithm for a task allocation problem”中,提出了对于少数量的异构处理器效果较佳的更复杂算法。然而,假设通信成本与通信端点无关,从而,虽然对于由交换网络链接的处理器来讲有用,然而对于使用更复杂网络拓扑的并行计算机来说则不太适用。
在负载均衡问题中,以及在对任务进行集群化时,已使用了图划分技术以便对分层网络中的局部性进行优化(例如,由交换网络链接的SMP节点的集群,如Jesper Larsson 
Figure C20058003471700081
于Proceedings ofthe 2002ACM/IEEE conference on Supercomputing,2002年,pp.1-14中发表的“Implementing the MPI Process Topology Mechanism”中所述)。此外,图划分还被用于八个节点超立方体上的任务集群化和映射,参见F.Ercal,J.Ramanujam和P.Sadayappan于Journal ofParallel and Distributed Computing,Vol.10,No.1,1990年,pp35-44发表的“Task Allocation onto a hypercube by RecursiveMincut Bipartitioning”(此后记为“F.Ercal等人文献”),其全部内容在此引作参考。
模拟退火(Simulated Annealing)及其相关技术已由数个组织应用于映射问题,参见以上段落中提到的F.Ercal等人文献和TevfikBultan和Cevdet Aykanat于Journal of Parallel and DistributedComputing,Vol.16,No.4,1992年,pp 292-305中发表的“A NewMapping Heuristic Based on Mean Field Annealing”(此后记为“Tevfik Bultan等人文献”,在此将其全部内容引作参考)。模拟退火对于创建良好的映射有用,但其计算成本昂贵。平均场退火是类似于模拟退火的算法,参看Tevfik Bultan等人文献。与模拟退火相比较,其用于解决在超立方体和网状拓扑中多至400个任务和32个处理器的问题,参看Tevfik Bultan等人文献。
其他工作将其本身局限于显示特定通信模式的问题。例如,在David Nicol于Journal of Parallel and Distributed Computing,Vol.23,No.2,1994年11月,pp 119-134的论文“RectilinearPartitioning of Irregular Data Parallel Computations”中,开发出针对直线拓扑的映射问题的算法,这里将其全部内容引作参考。在David Nicol和Weizhen Mao于Parallel Processing Letters,Vol.6,No.6,1996年6月,pp 389-399发表的“On Bottleneck Partitioningof k-ary n-cubes”中,针对k元n立方体的工作和通信模式的问题,对上述算法进行了扩展,这里将其全部内容引作参考。
尽管上述解决方案是有用的,但这些方案都不涉及N个任务到N个处理器的映射的优化,该问题是比将M>>N个任务映射到N个处理器的情形限制性更强的问题。因此,对于任意并行应用,需要对N个任务到N个处理器的映射进行优化,以便使得在超级计算机系统上的执行时间最少。
此外,诸如BG/L之类的计算机系统比先前研究的目标体系结构大得多;调整到数千个节点的映射是必要的。BG/L的3-D环面增加了映射问题的复杂性。因此,需要针对任意并行应用在诸如BG/L之类的超级计算机以及使用3-D环面互连的超级计算机上进行优化映射,以便使超级计算机系统上的执行时间最少。
此外,人们更加关注于实现可使计算负载均衡以及分区间通信最少的任务分区。很少关注如何在网络(例如,环面或网状)链接的处理器上部署这些分区,其中不同处理器对之间的通信成本差别较大。这对于诸如BG/L之类的计算机非常重要,这是由于在环面中好、坏映射之间的成本差距随处理器数量的增大而增大。因此,需要找到对于任意并行应用的均衡布局,以便使超级计算机系统上的任务之间的通信时间最少。
发明内容
概括而言,本发明披露了一种计算机实现的方法、计算机可读介质和相应系统,用于实现任意并行应用到给定互连网络的最优映射,以便使在通信成本取决于任务布局的超级计算机上的总通信时间最少。
希望提供一种用于在大规模并行超级计算机上对问题布局进行优化的通用计算机实现方法和装置。该方法将阵列形式的任意问题的通信矩阵作为输入,其项C(i,j)表示从域i到域j的数据通信量。对于给定C(i,j),首先创建其顶点为各个域并且在域的通信对之间具有链路的图。链路权重为其连接的域之间的数据通信量。然后将该图划分(partition)成K片,以使连接每片的链路上的总通信尽可能得小。当前使用METIS(http://www-users.cs.unm.edu/karypis/metis/)实现该划分,不过也可使用其他技术,包括用于在图中确定团(clique)和双团(biclique)。其次,在一个分区内将域分配给BG/L节点,以使得进行通信的域被映射到同一BG/L节点(同时使映射到节点的域的数量保持一致,以便最后的映射将是计算负载均衡的)或映射到可用环面上最接近的节点。接下来,通过使用利用自由能(成本函数)F=∑i,jC(i,j)H(i,j)的MonteCarlo模拟,由最初映射生成映射的Markov链,其中,H(i,j)为估计通信路径成本/单元数据,例如,在域i与域j之间环面上的最小跳跃数。通过在BG/L节点之间对域进行调换或将域移动到未占用或部分占用的节点(同时保持计算负载均衡)并使用Metropolis算法进行测试,生成Markov链(“Markov Chain Monte Carlo in Practice”,W.R.Gilks,S.Richardson,D.J.Spiegelhalter(eds),BocaRaton,FL:Chapman and Hall(ISBN:0412055511);“Introduction tothe Monte Carlo Method”,I.Manno,Budapest,Hungary,1999(ISBN:9630576155))。在Metropolis过程中的温度(T=1/β)的值从高到低循环,通过将自由能除以理想自由能F(min)对其进行归一化,理想自由能可在假设(但通常是不可能的)的理想映射中获得,该映射中所有进行通信的域处在同一节点或接近的邻近节点上。在从高到低温度的Metropolis扫描期间,在每个温度处对系统的平均自由能进行测量,当该数值趋于稳定(近似为固定值)时,停止该过程。当出现这样的情形时,使用如上所述同样的启发方法,将新的一部分域映射到BG/L节点,温度的值再次从高到低循环。由此,一直重复到将所有域都映射到BG/L且总自由能变为近似稳定值为止。然后,将每个域的BG/L节点的位置(在环面上的坐标(x,y,z))列表写入到输出文件,并构成本发明的最优映射。对范围从1到32的K值进行了测试,其中较大K值导致更快运行时间,较小K值生成更佳映射。
尽管以上针对H(i,j)显示出成本函数的一个示例,不过重要的是要注意,本发明并不限于该示例。示例性成本函数的其他示例包括:H(i,j)=Lp=(x-hopP+y-hopP+z-hopP)1/P,其中,x-hop(y-hop,z-hop)为在x(y,z)维度上节点i与节点j之间的跳跃数。如果p=1,L1为以上所提到的跳跃数。如果p=2,L2为节点i与j之间的欧几里德距离。随着P增大,该示例性成本函数更突出最大跳跃和途径(approach)数。随着P增大,最大跳跃和途径数趋于无限。上述成本函数示例是简单直接的。重要的是要注意,在不偏离本发明的范围和精神的条件下,还可有益地使用如所示出的更复杂的成本函数。由于必要的计算开销,更复杂成本函数的使用导致折衷。例如,与针对每个链路的估计利用率的函数结合的H(i,j)=∑i,j(在i与j之间所有链路上)是更复杂的示例性成本函数,并且将需要更多计算开销。
比上述过程更快的另一可选映射方式是,仅实现启发方法,而忽略模拟退火步骤。该启发方法在多数情形中工作较好,并生成接近最优的映射。
对于两个应用(SAGE和UMT2000),对照缺省映射(秩序(rank order)),对模拟退火和启发方法映射进行测试。在表2和3中给出了测试结果。可以看出,与缺省(秩序)映射相比,使用本发明所披露的过程实现的优化映射,对于在256和2048个节点上的SAGE,使总自由能以1.5和2.5的系数减少,对于在256和1024个节点上的UMT2000,使总自由能以1.6的系数减少。
概括而言,对于连接节点的任意通信网络,该计算机实现的方法优化了并行计算机的节点上的软件应用的MPI(消息传递接口)任务的映射。该方法采用应用中每个MPI任务到该应用中每个其他MPI任务的数据通信量的列表的形式,将软件应用的通信映射作为输入。然后,它通过在数学上使合适的节点间通信成本函数最小,来计算该通信映射到目标计算机上给定节点网络的最优映射,以生成MPI任务到目标计算机的节点的映射,以使成本函数最小。映射的目标是缩减原软件应用中节点间的传送数据的总时间。
附图说明
结合随后附图,通过关于本发明的详细描述,将更清楚地理解根据本发明的各种实施例及其原理和优点,所述附图被包括在说明书中并构成说明书的一部分。在附图中,相同的附图标记表示相同或功能相似的元件。
图1是根据本发明求解示例性问题的通信矩阵C(i,j)的结构的图例;
图2的图例说明了根据本发明示例性运行模拟退火算法的归一化自由能的演变;
图3是根据本发明、运行同样算法的每个固定/3段的末端处获得的归一化自由能的值的图例;
图4,5和6表示Cubic、SAGE和UMT2000软件应用分别对8×8×8问题的通信映射,然而,重要的是要注意,这些仅仅作为可使用本发明在任意计算机网络上实现的输入映射的示意性示例;
图7的图例说明了根据本发明、通过分化征服(divide andconquer)的方法生成的典型收敛曲线;
图8是根据本发明,对于应用SAGE,对于映射的成本函数和实际运行通信时间的改善系数的图例;
图9表示将在512个计算节点的典型基本环面配置中的8个计算节点互连的三维环面几何结构的一小部分,在其上可有益地使用本发明;
图10表示根据本发明包括全局信号和外部网络连接的全局组合树网络;
图11所示表1表示出,根据本发明,对于Cubic 1和Cubic 2情形实现的优化结果;
图12所示表2表示出,根据本发明,对于UMT2000实现的优化结果;
图13所示表3表示出,根据本发明,对于SAGE实现的优化结果;以及
图14所示表4表示,根据本发明,对于使用数个优化映射的512处理器SAGE运行的通信时间结果。
具体实施方式
尽管由说明书得出用于限定本发明的新颖特征的权利要求,但应该认识到,结合附图通过后面的描述将更容易理解本发明,在附图中,相同的附图标记表示相同或相似的元件。出于说明方便考虑,将本发明的方法描述为实现在Blue Gene/L超级计算机的专用体系结构上。然而,应该注意,所述方法具有普遍性,通过合适定义成本函数,可应用于通过网络相连的计算机/通信节点的任何集合。
Blue Gene/L超级计算机的通用体系结构
Blue Gene/L超级计算机由通过三维网络连接的若干(必须是2的乘方)个节点组成。如果节点数量超过512个节点,则三维网络为环面。对于少于512的节点数,网络为网状。图9表示出将在512个计算节点的典型基本环面配置中的8个计算节点互连的三维环面几何结构的一部分10,其上可有利地使用本发明。如图9和10所示,对于环面网络,通过双向环面链路13将每个节点12与其六个邻居相连。然而,应该理解,也可考虑在不同环面配置(例如,在4或更多维的环面)中包括更多处理节点的其他体系结构,包括题名为“NovelMassively Parallel Supercomputer”的共同拥有的未决美国专利申请No.10/468,993(公开号US 2004/0103218)中所述的体系结构。
另外,环面提供使用“类路由”技术的自动多播,其中,能够将进入网络的单个数据分组存放在多个目的地。优选的是,通过采用两个动态虚拟电路加两个换码“冒泡(Bubble)”电路用于避免死锁,使得网络无死锁。在如前所述使用环面网络的同时,如此处引述题名为“Optimized Scalable Network Switch”的共同拥有的未决美国专利申请No._____中所述,使用新颖的仲裁策略在大规模可扩展系统中实现低延迟和高吞吐量。点对点的基于令牌的流量控制在从热点(hotspot)分发通信量的同时,最有效地利用网络缓冲。在环面中,通过对于报头采用单独CRC检错,以及采用用于受损网络分组自动重发的全分组CRC检错,还能够确保分组的可靠传递。
针对全局树网络,一个主要功能是支持全局广播(在树中向下)和全局简化(在树中向上)操作。为支持用于输入/输出、程序加载、系统管理、并行作业监视和调试的可编程点对点或子树消息传递,还提供了附加功能。该功能使得“服务”或输入/输出节点能够与环面相隔离,以便不与并行计算相干扰。也就是,在环面中的所有节点都可操作在全计算速率,而服务节点卸载异步的外部交互。由于执行计算的所有节点都操作在完全和一致的速率,这确保了并行计算的可伸缩性和可重复性。优选的是,全局树支持执行用于实现简化消息传送操作的那些数学功能。优选的是,全局树网络还支持多个独立虚拟信道,从而允许多个独立全局操作同时进行。设计是可进行配置的,计算节点与服务节点的比率根据并行计算的要求可灵活变化。可选的封装策略允许任何比率,包括由所有服务或输入/输出节点组成的机器,这对于极其数据密集的计算是理想的。
如参照图9所述的Blue Gene/L的三维环面网络,物理机器体系结构涉及n-维环面10,在示例性实施例中,它是在边上“包裹(wraped)”的简单三维最接近邻居互连。除例如在不同专用集成电路(ASIC)机架之间存在的飞行时间差(time-of-flight difference)外,所有邻居均等距,使得代码易于编写和优化。在示例性实施例中,节点之间的最接近邻居链路能够同时承载在每个方向有1.4Gb/s的消息带宽。每个节点支持6个独立双向最接近邻居链路,其中链路的进出节点的总带宽为1.05GB/s。
全局组合树
图10表示出第二网络,称为全局组合树网络59,根据本发明,其将树结构中的计算节点12互连,且包含有全局信号和外部网络连接。包含在树中的有相关I/O处理节点12’,它通过全局组合树与预定数量的计算节点12相连。在图5中所示的优选实施例中,一个I/O节点12’专用于为64个计算节点12提供服务和I/O操作。应该理解,I/O节点与计算机节点的该比率是可配置的,以便对超级计算机的物理封装进行优化。也就是,封装设计允许获得可选配置,使得可根据并行计算的要求使计算节点与服务节点的比率变化。在优选实施例中,封装技术支持从256∶1到8∶1的比率。可选封装策略允许任何比率,包括由所有服务或输入/输出节点组成的机器,这对于极其数据密集的计算而言是理想的。
如图10所示,100Mb/s以太网98例如通过网络交换机18,将计算节点12和相关I/O节点12’连接成大型网络。如此处所引述、题名为“Ethernet Addressing Via Physical Location for MassivelyParallel Systems”的共同拥有的未决美国专利申请No._____(YOR920020040US1(115278))更详细描述的,每个节点ASIC都具有允许主机系统50与每个节点进行通信的惟一MAC地址。与该MAC地址相关的TCP/IP地址包含有在超级计算机中节点的编码几何位置。从而,例如,能够通过其TCP/IP地址直接对来自出错节点的诊断报告跟踪到其机架的行和列,及其在超级计算机的机架内的位置。与高速网络相连,提供了能够同时将机器中所有节点的状态冻结的能力。由于超级计算机的一个实施例包括81,920个计算节点加1,280个输入/输出节点,这提供了没有前例的诊断、调试和检查级别。
当作为I/O节点12’时,ASIC 20包含有千兆位以太网99等接口,诸如Infiniband,其可用于访问作为节点的本地盘的大型RAID盘系统55。该RAID系统55是冗余备份的,并通过千兆位以太网99或Infiniband的1024个信道经由交换机(未示出)与系统相连。此外,交换机还与主机相接口,允许主机通过简单以太网I/P事务访问系统节点或RAID盘系统。在机器内部,作为具有附加外部存储器的专用I/O处理器终结千兆位以太网/Infiniband连接。任何I/O节点都能够以满千兆位速度对RAID盘进行读取或写入。在所述示例性实施例中,将系统的64k个节点配置成对盘或主机具有超过每秒1万亿位的峰值总I/O带宽。
优选的是,该类似二进制树的组合树59可扩展在全部超级计算机上,允许从任何节点12向所有其他节点(广播),或向节点12的子集低时延地发送数据。应该理解,该树可具有多于3个的端口(3个端口表示二进制树(2入,1出))。正如同在环面中那样,更高程度的树,即,4-,5-或6-D,允许以更多芯片到芯片连接和更高布线成本为代价获得更短和更低时延的路径。更低维度获得更长时延和更少芯片到芯片通信。消息传递在全局组合树59上得以支持,并由每个ASIC内的任何处理器进行控制,从而允许进行类似全部对全部通信的密集操作,而与计算节点无关。该树的每个分支在发送和接收方向都具有1.4GB/s或每处理器周期2字节的优选目标带宽。
嵌入树59中的硬件功能为整数加法、减法、最大值、最小值,位与、位或、位异或和广播。这些功能以尽可能最低时延的方式实现。例如,加法功能导致在全局网络上首先发送字的最低字节。立即将该低字节与来自其他源的其他字节相加(在硬件中实现),并使结果移出到树的下一级。以此方式,在将高字节移出前,64位的字已提升经过树的若干层。这导致在整个机器上可能有极低时延加法。这种低时延加法对于需要全局内积的迭代稀疏线性方程求解技术而言是关键的。
可利用同样的树进行数据的全局广播,而非将其在环中各处输送(ship)。从软件的观点来看,这对于一到全部的通信,这是对最接近邻居3D链路网络的极大改进。当存在需要与3D链路网络上的通信同时进行的一对全部传输时,广播功能也极为有用。还可以在3D链路网络上处理广播。
最后,通过两次利用二进制树,可以在数微秒内执行在整个机器上的全局浮点求和。第一次获得所有指数的最大值,第二次在全局操作中将全部移位整数相加。在此处引作参考的题为“ArithmeticFunctions in Torus and Tree Networks”的共同拥有的未决美国专利申请No.____(YOR920020031US1,YOR920020032US1(15258))中可以找到有关在环面上实现算术功能的更多细节。在此处引作参考的共同拥有的题为“A Global Tree Network for Computing Structures”的未决美国专利申请No._______(YOR8-2001-1005,YOR920020028US1(15271))中可找到关于全局组合树网络的更多细节,特别是关于支持可编程点对点或子树消息传送、用于输入/输出、程序载入、系统管理、并行作业监视和调试的功能的更多细节。
超级计算机的示例性硬件实施例
超级计算机节点通常具有512MB的存储器和两个CPU,每个CPU具有2.8Gflops的峰值性能。从而,根据这两个CPU是都用于计算,还是一个CPU用于计算而另一CPU用于通信,节点的峰值性能为5.6或2.8Gflops。每个计算节点内建立有六个环面链路,分别与其在+x,-x,+y,-y,+z,-z方向的六个最接近邻居相连,从而在最接近邻居之间具有一个跳跃。环面上的链路具有1.4Gb/s的峰值带宽。每个节点可以沿每个方向以1.4Gb/s的速率与其邻居进行通信。
在本发明一个实施例中,应用由若干个域组成。在从其他域访问信息之前,域先进行计算,此后还有更多的计算,等等。域之间交换的数据量定义了通信量。在本实施例中,将一个或多个域映射到单个超级计算机节点。本发明提供域到超级计算机节点的最佳映射,以使通信时间最短。注意,“域”的定义取决于如何收集通信数据。在本发明所使用的示例中,通过在超级计算机上运行基于MPI的应用代码而获得数据,从而域为MPI任务。不过,域也可能仅为单个变量或变量集。如果该代码用于动态负载均衡,则还可以在运行时刻收集数据。在此情形中,域可以为进程或系统线程。
在本发明的一个实施例中,假设在各处理器上计算时间是一致的,并且我们的成本函数仅需要使通信时间最小。在处于本发明的真实范围和精神之内的另一实施例中,重要的是要注意,计算时间可因处理器而有所变化。注意,在应用执行过程中可从运行时刻系统(RTS)获得本发明输入所需的信息,或者可以根据先前测试运行来提供该信息。
映射概述
假设问题是将D个域映射到具有L×M×N个节点的超级计算机。令C(i,j)为从域i传送到域j的数据量,令H(i,j)为在域i与域j之间的通信单位数据成本。C(i,j)由下层应用来确定,并且在优化过程中保持不变和恒定。另一方面,H(i,j)直接取决于在优化时任何给定步骤处域到节点的具体映射,并且根据链路利用情况而经常发生改变。为了简化,在本实施例中,假设H(i,j)仅取决于域i和j被映射到的节点之间的距离,与实际要传输的数据量无关。
在超级计算机上,将节点排列成三维点阵,并且通过环面互连仅与其六个最接近邻居相连。用其在点阵内的(整数)迪卡尔坐标(x,y,z)标记点阵中的每个节点。在该互连点阵上,对于H(i,j)的最简单选择是将其设置为等于连接节点i与节点j的环面上最短路径中的跳跃数。
利用这种定义,由下式给出本发明中进行最小化的成本函数:
F = Σ i , j C ( i , j ) H ( i , j ) - - - ( 1 )
下面,在本发明中采用模拟退火的术语以及将自由能记为F。
对于数值处理而言,将自由能归一化从而将其限制在固定范围是有帮助的。在3-D超级计算机环面中,每个节点具有6个最接近邻居(距离为1个跳跃),18个次最接近邻居(距离为2个跳跃),等等。自由能F是项
Figure C20058003471700192
在所有域i上的和。如果按照C(i,j)值降低的顺序首先将域j“分配(deal out)”到与域i相同的节点,接着到i的最接近邻居,然后到i的次最接近邻居等,则获得这些单独的项的每个的最小可获得值。然后,由在各域上这些单独域最小值的每个的和,得出总自由能的最小可获得值。该最小自由能由Fmin来表示。在大多数情形(特别是对于非平凡模式)中,不可能达到该最小值。然而,这对于归一化是非常有用的概念,并作为理想“理论”下限。
本发明中的通用优化方法为模拟退火(SA),如在“SimulatedAnnealing:Theory and Applications (Mathematics and ItsApplications,37”,RJ.M.Van Laarhoven,E.H.L Aarts,P.J.M.VanLaarhoven,D Reidel Pub Co,1987年9月(ISBN:9027725136)中所述。SA为迭代方法,其反复尝试通过进行随机变化来改善给定配置。为给进程提供种子(seed),必须建立最初配置。在一个实施例中,采用以下方法作为良好的启动配置,并且应该理解,可以采用多种其他合适的方法用于启动配置。
定义函数c(i)如下:
c ( i ) = Σ j C ( i , j ) - - - ( 2 )
c(i)表示域i传送的总数据。通过简单重排序,将域如所标记的进行排列,使得c(1)≥c(2)≥c(3)。超级计算机的处理器由其迪卡尔坐标(x,y,z)确定。令p=D/(L M N)为映射到每个超级计算机节点的域的平均数量。令n(x,y,z)为映射到节点(x,y,z)的域的数量。为了实现计算负载均衡,在该实施例中,将n限制到接近p。最紧约束需要:
Int(p)≤n(x,y,z)≤Int(p+1)            (4)
其中,Int(p)表示p的整数部分。
通过以下算法定义最初启发映射:
1.将域i=1映射到任意位置(x,y,z)。
2.当满足公式4的约束条件的同时,将域i=1与之通信的所有域映射到位置(x,y,z),或映射到其在超级计算机环面上的相邻位置。
3.接下来,将域i=2(如果还未进行映射的话)映射到任意位置(x,y,z),且当满足公式4的约束条件的同时,将其与之通信的域映射到同一节点,或映射到环面上的相邻节点。
4.对于i=3,4,...,D,重复该最后步骤。
从该启发映射开始,执行模拟退火,以找出自由能F的最小值。为此,定义映射的Markov链(“MarkovChains”,PierreBremaud,Springer Verlag,1999(ISBN:0387985093),这里将该文献全部内容引作参考){Mi,i=0,1,2,...,n},其中,M0为启发映射,通过以下的算法,由Mi-1得出Mi(称为Metropolis算法,如在以下文献所述:“Markov Chain Monte Carlo in Practice”,W.R.Gilks,S.Richardson,D.J.Spiegelhalter(eds),Boca RatonFL:Chapman and Hall,1996(ISBN:0412055511);“Introductionto the Monte Carlo Method”,I.Manno,Budapest,Hungary,1999(ISBN:9630576155),这些文献全部内容被引作参考):
1.引入新参数β,其作为温度的倒数(β=1/T),最初将β设置成较小的值。
2.通过在环面上随机选出的位置之间调换两个域,或者通过将域从环面上某一随机位置移动到另一位置,由Mi-1生成候选新映射MN i,其中假设这不违反公式4。
3.接受MN i,即,设置Mi=MN i,如果R<exp[-β{F(MN i)-F(Mi- 1)}/Fmin]的话,其中,R为均匀分布在(0,1)中的随机数。
4.使用同一β值继续生成新候选映射,直至自由能减至稳定平衡。
5.下面,在步骤中,增大β,继续Markov链处理,直至对于每个新β都达到新自由能平衡。
该过程被称为模拟退火,这是由于它类似冶炼中的退火过程,在冶炼中,首先将金属加热,之后慢慢冷却以去除杂质。此外要注意,用于自由能的归一化因式分解成公式5。该归一化有助于进行计算。
使用本发明进行映射的应用示例
作为测试这些方法的简单示例,考虑在规则3-D环面上具有83个域的问题,其中,每个域向其六个最接近邻居传递固定量的数据。在该示例中,将该问题映射到83超级计算机环面上。通过明显的最优映射,该问题较小且简单。然而,它足够复杂和大,从而能够成为本发明所述方法的有益测试。
图1是针对根据本发明求解的示例性问题的通信矩阵C(i,j)的结构的图例。水平轴指定发送方ID,i。垂直轴指定接收方ID,j。将在该矩阵中的非零项显示为交叉号。本方法中的主要可调节参数为所使用的β的值,以及针对任何给定β值而执行的迭代的数量。
为使方法获得成功,重要的是要确保移动的接受率不过低。低接受率表示映射示从一个步骤到下一个步骤发生改变。接受率的合理范围为10%-50%。从公式5可知,接受率受随机数小于归一化自由能(F/Fmin)乘以β的变化的指数的条件控制。通过构造,F/Fmin>1,但对于好的映射,期望F/Fmin在值上接近1。从而,β的典型值处在范围1≤β<10。对于这样的范围,指数的变元(argument)通常小于O(10),针对Metropolis步骤能够获得合理的接受率。
为确定针对给定β值执行的迭代数,随着退火的进行对自由能函数的行为进行监视足以实现此目的。一般而言,其随时间迅速下降,之后达到稳定。稳定表示对于给定β值的平衡的开始,一旦对给定β已经明显达到了稳定,通常要切换到新的β。
图2的图例针对根据本发明的模拟退火算法的示例性运行说明了归一化自由能的演变。归一化自由能作为迭代函数。在该图上的垂直分割线定义增加β时所在的点。在每个固定β段内,自由能最初下降,然后达到稳定。当在段之间由左移向右时,β增大,并且自由能平衡或稳定值减小。在模拟的早期,收敛较慢,并且稳定实际不明显。对于所示的最后β改变,收敛则非常快。这种类型的收敛分布在退火中非常普遍。图3表示根据本发明、在同样运行的每个固定β段的末端处获得的归一化自由能值的图例。根据β的函数达到自由能的收敛稳定值。对于该问题,当β增大超过一定值时,自由能收敛到理想最小值1。最终布局是对于3-D最接近邻居问题而言域到BG/L环面的最佳映射。在这两幅图中,可以看出,归一化自由能的值稳定下降,最终达到理想值1。对于此最后实现的配置而言,域到节点的映射的检查表明其对应于这样的理想情形,即,按照仅需最接近邻居通信的方式将域映射到环面。
对本发明改进的实施例
前面所述标题为“使用本发明进行映射的应用示例”的部分表明,至少在简单情形中,模拟退火能够用于发现问题域到超级计算机节点的良好映射。然而,在先前所述部分中描述的简单实现方式并不能足够好地调整以用在全规模的超级计算机系统中,这样的系统可包含多至65336个计算节点。对于简单实现方式,在O(103)个处理器上布局优化需要的计算时间已达到数小时之久,并且对于全超级计算机将起到抑制作用。
然而,退火方法非常健壮,并容许几乎无限的变化。在该实施例中,描述已通过本发明而得以有益实施的分化征服方法,其允许快速地生成略微次优映射。该方法可用来生成非常好的映射。在本发明示例中,最后映射非常近似于通过全模拟退火求出的最优映射,且远远优于缺省MPI秩序映射。
对于许多并行应用,通信矩阵C(i,j)是稀疏的。在大多数情形中,问题域与邻近域进行通信,而不经常或很少与远距离域进行通信。这意味着,可以一次一个域地构造问题域到节点的映射。该方法的优点是显而易见的。对于n节点系统,为获得最优布局必须搜索的可能映射为O(n!)。显然,对尺寸n/k的k个映射进行优化比尺寸n的一个映射更高效。当然,一般而言,将由分化征服方法产生的自由能最小量不会最优,这是由于进行优化的搜索空间是经过截取的。
通过本发明而得以有益应用的分化征服方法按如下方式进行。首先,构造图C(V,E),其中每个顶点v∈V表示问题域。
如果C(i,j)>0,则将两个顶点i,j通过边eij∈E相连接。对每个边分配权重C(i,j)。G的子图S(VS,ES)由V的子集Vs和E的子集Es组成,其中, ∀ e ij ∈ E S , i,j∈VS
下面,将通信图G划分成子图,以便使子图之间通信最少。为进行该划分,所示得益于本发明的一个封装为称为METIS的公共域封装(参见在线URL http://www-users.cs.umn.edu/karypis/metis/,这里将该文献全部内容引作参考)。METIS为图划分的标准工具。它试图生成使得分区的边割集(edge cut)最小的均衡分区。边割集是链接属于不同分区的顶点的所有边的权重的和。该划分方案允许识别出彼此最大独立并且能够以最小干扰被独立分配给计算节点的各组问题域。
如果获得METIS划分,接下来映射任务顺序进行,以使用以上题名为“映射概述”部分中定义的启发方法,将一个子图一次映射到一个节点集,然后,使用SA逐个优化子图映射。在任何给定步骤处,退火仅应用于进行映射的子图。将先前已经映射的那些子图保持不变。随机选择要映射到计算节点的第一子图。之后,选择要进行映射的下一子图作为与已映射子图具有最大连通性的子图。
该过程的重要方面在于判断单独分区的尺寸。小分区退火较快。然而,大分区需要实现最优或接近最优的映射。在G的子图S(VS,ES)中,比率:
l = Σ i , j ∈ V s C ( i , j ) Σ i ∈ V s , j ∈ V C ( i , j )
描述了如何将子图S与通信图G的其余部分相连。约束条件l为通常用于控制用于映射优化的退火的在“生产”实现时的质量的方法。在本发明的该实施例中,不采用该方案。而是示出针对各种分区尺寸的结果。使用较小分区(例如每个分区8个节点,总共128个分区)进行优化的一般执行时间为0(30)分钟。使用较大分区(例如每个分区256个节点,总共4个分区)进行优化的一般执行时间为0(10)小时。
根据本发明映射的示例性结果
作为对本发明的这些方法的测试,使用四个独立的通信问题。
1.Cubic 1:这是先前已讨论的3-D最接近邻居问题。对于在8×8×8环面上的每个节点都具有一个域,任务是将它们布置在8×8×8超级计算机环面上。通信模式是,每个域向它在环面上的每个最接近邻居发送等尺寸分组。在此情形中的确切(最优)解是已知的,从而,由当前方法得出的映射结果可与最优映射相比较。
2.Cubic 2:该问题类似于Cubic 1,但现在各域向它们的六个最接近邻居(距离1个跳跃)发送全尺寸分组,向它们在沿环面迪卡尔方向的六个次最接近邻居(距离2个跳跃)发送半尺寸分组。仅沿直线发送分组;不包括网格上的转角。同样,最优映射也是解析已知的。
3.SAGE:这是源自科学应用国际合作(Science ApplicationsInternational Corporation)的自适应网格欧拉(Eulerian)流体动力学应用,如D.J.Kerbyson,H.J.Alme,A.Hoisie,F.Petrini,H.J.Wasserman,M.Gittings于Proceedings of the 2001 ACM/IEEEConference on Supercomputing上发表的“Predictive Performanceand Scalability Modeling of a Large-Scale Application”中所述,这里将该文献全部内容引作参考。此处在该实施例中所使用的示例中,仅考虑具有timing_h输入集的简单情形,该情形在不进行自适应网格细化的情况下进行热传导和流体动力学处理。该通信模式足够复杂,以致考虑该情形本身就非常有用。全代码(利用AMR)的要求将是类似的-每次重新定义问题网格时都需要求出到节点的映射。全代码中分析的主要方面是相同的,本发明的方法也可应用于该情形中。
SAGE使用规则迪卡尔网格,其中,将单元分组成块,每块包含2×2×2配置的8个单元。各块按(x,y,z)顺序分布。出于调整的目的,每个任务使用恒定数量的单元。对于最简单的输入集,全局域是一个立方体。对于较小任务量,分解策略导致接近全局域的板层分解(slab decomposition)的情形。局部域的精确形状取决于每个任务的单元数量和任务数。下面给出算法1。
输入:
T,超级计算机环面网络中的计算节点集
完全未划分图G(V,E)
G的子图S(VS,ES)
P ⋐ V , 其中,p∈P为已经被映射到T中计算节点的顶点
映射M:P←T
L,子划区的限制
输出:
更新M以包括从VS到T的映射。更新P以包括VS
(1)使用METIS,将S分成S1(V1,E1)和S2(V2,E2)
l 1 ← Σ i , j ∈ V 1 C ( i , j ) Σ i ∈ V 1 , j ∈ V C ( i , j ) , l 2 ← Σ i , j ∈ V 2 C ( i , j ) Σ i ∈ V 2 , j ∈ V C ( i , j )
(3)如果l1<L或12<L
(4)使用模拟退火将每个v∈VS分配给一个节点t∈T
(5)更新P:P←P∪VS
(6)更新M以包括从VS到T的映射
(7)否则
(8) C 1 ← Σ i ∈ V 1 , j ∈ P C ( i , j )
(9) C 2 ← Σ i ∈ V 2 , j ∈ P C ( i , j )
(10)如果c1>c2(11)分区(T,G,S1,P,M,L)
(12)分区(T,G,S2,P,M,L)
(13)否则
(14)分区(T,G,S2,P,M,L)(15)分区(T,G,S1,P,M,L)
(16)返回M
上述算法l:分区。该算法递归地二等分图,直至子图足够小以便能使用模拟退火映射到环面为止。
4.UMT 2000:这是一个ASCI紫色基准程序(ASCI PurpleBenchmark),如同在ASCI Purple Benchmark网页中那样在无结构网格(unstructured mesh)上求解光子输运问题:可在URLhttp://www.llnl.gov/asci/purple/benchmarks/limited/umt上在线获得,这里将该文献全部内容引作参考。该应用是使用MPI和可选择的OpenMP以Fortran-90写成的。使用METIS库在代码中对无结构网格进行静态分区。每个任务的计算工作量有明显增多,从而该代码具有严重的计算负载失衡。不过,在本实施例中,仅解决同样重要的通信失衡。
在图4,5和6中示出针对Cubic 2,SAGE和UMT 2000的通信模式。Cubic和SAGE情形具有规则通信模式。UMT 2000具有不规则模式。在图4中,针对Cubic 2问题的通信模式在8×8×8环面上。在图5中,针对SAGE的通信模式处在8×8×8网格上。SAGE具有节点仅与其MPI秩序邻居进行通信的极规则通信模式,且仅示出完全模式的子集。
表1,2和3针对所研究的每个测试情形,给出了各种网格尺寸和模拟退火变型的优化结果。
在该表中,“理想”表示前面讨论的自由能的理想“理论”值。“启发”表示当使用章节3的启发布置算法时达到的值。“MPI秩序”为当采用MPI秩序布置各域时达到的值。“随机”表示针对各域到超级计算机环面上的100个随机布置达到的平均值。“理想”和“随机”情形分别为归一化自由能提供了下限和上限。最后,“sa n”项提供了对于分化征服变型所实现的结果,其中,使用METIS将域划分成其子域,对这些子域的每个的布置相继进行优化,直至将完全问题进行映射。在该变型中,“sa 1”情形表示通过包含所有节点的一个分区的完全模拟退火运行。图7的图例说明了通过分化征服方案生成的典型收敛曲线。
图11为表1,其说明了以Cubic 1和Cubic 2映射继续进行该方法,如所预期那样,求出已知的最优映射。这些是3-D问题,选择它们是由于理想映射情形容易识别。理想映射情形具有1的归一化自由能。启发、MPI秩序和随机情形为本发明所述各种布置策略可实现的自由能提供参考值。对于这些问题,仅通过单个分区(sa 1)尝试退火,该单个分区包含产生具有等于1的归一化自由能的最优布局的所有节点(确切解)。
继续到图12,其中示出表2,该表说明了针对UMT 2000的优化结果,对于256和1024个任务而言,在成本函数方面对缺省映射(MPI秩序)的改善约为系数1.66。在图13中,表3说明了针对SAGE实现的改善结果。对于256和2048个MPI任务而言,对缺省MPI布局的改善约为系数1.52和2.45。图14为表4,表4说明了针对使用数个不同映射的512处理器SAGE运行的通信时间结果。使用MPI秩序映射的成本和时间分别对成本和通信时间进行归一化。这些是相当显著的效果,并导致通信性能改善,如在题名为“映射的测量通信成本”的下一章节中所述。
映射的测量通信成本
目前为止所讨论的是自由能值的改善。下面给出显示出当使用不同映射时所测通信时间的变化的结果。在超级计算机硬件上使用各种映射运行应用。记录下对每个映射的运行时间,更重要的是,测量出应用在MPI点对点通信方面花费的时间。在该实施例中,在512节点分区上使用SAGE作为最合适的应用,这是由于它比UMT2000具有更大通信限制。
使用上述方法创建映射。此外,使用熟知的手工映射。将与MPI秩序相关的成本和时间用作为归一化常数。
图8是各映射的成本函数和通信时间的改善系数的图例。表7显示出与缺省MPI秩序映射有关的成本和通信时间。该结果是令人感兴趣的。由单分区模拟退火运行创建的最佳映射显示出对缺省MPI秩序映射的系数1.79的改善。启发方法和四分区模拟退火运行还显示出超过1.7的系数的改善。此外,所有模拟退火运行和启发方法生成具有比手工映射更低的通信时间的映射。使用本发明方法发现的映射的实际运行时间性能比手工映射(其显示出的改善仅为以1.593的系数对MPI秩序的改善)更好。成本函数和运行时间之间不存在完美匹配的原因在于,成本函数不完全模拟出通信模式或网络行为(这将是非常昂贵的)。
其他实施例和结论
在本发明中测试的优化情形中,显示出模拟退火方法生成良好的映射,并有可潜力作为用于并行代码的通用布局优化工具使用。采用MPI能够很容易实现目前开发的串行代码。还可编写代码,使得当应用使用缺省映射运行时,运行时刻系统进行通信流量分析,并在运行结束时进行分析以建议随后运行要使用的改善映射。然后,用户给出使用运行时刻标志的选项,以便针对随后的运行使用优化的映射代替缺省MPI秩序映射。
如果此处所述方法实际是有用的,(导致在真实应用的范围上性能增益),则对于在发现优化布局后预计对同样问题尺寸反复运行的应用而言具有现实应用意义。该方法甚至可用作为在将未知问题映射到超级计算机时的初始步骤。还可发现它可用于使用自动网格细化的问题中(例如,某些气象建模代码、SAGE、飞机仿真代码等)。
出于描述的目的,本发明的实施例讨论了点对点通信以及涉及BG/L超级计算机的环面网络的优化。然而,本领域普通技术人员应该理解,在不偏离本发明的实际范围和精神的条件下,通过适当修改成本函数,在分析中可包含使用全局树网络的集群通信和域(如果在应用中它们存在的话)之间的计算负载失衡。
尽管示出和描述了本发明的优选实施例,显然,这并不对本发明构成任何限定。在不偏离如所附权利要求所定义的本发明精神和范围的条件下,本领域技术人员可以想到多种修改、改变、变型、替换和等效实施例。

Claims (23)

1.一种用于对软件应用在并行处理系统上两个或更多个并行计算节点上的分配进行优化的计算机实现的方法,所述计算机实现的方法包括:
接收软件应用的通信简档,所述软件应用包括在并行处理系统上通过通信网络连接在一起的两个或更多个并行计算节点上执行的多个软件计算,其中,多个软件计算的至少第一软件计算传送来自多个软件计算中至少第二软件应用的应用数据,且其中,通信简档包括在各软件计算之间传送的软件应用数据的量;以及
针对在节点之间传送的软件应用数据的总量,在数学上使节点间通信成本函数最小,其中,针对在软件计算之间的软件应用数据通信,通信成本取决于软件应用使用通信网络的方式。
2.根据权利要求1的计算机实现的方法,其中,以全局和离散时间间隔中的至少之一来使节点之间传送的软件应用数据的总量最小,以便降低软件应用的通信成本。
3.根据权利要求1的计算机实现的方法,其中,通信成本还取决于可用通信拓扑的使用、网络拓扑类型、缓冲器的可用性、网络拓扑上的争用、软件应用开销和通信时延中的至少之一。
4.根据权利要求1的计算机实现的方法,还包括:
作为响应,将软件计算的至少之一从多个节点中的一个重新分配到多个节点中的另一个,以便在数学上使成本函数最小。
5.根据权利要求1的计算机实现的方法,其中,接收软件应用的通信简档包括:接收启发映射,所述启发映射顺序地将每个软件计算映射到所述节点之一上,使得与先前映射的节点传送应用数据的每个软件计算被映射到定义为与之最接近的节点的近邻节点。
6.根据权利要求1的计算机实现的方法,其中,接收软件应用的通信简档包括:接收图分区映射,所述图分区映射标识出这样的软件计算,即相对在这些软件计算之间传送的软件应用数据的量,这些软件计算是最大独立的。
7.根据权利要求6的计算机实现的方法,其中,图分区映射包括使用至少一个算法确定图中的团和双团。
8.根据权利要求6的计算机实现的方法,其中,图分区映射包括使用METIS工具。
9.根据权利要求1的计算机实现的方法,其中,对于软件应用的通信简档的所述接收,所述软件应用的通信简档包括用于在并行处理系统上两个或更多个并行计算节点j上执行的多个软件计算i,其中,多个软件计算中至少第一软件计算传送来自多个软件计算中至少第二软件应用的应用数据,且其中,通信简档包括在各软件计算之间传送的软件应用数据的量,其由C(i,j)给出;以及
其中,针对分配给两个或更多个节点中的第一节点的第一软件应用,将第一软件应用重新分配到两个或更多个节点中的第二节点的节点间通信成本函数由F=∑i,jC(i,j)H(i,j)给出,其中,节点间通信成本函数由以下量乘积给出:在第一节点处传送的软件应用数据的量;和由H(i,j)给出、在第一节点和第一节点与之传送软件应用数据的所有其余节点之间的通信路径成本/数据单元。
10.根据权利要求1的计算机实现的方法,其中,接收软件应用的通信简档包括:接收关于并行处理系统的简档,在该并行处理系统中,将每个节点排列成节点之间具有环面通信网络的3-D点阵。
11.根据权利要求1的计算机实现的方法,其中,接收软件应用的通信简档包括:接收有关作为Blue Gene/L超级计算机的并行处理系统的简档。
12.一种大规模并行处理系统计算装置,包括:
通过多个独立网络互连的至少两个并行计算节点,每个节点包括一个或多个处理单元,用于执行当根据通信简档运行包括多个并行算法操作的软件应用时所需的计算和通信活动中的至少之一;和多个独立网络,使得能够在所述节点的至少之一和所述节点的独立划分子集之间进行点对点、全局树通信和全局阻塞与通知操作,
其中,以协同和独立中至少之一的方式,根据软件应用的带宽和时延要求使用将并行计算节点互连的多个独立网络的组合,其中,多个软件算法的至少第一软件计算传送来自多个软件算法中至少第二软件应用的应用数据,且其中,通信简档包括在各软件计算之间传送的软件应用数据的量;以及
其中,通过针对在节点之间传送的软件应用数据的总量,在数学上使节点间通信成本函数最小,来使用将并行计算节点互连的多个独立网络的组合,其中,针对在软件算法之间的软件应用数据通信,通信成本取决于软件算法使用通信网络的方式。
13.根据权利要求12的大规模并行处理系统计算装置,其中,以全局和离散时间间隔中的至少之一来使节点之间传送的软件应用数据的总量最小,以便降低软件应用的通信成本。
14.根据权利要求12的大规模并行处理系统计算装置,其中,通信成本还取决于可用通信拓扑的使用、网络拓扑类型、缓冲器的可用性、网络拓扑上的争用、软件应用开销和通信时延中的至少之一。
15.根据权利要求12的大规模并行处理系统计算装置,还包括:
用于作为响应,将软件计算的至少之一从多个节点中的一个重新分配到多个节点中的另一个,以便在数学上使成本函数最小的装置。
16.根据权利要求12的大规模并行处理系统计算装置,其中,接收软件应用的通信简档包括:接收启发映射,所述启发映射顺序地将每个软件计算映射到所述节点之一上,使得与先前映射的节点传送应用数据的每个软件计算被映射到定义为与之最接近的节点的近邻节点。
17.根据权利要求12的大规模并行处理系统计算装置,其中,接收软件应用的通信简档包括:接收图分区映射,所述图分区映射标识出这样的软件计算,即相对在这些软件计算之间传送的软件应用数据的量,这些软件计算是最大独立的。
18.根据权利要求17的大规模并行处理系统计算装置,其中,图分区映射包括使用至少一个算法确定图中的团和双团。
19.根据权利要求17的大规模并行处理系统计算装置,其中,图分区映射包括使用METIS工具。
20.根据权利要求17的大规模并行处理系统计算装置,其中,软件应用的通信简档包括用于在并行处理系统上两个或更多个并行计算节点j上执行的多个软件计算i,其中,多个软件计算中至少第一软件计算传送来自多个软件计算中至少第二软件应用的应用数据,且其中,通信简档包括在各软件计算之间传送的软件应用数据的量,其由C(i,j)给出;以及
其中,针对分配给两个或更多个节点中的第一节点的第一软件应用,将第一软件应用重新分配到两个或更多个节点中的第二节点的节点间通信成本函数由F=∑i,jC(i,j)H(i,j)给出,其中,节点间通信成本函数由以下量乘积给出:在第一节点处传送的软件应用数据的量;和由H(i,j)给出、在第一节点和第一节点与之传送软件应用数据的所有其余节点之间的通信路径成本/数据单元。
21.根据权利要求17的大规模并行处理系统计算装置,其中,接收软件应用的通信简档包括:接收关于并行处理系统的简档,在该并行处理系统中,将每个节点排列成节点之间具有环面通信网络的3-D点阵。
22.根据权利要求17的大规模并行处理系统计算装置,其中,接收软件应用的通信简档包括:接收有关作为Blue Gene/L超级计算机的并行处理系统的简档。
23.一种可伸缩大规模并行计算装置,包括:
通过独立网络互连的多个并行计算节点,每个节点包括一个或多个处理单元,用于执行当执行并行算法操作时所需的计算和通信活动;和
第一独立网络,包括n维环面网络,所述n维环面网络包括通信链路,所述通信链路以针对在网络的节点或节点子集之间提供高速、低时延点对点和多播分组通信而优化的方式互连所述节点;
多个独立网络中的第二独立网络,包括可扩展全局树网络,所述可扩展全局树包括利于在网络的节点或节点子集之间进行同时全局操作的节点互连;
划分装置,用于根据通信简档以及根据多个软件计算的至少第一软件计算传送来自多个软件计算中至少第二软件应用的应用数据的要求,动态地对独立处理网络的一个或多个组合进行配置,且其中,通信简档包括在各软件计算之间传送的软件应用数据的量;以及
每个独立网络包括通过第一和第二网络的可划分部分互连的处理节点的可配置子集,其中,利用每个所配置的独立处理网络使得能够进行同时协同处理,以优化软件应用处理性能;
其中,通过针对在节点之间传送的软件应用数据的总量,在数学上使节点间通信成本函数最小,协同或独立地使用将并行计算节点互连的多个独立网络的组合,其中,针对在软件计算之间的软件应用数据通信,通信成本取决于软件应用使用通信网络的方式。
CNB2005800347177A 2004-10-12 2005-10-06 优化大规模并行超级计算机上的应用布局的方法和装置 Expired - Fee Related CN100568183C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/963,101 US8117288B2 (en) 2004-10-12 2004-10-12 Optimizing layout of an application on a massively parallel supercomputer
US10/963,101 2004-10-12

Publications (2)

Publication Number Publication Date
CN101048736A CN101048736A (zh) 2007-10-03
CN100568183C true CN100568183C (zh) 2009-12-09

Family

ID=35677701

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800347177A Expired - Fee Related CN100568183C (zh) 2004-10-12 2005-10-06 优化大规模并行超级计算机上的应用布局的方法和装置

Country Status (5)

Country Link
US (1) US8117288B2 (zh)
EP (1) EP1807758A1 (zh)
JP (1) JP4857274B2 (zh)
CN (1) CN100568183C (zh)
WO (1) WO2006044258A1 (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850965B2 (en) * 1998-11-17 2005-02-01 Arthur Douglas Allen Method for connection acceptance and rapid determination of optimal multi-media content delivery over network
US7334044B1 (en) * 1998-11-17 2008-02-19 Burst.Com Method for connection acceptance control and optimal multi-media content delivery over networks
US20060241928A1 (en) * 2005-04-25 2006-10-26 International Business Machines Corporation Load balancing by spatial partitioning of interaction centers
US7840914B1 (en) 2005-05-13 2010-11-23 Massachusetts Institute Of Technology Distributing computations in a parallel processing environment
US8447580B2 (en) * 2005-05-31 2013-05-21 The Mathworks, Inc. Modeling of a multiprocessor system
US8756044B2 (en) * 2005-05-31 2014-06-17 The Mathworks, Inc. Graphical partitioning for parallel execution of executable block diagram models
DE102005057697A1 (de) * 2005-12-02 2007-06-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur computergestützten Simulation technischer Prozesse
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US7644142B2 (en) * 2006-05-04 2010-01-05 Intel Corporation Methods and apparatus to perform process placement for distributed applications
US8082289B2 (en) 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US8082546B2 (en) * 2006-09-29 2011-12-20 International Business Machines Corporation Job scheduling to maximize use of reusable resources and minimize resource deallocation
US8181168B1 (en) 2007-02-07 2012-05-15 Tilera Corporation Memory access assignment for parallel processing architectures
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US20080288957A1 (en) * 2007-05-18 2008-11-20 International Business Machines Corporation Method and system for optimizing communication in mpi programs for an execution environment
US8959516B2 (en) 2007-07-30 2015-02-17 International Business Machines Corporation Methods and systems for coordinated financial transactions in distributed and parallel environments
US8234652B2 (en) * 2007-08-28 2012-07-31 International Business Machines Corporation Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks
US8312464B2 (en) * 2007-08-28 2012-11-13 International Business Machines Corporation Hardware based dynamic load balancing of message passing interface tasks by modifying tasks
US20090064166A1 (en) * 2007-08-28 2009-03-05 Arimilli Lakshminarayana B System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
US8127300B2 (en) * 2007-08-28 2012-02-28 International Business Machines Corporation Hardware based dynamic load balancing of message passing interface tasks
US8108876B2 (en) * 2007-08-28 2012-01-31 International Business Machines Corporation Modifying an operation of one or more processors executing message passing interface tasks
US20090083614A1 (en) * 2007-09-26 2009-03-26 Xerox Corporation System and method for optimizing information display in spreadsheets and tables
US8443287B2 (en) * 2007-09-28 2013-05-14 International Business Machines Corporation Interactive tool for visualizing performance data in real-time to enable adaptive performance optimization and feedback
US8874722B2 (en) * 2007-09-28 2014-10-28 International Business Machines Corporation Interactive tool for visualizing performance data in real-time to enable adaptive performance optimization and feedback
US20090158276A1 (en) * 2007-12-12 2009-06-18 Eric Lawrence Barsness Dynamic distribution of nodes on a multi-node computer system
US8589490B2 (en) * 2008-01-16 2013-11-19 Janos Tapolcai System, method, and computer program for solving mixed integer programs with peer-to-peer applications
US8296120B2 (en) * 2008-06-20 2012-10-23 Utah State University FPGA simulated annealing accelerator
US8560277B2 (en) * 2008-10-03 2013-10-15 International Business Machines Corporation Creating a load balanced spatial partitioning of a structured, diffusing system of particles
US8549092B2 (en) * 2009-02-19 2013-10-01 Micron Technology, Inc. Memory network methods, apparatus, and systems
US8874694B2 (en) * 2009-08-18 2014-10-28 Facebook, Inc. Adaptive packaging of network resources
JP5577745B2 (ja) * 2010-02-25 2014-08-27 日本電気株式会社 クラスタシステム、プロセス配置方法、及びプログラム
US8386403B2 (en) * 2010-03-02 2013-02-26 Empire Technology Development Llc Distributed-type Markov chain Monte Carlo
FR2960369B1 (fr) * 2010-05-20 2013-03-01 Bull Sas Procede d'optimisation de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
US10635062B2 (en) 2010-06-29 2020-04-28 International Business Machines Corporation Systems and methods for highly parallel processing of parameterized simulations
US8839214B2 (en) 2010-06-30 2014-09-16 Microsoft Corporation Indexable type transformations
WO2012020474A1 (ja) * 2010-08-10 2012-02-16 富士通株式会社 ジョブ管理装置及びジョブ管理方法
US9569398B2 (en) 2010-09-28 2017-02-14 International Business Machines Corporation Routing data communications packets in a parallel computer
US8909716B2 (en) 2010-09-28 2014-12-09 International Business Machines Corporation Administering truncated receive functions in a parallel messaging interface
CN102667710B (zh) * 2010-10-21 2014-09-03 北京华金瑞清生物医药技术有限公司 从复杂网络中识别模块化结构的方法和工具
US8769542B2 (en) * 2010-10-26 2014-07-01 Palo Alto Research Center Incorporated System for adaptive lot sizing in cellular manufacturing for balancing workloads across multiple cells using split-then-merge operations and earliest completion route algorithm
US9075759B2 (en) 2010-11-05 2015-07-07 International Business Machines Corporation Fencing network direct memory access data transfers in a parallel active messaging interface of a parallel computer
US9069631B2 (en) 2010-11-05 2015-06-30 International Business Machines Corporation Fencing data transfers in a parallel active messaging interface of a parallel computer
US9052974B2 (en) 2010-11-05 2015-06-09 International Business Machines Corporation Fencing data transfers in a parallel active messaging interface of a parallel computer
US8527672B2 (en) 2010-11-05 2013-09-03 International Business Machines Corporation Fencing direct memory access data transfers in a parallel active messaging interface of a parallel computer
US8490112B2 (en) 2010-12-03 2013-07-16 International Business Machines Corporation Data communications for a collective operation in a parallel active messaging interface of a parallel computer
US8484658B2 (en) 2010-12-03 2013-07-09 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8572629B2 (en) 2010-12-09 2013-10-29 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8650262B2 (en) 2010-12-09 2014-02-11 International Business Machines Corporation Endpoint-based parallel data processing in a parallel active messaging interface of a parallel computer
US8775531B2 (en) 2011-01-06 2014-07-08 International Business Machines Corporation Completion processing for data communications instructions
US8732229B2 (en) 2011-01-06 2014-05-20 International Business Machines Corporation Completion processing for data communications instructions
US8892850B2 (en) 2011-01-17 2014-11-18 International Business Machines Corporation Endpoint-based parallel data processing with non-blocking collective instructions in a parallel active messaging interface of a parallel computer
US8584141B2 (en) 2011-01-17 2013-11-12 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8762536B2 (en) 2011-01-31 2014-06-24 Cray Inc. Compact node ordered application placement in a multiprocessor computer
US8825983B2 (en) 2011-02-15 2014-09-02 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8904398B2 (en) * 2011-03-31 2014-12-02 International Business Machines Corporation Hierarchical task mapping
JP5724626B2 (ja) 2011-05-23 2015-05-27 富士通株式会社 プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2012243224A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
US20120331153A1 (en) * 2011-06-22 2012-12-27 International Business Machines Corporation Establishing A Data Communications Connection Between A Lightweight Kernel In A Compute Node Of A Parallel Computer And An Input-Output ('I/O') Node Of The Parallel Computer
US9262201B2 (en) 2011-07-13 2016-02-16 International Business Machines Corporation Performing collective operations in a distributed processing system
US8495654B2 (en) 2011-11-07 2013-07-23 International Business Machines Corporation Intranode data communications in a parallel computer
US8528004B2 (en) 2011-11-07 2013-09-03 International Business Machines Corporation Internode data communications in a parallel computer
US8732725B2 (en) 2011-11-09 2014-05-20 International Business Machines Corporation Managing internode data communications for an uninitialized process in a parallel computer
US8819653B2 (en) * 2012-01-30 2014-08-26 Cisco Technology, Inc. Automated improvement of executable applications based on evaluating independent execution heuristics
JP5853794B2 (ja) * 2012-03-19 2016-02-09 富士通株式会社 転置装置、転置方法、および転置プログラム
US9215138B2 (en) * 2012-12-06 2015-12-15 International Business Machines Corporation Determining a system configuration for performing a collective operation on a parallel computer
US9063916B2 (en) * 2013-02-27 2015-06-23 Oracle International Corporation Compact encoding of node locations
JP6499388B2 (ja) 2013-08-14 2019-04-10 富士通株式会社 並列計算機システム、管理装置の制御プログラムおよび並列計算機システムの制御方法
US9348651B2 (en) * 2013-12-05 2016-05-24 International Business Machines Corporation Constructing a logical tree topology in a parallel computer
JP6413634B2 (ja) 2014-10-30 2018-10-31 富士通株式会社 ジョブ管理プログラム、ジョブ管理方法、およびジョブ管理装置
JP6492977B2 (ja) 2015-06-01 2019-04-03 富士通株式会社 並列演算装置、並列演算システム、ノード割当プログラム及びノード割当方法
CN105938427B (zh) * 2016-04-13 2018-06-29 中国科学院重庆绿色智能技术研究院 一种提高wrf并行计算效率的方法
US10996989B2 (en) * 2016-06-13 2021-05-04 International Business Machines Corporation Flexible optimized data handling in systems with multiple memories
US10318668B2 (en) * 2016-06-15 2019-06-11 International Business Machine Corporation Automatic decomposition of simulation model
US10372507B2 (en) * 2016-12-31 2019-08-06 Intel Corporation Compute engine architecture to support data-parallel loops with reduction operations
US10560351B1 (en) * 2017-12-28 2020-02-11 Architecture Technology Corporation Network monitoring tool for supercomputers
US11651232B2 (en) 2018-08-01 2023-05-16 International Business Machines Corporation Monte Carlo Markov chain based quantum program optimization
CN109635238B (zh) * 2018-12-07 2023-08-29 北京字节跳动网络技术有限公司 矩阵运算方法、装置、设备及可读介质
CN112433853B (zh) * 2020-11-30 2023-04-28 西安交通大学 一种面向超级计算机数据并行应用的异构感知数据划分方法
GB2606684A (en) * 2021-02-03 2022-11-23 Xonai Ltd Allocating computational tasks to computer hardware
CN113517920A (zh) * 2021-04-20 2021-10-19 东方红卫星移动通信有限公司 超密集低轨星座中物联网模拟载荷的计算卸载方法及系统
CN116820772B (zh) * 2023-07-03 2024-05-28 中山大学 网格并行读取方法、装置、终端设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202671A (en) * 1989-10-24 1993-04-13 International Business Machines Corporation Pick function implementation in a parallel processing system
US5349682A (en) * 1992-01-31 1994-09-20 Parallel Pcs, Inc. Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors
CN1493040A (zh) * 2001-02-24 2004-04-28 �Ҵ���˾ 用于计算结构的全局树形网络
CN1494688A (zh) * 2001-02-24 2004-05-05 �Ҵ���˾ 新颖的大规模并行超级计算机

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4983962A (en) * 1987-09-14 1991-01-08 Hammerstrom Daniel W Neural-model, computational architecture employing broadcast hierarchy and hypergrid, point-to-point communication
JP3163237B2 (ja) * 1995-09-28 2001-05-08 株式会社日立製作所 並列計算機システムの管理装置
US6021457A (en) * 1995-09-28 2000-02-01 Intel Corporation Method and an apparatus for minimizing perturbation while monitoring parallel applications
US6925642B1 (en) * 1999-04-29 2005-08-02 Hewlett-Packard Development Company, L.P. Distributed computer network which spawns inter-node parallel processes based on resource availability
US6438747B1 (en) * 1999-08-20 2002-08-20 Hewlett-Packard Company Programmatic iteration scheduling for parallel processors
US6374403B1 (en) * 1999-08-20 2002-04-16 Hewlett-Packard Company Programmatic method for reducing cost of control in parallel processes
US7299466B2 (en) * 2001-12-20 2007-11-20 Cadence Design Systems, Inc. Mechanism for managing execution environments for aggregated processes
US7376693B2 (en) * 2002-02-08 2008-05-20 Jp Morgan Chase & Company System architecture for distributed computing and method of using the system
US7103628B2 (en) * 2002-06-20 2006-09-05 Jp Morgan Chase & Co. System and method for dividing computations
US7644142B2 (en) * 2006-05-04 2010-01-05 Intel Corporation Methods and apparatus to perform process placement for distributed applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202671A (en) * 1989-10-24 1993-04-13 International Business Machines Corporation Pick function implementation in a parallel processing system
US5349682A (en) * 1992-01-31 1994-09-20 Parallel Pcs, Inc. Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors
CN1493040A (zh) * 2001-02-24 2004-04-28 �Ҵ���˾ 用于计算结构的全局树形网络
CN1494688A (zh) * 2001-02-24 2004-05-05 �Ҵ���˾ 新颖的大规模并行超级计算机

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Clustering and reassignment-based mapping strategy passingarchitectures. M.A.Senar, A.Ripoll, A.Cortes, E.Luque.Parallel Processing Symposium. 1998
Clustering and reassignment-based mapping strategy passingarchitectures. M.A.Senar,A.Ripoll,A.Cortes,E.Luque.Parallel Processing Symposium. 1998 *
Models of Machines and Computation for Mapping inMulticomputers. MICHAEL G. NORMAN,PETER THANISCH.ACM Computing Surveys,Vol.25 No.3. 1993
The BlueGene/L Supercomputer. Gyan Bhanot, Dong Chen, Alan Gara, Pavlos Vranas.NUCLEAR PHYSICS B. PROCEEDINGS SUPPLEMENT. 2003

Also Published As

Publication number Publication date
JP2008516346A (ja) 2008-05-15
WO2006044258A1 (en) 2006-04-27
US20060101104A1 (en) 2006-05-11
CN101048736A (zh) 2007-10-03
JP4857274B2 (ja) 2012-01-18
US8117288B2 (en) 2012-02-14
EP1807758A1 (en) 2007-07-18

Similar Documents

Publication Publication Date Title
CN100568183C (zh) 优化大规模并行超级计算机上的应用布局的方法和装置
Hoefler et al. Generic topology mapping strategies for large-scale parallel architectures
Schloegel et al. Graph partitioning for high performance scientific simulations
Bhanot et al. Optimizing task layout on the Blue Gene/L supercomputer
Pearce et al. Faster parallel traversal of scale free graphs at extreme scale with vertex delegates
Sahu et al. A survey on application mapping strategies for network-on-chip design
Bowers et al. The midpoint method for parallelization of particle simulations
Yang et al. Scan-based movement-assisted sensor deployment methods in wireless sensor networks
Deveci et al. Exploiting geometric partitioning in task mapping for parallel computers
Prisacari et al. Bandwidth-optimal all-to-all exchanges in fat tree networks
JPH06243113A (ja) 並列計算機における計算モデルのマッピング法
Acer et al. Improving performance of sparse matrix dense matrix multiplication on large-scale parallel systems
Chen et al. Tology-aware optimal data placement algorithm for network traffic optimization
Malik et al. Network‐aware optimization of communications for parallel matrix multiplication on hierarchical HPC platforms
Selvitopi et al. A recursive hypergraph bipartitioning framework for reducing bandwidth and latency costs simultaneously
Stewart Sufficient conditions for Hamiltonicity in multiswapped networks
CN206100022U (zh) 一种基于无限带宽的直连架构计算集群系统
Malakar et al. Scalable in situ analysis of molecular dynamics simulations
Kerbyson et al. A performance comparison between the Earth Simulator and other terascale systems on a characteristic ASCI workload
Malik et al. Topology-aware optimization of communications for parallel matrix multiplication on hierarchical heterogeneous hpc platform
Wang et al. Parallel implementation of macro-scale pseudo-particle simulation for particle–fluid systems
Bani-Mohammad et al. Performance evaluation of noncontiguous allocation algorithms for 2D mesh interconnection networks
Baransel et al. A parallel implementation of Strassen’s matrix multiplication algorithm for wormhole-routed all-port 2D torus networks
Cheng et al. A parallel particle tracking framework for applications in scientific computing
Mithila et al. Scheduling Many-Task Applications on Multi-clouds and Hybrid Clouds

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091209

Termination date: 20181006