CN102486739A - 高性能计算集群中分发数据的方法和系统 - Google Patents

高性能计算集群中分发数据的方法和系统 Download PDF

Info

Publication number
CN102486739A
CN102486739A CN200910225838XA CN200910225838A CN102486739A CN 102486739 A CN102486739 A CN 102486739A CN 200910225838X A CN200910225838X A CN 200910225838XA CN 200910225838 A CN200910225838 A CN 200910225838A CN 102486739 A CN102486739 A CN 102486739A
Authority
CN
China
Prior art keywords
data
computing node
node
computing
piece
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.)
Granted
Application number
CN200910225838XA
Other languages
English (en)
Other versions
CN102486739B (zh
Inventor
李广磊
贺军
李获鼎
陈琦
刘伟
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
Priority to CN200910225838.XA priority Critical patent/CN102486739B/zh
Priority to JP2010261732A priority patent/JP5681458B2/ja
Priority to US12/955,280 priority patent/US8671134B2/en
Priority to KR1020100120204A priority patent/KR20110060849A/ko
Publication of CN102486739A publication Critical patent/CN102486739A/zh
Application granted granted Critical
Publication of CN102486739B publication Critical patent/CN102486739B/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • 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

Abstract

本发明公开了一种在高性能计算集群中分发数据的方法和系统,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该方法包括:将M个计算节点分为m层,m为大于等于2的整数;将所述指定数据分成k份,k为大于等于2的整数;该中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;各计算节点把其父节点分发的所述至少一份数据分发给其子计算节点;以及各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。该方法和系统能够在高性能计算集群中快速将数据分发到各个计算节点。

Description

高性能计算集群中分发数据的方法和系统
技术领域
本发明一般涉及计算机领域,具体涉及一种在高性能计算集群中分发数据的方法和系统。
背景技术
计算机集群,简称集群,是一种计算机系统,其通过多个计算机(又称为计算资源,诸如软件和/或硬件资源)连接起来协作完成计算作业。这些计算资源位于同一管理域中,其具有统一的管理策略并且作为一个整体向用户提供服务。集群系统中的单个计算机通常称为节点。集群系统有诸多优点。例如,当集群系统采用负载均衡方式工作时,通过由多台计算机完成同一工作,其能够达到更高的效率。
高性能计算(High-Performance Computing)是计算机科学的一个分支,它致力于开发超级计算机,研究并行算法和开发相关软件。高性能计算主要研究的问题包括:大规模科学问题,如天气预报、地形分析和生物制药等;以及存储和处理海量数据,如数据挖掘、图象处理和基因测序。高性能计算集群,顾名思义,就是采用集群技术来研究高性能计算。
高性能计算通常把一个作业(job)分成若干可以并行的子任务(task),各子任务间共同协作完成该作业。在高性能计算集群中,计算节点的规模非常大,例如IBM Cluster包含了超过16000个节点。高性能计算集群中存在一个中控节点(Home node)和若干计算节点(Computation node)。中控节点负责和用户交互,控制和信息管理。中控节点存储有收集到的高性能计算集群中所有节点的连接信息,当高性能计算集群接收到一个作业时,首先由中控节点为该作业分配资源,也就是将该作业分成若干任务,为每个任务找到合适的计算节点,构建该作业的网络连接表;网络连接表是指每一个子任务的Infiniband的连接信息。当高性能计算中的某一个子任务和另外一个子任务通讯的时候,该子任务必须知道对方子任务的连接信息。这些信息有些类似于UDP协议中的IP+端口号。所以对于大规模的作业,比如说有一百万子任务的作业,全部的网络连接信息表就有一百万个表项,每一个表项对应于一个子任务。对于Infiniband,每个表项至少要包含以下信息:适配器地址(adapter address),窗口ID(windowID),网络id(network id),逻辑id(logical id),LID掩码控制的掩码(LID mask control mask),端口id(port id)。每个表项大小大概在50字节左右。因此全部100万个子任务所需要的网络连接表大小就是大概50MB左右。
接下来中控节点与找到的为该任务服务的全部计算节点建立连接,传递计算任务;在传递任务过程中,中控节点需要传递很多信息,一个重要的需要传递的信息就是网络连接表,这样,各个计算节点间才能连接并交换数据。图1示出了在高性能计算集群中现有技术的分发数据示意图,如图1所示,在高性能计算集群中,将计算节点分为两层,由中控节点向第一层计算节点传递该作业的网络连接表,再由第一层的计算节点将该作业的网络连接表向第二层的计算节点传递,每个计算节点接收到该作业的网络连接表后,向中控节点发通知,中控节点接收到全部计算节点的关于网络连接表的确认,并且收到全部计算节点的其它相关信息后,才指示全部计算节点开始计算。
很多高性能计算作业都使用几乎高性能计算集群中的全部节点,并且这些节点间密集交互。例如,对于图1中使用128*128个节点的高性能计算集群,如果网络连接表的大小为50M字节,使用两层的计算节点,10G的网络带宽,则仅从中控节点将网络连接表传递到所有的计算节点,就需要(50M*/(128+128)/(10G/8)=10秒的网络连接表的传输时间。一个作业从中控节点分配资源开始,到各个计算节点开始计算这段时间称为作业启动时间,显然,上述传输一个作业的网络连接表的时间过长会造成该作业启动时间过长的问题。
发明内容
为了解决现有技术中的问题,本发明提出了一种在高性能计算集群中分发数据的方法和系统。
根据本发明的一个方面,提供了一种在高性能计算集群中分发指定数据的方法,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该方法包括:
将M个计算节点分为m层,m为大于等于2的整数;
将所述指定数据分成k份,k为大于等于2的整数;
该中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;
各计算节点把其父节点分发的所述至少一份数据分发给其子计算节点;以及
各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。
根据本发明的另一个方面,提供了一种在高性能计算集群中分发指定数据的系统,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该系统中,M个计算节点被分为m层,m为大于等于2的整数,所述指定数据被分成k份,k为大于等于2的整数,该系统包括:
中控节点分发器,用于该中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;
位于多个计算节点的多个计算节点分发器,用于该多个计算节点把其父节点分发的所述至少一份数据分发给其子计算节点;
位于多个计算节点的多个数据请求器,用于该计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。
使用本发明的方法,可以在高性能计算集群中迅速将数据分发到各个计算节点,分发时间比现有技术大大减少。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了在高性能计算集群中现有技术的分发数据示意图;
图2示意性地示出了本发明的一种在高性能计算集群中分发数据的方法;
图3示意性地示出了根据本发明的一种实施方式的一个计算节点如何获得其余的指定数据的方法过程;
图4示意性地示出了根据本发明的另一种实施方式的一个计算节点如何获得其余的指定数据的方法过程;
图5示意性地示出了优选实施方式的节点传输示意图;
图6示意性地示出了在一个特定时刻,本发明优选实施方式的各节点间的数据传输;以及
图7示意性地示出了一种在高性能计算集群中分发数据的系统框图。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
高性能计算集群由于包含的节点数很多,并且在该集群中运行的作业一般都使用集群中包含的大部分或者全部节点,因此,一个包含了运行一个作业所涉及的所有节点的连接信息的网络连接表,通常很大,例如在背景技术中给出的例子为50M字节。这样的大的网络连接表传输需要较长的时间;对于高性能计算集群来说,有很多要运行的作业,每个作业都要传输该作业的网络连接表,因此,从整体来说,网络连接表的传输时间不能忽略,尤其是对于频繁调度作业的集群来说,减少作业的网络连接表的传输时间更是非常有必要的。
在本发明中,考虑到现有技术中是通过将所有作业涉及的计算节点分成两层,由中控节点向第一层计算节点发送作业的网络连接表,再由第一层计算节点向第二层计算节点发送作业的网络连接表。过程中传输的是全部的网络连接表。
本发明的基本思想是:仍然将计算节点分层,但是不传输全部的网络连接表,而是将作业的网络连接表分成若干份,由中控节点对第一层的每个计算节点依次传输网络连接表的一份,再由第一层的计算节点将接收到的一份部分网络连接表向其下层传输,一个计算节点接到属于本分支的一份部分网络连接表后,可以随机向其它计算节点请求属于其它计算节点分支的一份部分网络连接表,这样,一个节点就可以获得分成若干份的部分网络连接表,可以将所有的部分网络连接表组成一个完整的作业网络连接表,并向中控节点汇报。中控节点得到所有计算节点的汇报后,就可以确认作业的网络传输表传输完毕。
本领域技术人员通过以下的描述可以知道,本发明的数据分发方法和系统不仅限于分发作业的网络连接表,还可以在高性能计算集群中分发任意需要的数据,只要是分发所有计算节点都需要的同样的数据,就可以大大减少分发时间。
具体来说,图2示意性地示出了本发明的一种在高性能计算集群中分发数据的方法,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该方法包括:
在步骤S201,将M个计算节点分为m层,m为大于等于2的整数;
在步骤S202,将所述指定数据分成k份,k为大于等于2的整数;
在步骤S203,中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;
在步骤S204,各计算节点把其父节点分发的所述至少一份数据分发给其子计算节点;
在步骤S205,各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。
下面将详细描述图2中的各个步骤的具体实现方式。
在步骤S201中,M个计算节点被分为m层,m为大于等于2的整数,假设第一层计算节点数为n1,第二层计算节点数为n2,......,第m层计算节点数为nm,则n1+n2+...+nm=M,这样,全部的节点可以看成是一个树的结构,其中,中控节点为树的根(root),每个第一层计算节点及其各层子节点构成树的一个分支。这里,计算节点组成的树可以分为多层,但是,多层的计算会较为复杂,而且由中控节点向子节点传递的时间也变长,因此,根据本发明的一个优选实施方式,m=2,也就是说,计算节点只被分为两层,每个第一层计算子节点的个数可以随意设定,例如,可以每个第一层计算节点的子节点的个数完全相同,也可以各不相同,如果各不相同,后续的处理会比较复杂,因此,根据本发明的一个优选实施方式,每个第一层计算节点的子节点的个数相同。
在步骤S202中,指定数据被分成k份,k为大于等于2的整数。这里,指定数据可以分成不等大小的k份,也可以分成相等大小的k份,其处理方式是相似的,但是,分成相等大小的k份由于传输时间更容易估算,所以在本发明的一个优选实施例中,指定数据被分成相等大小的k份。
在步骤S203中,中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据。这样,第一层的计算节点就获得了其所在分支的一份或者多份数据。优选地,中控节点还将分发起始时间、全部计算节点的树结构、每份指定数据的大小分发给第一层计算节点,以便全部的计算节点都了解分发起始时间、全部计算节点的树结构以及每份指定数据的大小,从而便于后续数据处理。当第一层计算节点的个数n1大于k时,中控节点可以对前k个计算节点,每个计算节点分发一份数据,对剩余的计算节点,再从第一份数据开始,每个计算节点发一份数据;或者对剩余的计算节点,选择若干份数据发送;在另一个实施方式中,也可以每个计算节点发送多份数据,循环发送,等等。在一个优选的实时方式中,n1=k,也就是说,第一层计算节点的个数与指定数据分成的份数相同,这样,中控节点就可以依次将每份数据分发给每个第一层的计算节点,每个计算节点正好获得一份数据。如果能够使每个第一层的计算节点的子节点的个数也相同,并且第一层计算节点个数与k相同,将会使这个分发过程更容易。在进一步的优选实施方式中,不仅第一层计算节点的个数与指定数据分成的份数相同,而且每个第一层节点的子节点的个数相同,后续为了叙述方便,将经常采用此优选实施方式进行比较。
在步骤S204中,各计算节点把其父节点分发的至少一份数据分发给其子节点。则各计算节点都获得其分支的至少一份数据。优选地,各计算节点还向其子节点分发分发起始时间、全部计算节点的树结构、每份指定数据的大小,这样全部的计算节点都获得了全部计算节点的树结构、每份指定数据的大小,以便后续的数据传输更方便。虽然高性能计算运行时候子任务是通过Infiniband来传递数据,但是整个节点的控制信息还是通过TCPIP协议。因此在广播过程中每一个节点都需要知道树的结构,以及树中每一个节点的IP地址,也就是上文所述的全部计算节点的树结构。树的结构可以有不同的表示结构,比如可以用[m1,m2,m3]来表示一个有m2个分枝,m3层,全部节点数为m1的m2叉树。每个节点的IP地址信息也连续存放,比如2层的树,第一层第i1个节点的第j1个子节点(i1,j1都从0开始)在IP信息表中的索引位置就是i1*m2+j1。节点数最多有16K个,因此全部IP地址信息表就是64KB。这个数据和树结构数据会在广播开始时分发到每一个节点上。由此可见,全部节点的数结构信息量要远远小于网络连接表的信息量。
在一个优选实施方式中,当计算节点中有两层时,也就是第一层的计算节点将其从中控节点获得的一份或者多份数据发送给其子节点。在更进一步的优选实施方式中,第一层计算节点的个数与指定数据分成的份数相同,并且每个第一层子节点的子节点的个数相同时,该步骤就是第一层的计算节点将其从中控节点获得的一份数据发送给其子节点。
在步骤S205中,各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。在优选的实施方式中,每个计算节点已经获得了分发起始时间、全部计算节点的树结构,并且获得了每份指定数据的大小,根据网络带宽,就可以估计步骤S203和步骤S204的数据传输时间,以及计算出当前哪些计算节点具有哪些份数据。具体来说,对于一个计算节点,该计算机点已经获得其所在的分支的一份数据,图3示意性地示出了根据本发明的一种实施方式的一个计算节点如何获得其余的指定数据的方法过程,根据图3,该方法包括:
在步骤S301,判断该计算节点,还有哪些份数据没有获得;
在步骤S302,根据分发起始时间和当前时间,估算没有获得的数据中哪些份数据已经可以被请求;
在步骤S303,从已经可以被请求的数据中选择一份将要获得的数据。
在步骤S304,确定该份将要获得的数据已经被那些计算节点获得,并把这些计算节点作为候选节点。在一个优选的实施方式中,全部计算节点被分为两层,指定数据被分成大小相等的k份,假设每份的大小为s位(bit),第一层计算节点的个数与指定数据分成的份数相同,并且每个第一层计算节点的子节点的个数相同,假设为h,如果网络带宽为g,则在分发起始时间开始后的0-ks/g的时间段内,为中控节点向第一层计算节点分发数据的时间,在中控节点分发开始后s/g秒后,第一层的第一个计算节点就开始向其子节点分发自己所获得的一份数据。在中控节点分发开始后的第i*s/g时间后,第一层的第i个计算节点获得了自己分支所属的第一份数据,然后就开始向其子节点一次分发该份数据。也就是说,每个计算节点根据获得的分发起始时间、全部计算节点的树结构,每份指定数据的大小,以及网络带宽,能够估算某一时间后那些计算节点具有中控节点分发给本分支的数据。分发期间,该第一层计算节点可以同时接收来自其它分支的计算节点的数据请求,并向其它分支的计算节点发送数据请求,优选地,该第一层节算节点仅向其子节点分发数据,不接收来自其它分支的计算节点的数据请求并且不向其它分支的计算节点发送数据请求,直至本分支计算节点的数据分发完毕,才接收来自其它分支的计算节点的数据请求及向其它分支的计算节点发送数据请求,对于多层的树结构,优选地,任何一个中间层的计算节点都具有上述特性,这样数据传输到整个网络的时间更容易估计,并且传输效率会更高。而对于每一个第二层计算节点,在还没有接收到本节点所属分支的数据,就可以向其它分支的计算节点发送数据请求,当接收到本节点所属分支的数据后,就可以接收来自其它分支的计算节点的数据请求。优选地,每一个第二层计算节点当接收到本计算节点所属分支的数据后,才接收来自其它分支的计算节点的数据请求向其它分支的计算节点发送数据请求,对于多层的树结构,优选地,任何一个叶子计算节点都具有上述特性,这样,更容易估计每个计算节点获得其所属分支数据的时间,传输效率较高。对于上面的优选实时方式,可以知道第一层的第i个节点,其第j个子节点获得第一份数据的时间大约是在整个分发过程开始后的第(i+j)*s/g秒。则每个计算节点可以根据当前时间与分发起始时间的时间差与上述各个计算节点的分发时间估算哪些份数据已经可以被请求,哪些计算节点已经获得该计算节点对应的分支的该份数据。这样,才可以对于选择的将要获得的一份数据,确定该份数据已经被哪些计算节点获得。
在步骤S305,从候选节点中选择一个计算节点。该选择步骤中,一种优选的实施方式为:通过随机选择的方式来选取计算节点,这样可以使整个高性能计算集群的负载更平衡。当然本领域技术人员可以知道,还可以采用多种方式进行选取,例如,对计算节点编号,选择中间编号的计算节点,选择最大编号的计算节点等等。
在步骤S306,向选择的计算节点请求并接收一份将要获得的数据。上述各个计算节点获得本分支的数据是根据分发起始时间、全部计算节点的树结构,每份指定数据的大小,以及网络带宽等信息估算出来的,网络中常常出现很多难以预料的状况,例如,网络拥堵造成带宽降低等,因此,这种估算有时会不够准确,这时,如果向估算出的某一时间后具有中控节点分发给本分支的数据的计算节点发送请求时,就会收到不存在该份数据的应答。这时,可以对估算出的计算节点具有中控节点分发给本分支的数据的时间加一个修正量,即认为该节点估计的整个树分发的状态有些超前。加上修正量后,该节点会将整个分发过程的预测做一定程度的推迟,以避免之后的请求再次出现请求失败。
在步骤S307,返回步骤S301,直至获得全部所述指定数据。
图4示意性地示出了根据本发明的另一种实施方式的一个计算节点如何获得其余的指定数据的方法过程。根据图4,在步骤S401,判断该计算节点,还有哪些份数据没有获得,这里,该计算节点可能有一份或者多份数据没有获得;在步骤S402,根据分发起始时间和当前时间,估算哪些节点拥有该计算节点所没有的数据片段,作为候选节点;这里,估算方法和图3中的估算方法类似。得到的是从数据份到节点的对应关系。在步骤S403,从候选节点中选择一个计算节点,和图3不同的是,图3的方法是从数据份选择计算节点,而本实施例,直接选择计算节点来获得该计算节点上的数据份;在步骤S404,向选择的计算节点请求并接收要获得的至少一份数据;以及在步骤S405,返回判断步骤,直至获得全部指定数据。本实施例与图3实施例一样,也存在估算的修正量的问题,解决方法相同。
对于从候选节点中选择一个计算节点的步骤中,一种优选的实施方式为:通过随机选择的方式来选取计算节点,这样可以使整个高性能计算集群的负载更平衡。当然本领域技术人员可以知道,还可以采用多种方式进行选取,例如,对计算节点编号,选择中间编号的计算节点,选择最大编号的计算节点等等。
图5示意性地示出了上述优选实施方式的节点传输示意图。图5中,每个计算节点的上的号码是指该计算节点收到第一份数据的时间。可以使用序列号[i,j]表示每个计算节点在树中的位置,i表示该结点在第几个分支,j表示该计算节点是其父节点的第几个子节点。假设第一层计算节点有k个,其中,i<k,i为非负整数;假设每个第一层计算节点的第二层子节点有5个,如图5中所示,每个第一层计算节点[i,0]的第二层子节点的序列号分别为[i,1],[i,2],[i,3],[i,4],[i,5]。则根据上述优选实施方式,计算节点[3,2]接收被分发到本分支计算节点的数据后,参考节点号码上的时间数据,可知,计算节点[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[2,3]已经接收到被分发的本分支计算节点的数据,则计算节点[3,2]就可以向计算节点[1,0],[1,1],[1,2],[1,3],[1,4]之一请求第一份指定数据,或者向计算节点[2,0],[2,1],[2,2],[2,3]之一请求第二份指定数据,等等。而对于其它计算节点,计算节点[3,2]可以估算出其它节点没有获得本分支的一份数据,就不会向它们发出数据请求。
通过上述步骤,计算节点就可以获得全部指定数据的每一份,然后将各份数据组成一份完整的指定数据。使用本发明的方法,全部的计算节点就可以在更短的时间内获得全部的指定数据,减少了指定数据传遍高性能计算集群的全部计算节点的时间。
然后,每当一个计算节点获得完整的指定数据后,向中控节点汇报,当全部的计算节点后汇报结束,中控节点就可以指挥高性能计算集群的计算节点进行进一步的操作。
图6示意性地示出了在一个特定时刻,本发明优选实施方式的各节点间的数据传输。
下面估计使用本发明的方法传输数据的时间:假设第一层计算节点数为128,第一层的每个节点的子节点数也为128,数据被分为128份,如果每份数据大小是50MB/128;第二层的最后一个节点,也就是第一层的最后一个节点的最后一个子节点,接到自己父节点分发给自己的第一份数据的时间是在整个分发过程开始后的50MB/128*(128+128)/(10G/8)=10/128=0.078second,其中:一份数据大小为50MB/128。中控节点将每份数据一次分发给第一层的节点,分发一个节点所用时间为50MB/128/(10G/8);第一层最后一个节点收到第一份数据的时间是在分发开始后的50MB/128/(10G/8)*128;然后第一层最后一个节点将自己收到的一份数据分发给自己的128个子节点。最后一个子节点收到第一份数据的时间是在整个分发过程开始的50MB/128/(10G/8)*128+50MB/128/(10G/8)*128=50MB/128*(128+128)/(10G/8)=10/128=0.078second。当第一层最后一个节点的最后一个子节点收到自己的第一份数据后,他需要向其他节点请求剩余的127份数据。传递剩余的127份数据所需要的时间是:50MB/128*127/(10G/8)=0.039second。当该节点收到全部的128份数据后,因为该节点是整个树结构的最后一个节点,因此此时其他节点应该都接收到了全部128份数据。所以总的传输时间就是0.078+0.039=0.117秒。显然,比现有技术中使用的传输方法,大大减少了特定数据的传输时间。
根据同一个发明构思,本发明还公开一种在高性能计算集群中分发指定数据的系统700,该系统框图如图7所示,根据图7,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该系统中,M个计算节点被分为m层,m为大于等于2的整数,所述指定数据被分成k份,k为大于等于2的整数,该系统包括:中控节点分发器701,用于中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;位于多个计算节点的多个计算节点分发器702a,702b,......702f,用于该多个计算节点把其父节点分发的至少一份数据分发给其子计算节点;位于多个计算节点的多个数据请求器703a,703b,......703g,用于该计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。
在一种优选的实施方式中,系统700的中控节点分发器还将分发起始时间、全部计算节点的树结构、以及每份指定数据的大小分发给其子节点,以及多个计算节点分发器还将分发起始时间、全部计算节点的树结构、以及每份指定数据的大小分发给其子节点。
在进一步的优选实施方式中,系统700的一个数据请求器703进一步包括(图7未示出):判断装置,用于判断该计算节点,还有哪些份数据没有获得;第一估算装置,用于根据分发起始时间和当前时间,估算没有获得的数据中哪些份数据已经可以被请求;数据选择装置,用于从已经可以被请求的数据中选择一份将要获得的数据;第二估算装置,用于估算该份将要获得的数据已经被那些计算节点获得,并将这些计算节点作为候选节点;节点选择装置,用于从候选节点中选择一个计算节点;请求接收装置,用于向选择的计算节点请求并接收一份将要获得的数据。其中,在所述第一确定装置和第二确定装置中,每个计算节点根据获得的分发起始时间、全部计算节点的树结构,每份指定数据的大小,以及网络带宽,估算出那些计算节点具有哪些份数据。
在另一进一步的优选实施方式中,系统700的一个数据请求器703进一步包括(图7未示出):判断装置,用于判断该计算节点,还有哪些份数据没有获得;第三估算装置,用于根据分发起始时间和当前时间,估算哪些计算节点拥有该计算节点所没有的数据,作为候选节点;节点选择装置,用于从候选节点中选择一个节点;请求接收装置,用于向选择的计算节点请求并接收至少一份将要获得的数据。
系统700的所述节点选择装置7005中,计算节点的选择优多种方式,一种优选的方式为随机选择。并且其中,第一估算装置、第二估算装置以及第三估算装置根据获得的分发起始时间、全部计算节点的树结构,每份指定数据的大小,以及网络带宽,估算某一时间后那些计算节点具有中控节点分发给本分支的数据。优选地,请求接收装置发送请求后,如果被请求节点返回不存在该份数据的应答,则对估算结果进行修正,一种简单的方式为对估算出的计算节点具有中控节点分发给本分支的数据的时间加一个修正量。
系统700中,计算节点组成的树结构的中控节点分发器中,一种优选的实时方式为:中间节点向其子节点分发本分支的至少一份数据时,不接收来自其它分支的计算节点的数据请求并且不向其它分支的计算节点发送数据请求,直至本分支计算节点的数据分发完毕,才接收来自其它分支的计算节点的数据请求及向其它分支的计算节点发送数据请求。其中叶子计算节点接收到本节点所属分支的数据后,才接收来自其它分支的节点的数据请求向其它分支的节点发送数据请求。
在优选的实施方式中,系统700还包括位于多个计算节点的多个汇报器,用于各计算节点获得完整的指定数据后,向所述中控节点汇报。
为了使系统更容易估计计算节点获得其所在分支的数据,并且系统设计简单,系统700中所述M个计算节点满足下列全部条件:m=2;第一层计算节点的个数与k相同;所述k份数据的大小相同;以及各第一层计算子节点的子节点的个数完全相同。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction  means)的制造品,
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (20)

1.一种在高性能计算集群中分发指定数据的方法,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该方法包括:
将M个计算节点分为m层,m为大于等于2的整数;
将所述指定数据分成k份,k为大于等于2的整数;
该中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;
各计算节点把其父节点分发的所述至少一份数据分发给其子计算节点;以及
各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。
2.根据权利要求1所述的方法,其中,该中控节点将所述k份数据分发给第一层计算节点还包括该中控节点将分发起始时间、全部计算节点的树结构、以及每份指定数据的大小分发给其子节点,以及各计算节点把其父节点分发的所述至少一份数据分发给其子计算节点还包括各计算节点将分发起始时间、全部计算节点的树结构、以及每份指定数据的大小分发给其子节点。
3.根据权利要求2所述的方法,其中所述各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据的步骤中,一个计算节点执行的步骤包括:
判断该计算节点,还有哪些份数据没有获得;
根据分发起始时间和当前时间,估算没有获得的数据中哪些份数据已经可以被请求;
从已经可以被请求的数据中选择一份将要获得的数据;
估算该份将要获得的数据已经被哪些计算节点获得,并把这些计算节点作为候选节点;
从所述候选节点中选择一个计算节点;以及
向选择的计算节点请求并接收一份将要获得的数据。
4.根据权利要求2所述的方法,其中所述各计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据的步骤中,一个计算节点执行的步骤包括:
判断该计算节点,还有哪些份数据没有获得;
根据分发起始时间和当前时间,估算哪些计算节点拥有该计算节点所没有的数据,作为候选节点;
从所述候选节点中选择一个计算节点;以及
向选择的计算节点请求并接收要获得的至少一份数据。
5.根据权利要求3或4所述的方法,其中所述从候选节点中选择一个计算节点的步骤中,计算节点是从候选节点中随机选择的。
6.根据权利要求3或4所述的方法,其中,所述多个估算步骤是通过每个计算节点根据获得的分发起始时间、全部计算节点的树结构,每份指定数据的大小,以及网络带宽,来进行估算的。
7.根据权利要求6所述的方法,其中向选择的计算节点请求并接收一份将要获得的数据后,如果被请求节点返回不存在该份数据的应答,则对所述多个估算步骤的结果进行修正。
8.根据权利要求1所述的方法,其中计算节点组成的树结构中,中间节点向其子节点分发本分支的一份或者多份数据时,不接收来自其它分支的计算节点的数据请求并且不向其它分支的计算节点发送数据请求,直至本分支计算节点的数据分发完毕,才接收来自其它分支的计算节点的数据请求及向其它分支的计算节点发送数据请求。
9.根据权利要求8所述的方法,其中计算节点接收到本计算节点所属分支的数据后,才接收来自其它分支的计算节点的数据请求向其它分支的计算节点发送数据请求。
10.根据权利要求1所述的方法,其中所述M个计算节点满足下列全部条件:
(1)m=2;
(2)第一层计算节点的个数与k相同;
(3)所述k份数据的大小相同;以及
(4)各第一层计算子节点的子节点的个数完全相同。
11.一种在高性能计算集群中分发指定数据的系统,该高性能计算集群包括一个中控节点和M个计算节点,M为大于等于2的整数,该中控节点向该M个计算节点分发指定数据,该系统中,M个计算节点被分为m层,m为大于等于2的整数,所述指定数据被分成k份,k为大于等于2的整数,该系统包括:
中控节点分发器,用于该中控节点将所述k份数据分发给作为其子节点的第一层计算节点,第一层的每个计算节点获得其中的至少一份数据;
位于多个计算节点的多个计算节点分发器,用于该多个计算节点把其父节点分发的所述至少一份数据分发给其子计算节点;
位于多个计算节点的多个数据请求器,用于该计算节点向其它计算节点请求其余的指定数据,从而获得全部所述指定数据。
12.根据权利要求11所述的系统,其中,该中控节点分发器还将分发起始时间、全部计算节点的树结构、以及每份指定数据的大小分发给其子节点,以及多个计算节点分发器还将分发起始时间、全部计算节点的树结构、以及每份指定数据的大小分发给其子节点。
13.根据权利要求12所述的系统,其中所述一个数据请求器包括:
判断装置,用于判断该计算节点,还有哪些份数据没有获得;
第一估算装置,用于根据分发起始时间和当前时间,估算没有获得的数据中哪些份数据已经可以被请求;
数据选择装置,用于从已经可以被请求的数据中选择一份将要获得的数据;
第二估算装置,用于估算该份将要获得的数据已经被哪些计算节点获得,并把这些计算节点作为候选节点;
节点选择装置,用于从所述候选节点中选择一个计算节点;以及
请求接收装置,用于向选择的计算节点请求并接收一份将要获得的数据。
14.根据权利要求12所述的系统,其中所述一个数据请求器包括:
判断装置,用于判断该计算节点,还有哪些份数据没有获得;
第三估算装置,用于根据分发起始时间和当前时间,估算哪些计算节点拥有该计算节点所没有的数据,作为候选节点;
节点选择装置,用于从所述候选节点中选择一个计算节点;
请求接收装置,用于向选择的计算节点请求并接收将要获得的至少一份数据。
15.根据权利要求13或14所述的系统,其中所述节点选择装置中,计算节点是从候选节点中随机选择的。
16.根据权利要求13或14所述的系统,其中,所述第一估算装置、第二估算装置以及第三估算装置根据获得的分发起始时间、全部计算节点的树结构,每份指定数据的大小,以及网络带宽,来进行估算的。
17.根据权利要求16所述的系统,其中请求接收装置发送请求后,如果被请求节点返回不存在该份数据的应答,则所述第一估算装置、第二估算装置以及第三估算装置对估算结果进行修正。
18.根据权利要求11所述的系统,其中计算节点组成的树结构中,中间节点向其子节点分发本分支的至少一份数据时,不接收来自其它分支的计算节点的数据请求并且不向其它分支的计算节点发送数据请求,直至本分支计算节点的数据分发完毕,才接收来自其它分支的计算节点的数据请求及向其它分支的计算节点发送数据请求。
19.根据权利要求18所述的系统,其中计算节点接收到本计算节点所属分支的数据后,才接收来自其它分支的计算节点的数据请求向其它分支的计算节点发送数据请求。
20.根据权利要求11所述的系统,其中所述M个计算节点满足下列全部条件:
(1)m=2;
(2)第一层计算节点的个数与k相同;
(3)所述k份数据的大小相同;以及
(4)各第一层计算子节点的子节点的个数完全相同。
CN200910225838.XA 2009-11-30 2009-11-30 高性能计算集群中分发数据的方法和系统 Expired - Fee Related CN102486739B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200910225838.XA CN102486739B (zh) 2009-11-30 2009-11-30 高性能计算集群中分发数据的方法和系统
JP2010261732A JP5681458B2 (ja) 2009-11-30 2010-11-24 高性能計算クラスタにおいてデータを分配するための方法及びシステム
US12/955,280 US8671134B2 (en) 2009-11-30 2010-11-29 Method and system for data distribution in high performance computing cluster
KR1020100120204A KR20110060849A (ko) 2009-11-30 2010-11-30 고성능 컴퓨팅 클러스터에서의 데이터 분배 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910225838.XA CN102486739B (zh) 2009-11-30 2009-11-30 高性能计算集群中分发数据的方法和系统

Publications (2)

Publication Number Publication Date
CN102486739A true CN102486739A (zh) 2012-06-06
CN102486739B CN102486739B (zh) 2015-03-25

Family

ID=44083299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910225838.XA Expired - Fee Related CN102486739B (zh) 2009-11-30 2009-11-30 高性能计算集群中分发数据的方法和系统

Country Status (4)

Country Link
US (1) US8671134B2 (zh)
JP (1) JP5681458B2 (zh)
KR (1) KR20110060849A (zh)
CN (1) CN102486739B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119994A (zh) * 2015-08-25 2015-12-02 广州视源电子科技股份有限公司 一种文件传输方法及系统
CN106227878A (zh) * 2016-08-03 2016-12-14 杭州数梦工场科技有限公司 一种搜索方法和装置
CN112751885A (zh) * 2019-10-29 2021-05-04 贵州白山云科技股份有限公司 数据传输系统和方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9429677B2 (en) 2011-10-11 2016-08-30 Saudi Arabian Oil Company High performance and grid computing with fault tolerant data distributors quality of service
WO2013055840A2 (en) * 2011-10-11 2013-04-18 Saudi Arabian Oil Company High performance and grid computing with quality of service control
US9482769B2 (en) * 2011-10-11 2016-11-01 Saudi Arabian Oil Company High performance and grid computing with partitioning quality of service control
US9674033B2 (en) * 2011-10-11 2017-06-06 Saudi Arabian Oil Company High performance and grid computing with liveliness and deadlines fault tolerant data distributor quality of service
KR101694307B1 (ko) * 2012-02-29 2017-01-09 한국전자통신연구원 디스크 캐쉬 효과를 극대화하는 워크플로우 작업 스케줄링 장치 및 방법
US9588994B2 (en) * 2012-03-02 2017-03-07 International Business Machines Corporation Transferring task execution in a distributed storage and task network
JPWO2014103078A1 (ja) * 2012-12-28 2017-01-12 富士通株式会社 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム
KR20140093595A (ko) * 2013-01-18 2014-07-28 서울대학교산학협력단 클러스터 시스템의 계산 디바이스 가상화 방법 및 그 시스템
US9396039B1 (en) * 2013-09-20 2016-07-19 Amazon Technologies, Inc. Scalable load testing using a queue
US10097618B2 (en) 2014-01-15 2018-10-09 Snu R&Db Foundation Cluster system and communication method in cluster system
KR101594915B1 (ko) 2014-01-23 2016-02-17 서울대학교산학협력단 매니코어 클러스터 시스템 상에서 병렬 프로그래밍을 수행하는 방법 및 매니코어 클러스터 시스템
JP6303806B2 (ja) 2014-05-22 2018-04-04 富士通株式会社 並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法
US9495217B2 (en) 2014-07-29 2016-11-15 International Business Machines Corporation Empirical determination of adapter affinity in high performance computing (HPC) environment
US10839420B2 (en) * 2015-07-31 2020-11-17 International Business Machines Corporation Constrained large-data markdown optimizations based upon markdown budget
US9935893B2 (en) * 2016-03-28 2018-04-03 The Travelers Indemnity Company Systems and methods for dynamically allocating computing tasks to computer resources in a distributed processing environment
WO2018009396A1 (en) 2016-07-05 2018-01-11 Saudi Arabian Oil Company High performance and grid computing with liveliness and deadlines fault tolerant data distributor quality of service
CN109032610B (zh) * 2017-06-08 2024-04-09 杭州海康威视数字技术股份有限公司 一种程序包部署方法、电子设备及分布式系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552233B2 (en) * 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
US7418470B2 (en) * 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
US6732147B1 (en) * 2000-07-31 2004-05-04 The Boeing Company Leaving a broadcast channel
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
CN100525288C (zh) * 2000-10-26 2009-08-05 普里斯梅迪亚网络有限公司 网络中大有效负载分布的方法和装置
US7313596B2 (en) * 2001-04-09 2007-12-25 Nippon Telegraph & Telephone Corporation Multicast data communication method, multicast data communication system, repeater, repeating method, and medium for storing repeating programs
US20030167295A1 (en) * 2002-03-01 2003-09-04 Verity, Inc. Automatic network load balancing using self-replicating resources
US7240107B2 (en) * 2002-10-15 2007-07-03 International Business Machines Corporation Self replicating installation method for operating system clusters
WO2004042965A2 (en) * 2002-11-05 2004-05-21 Lightfleet Corporation Optical fan-out and broadcast interconnect
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
JP2006227763A (ja) * 2005-02-15 2006-08-31 Nec Soft Ltd データ共有システム、データ共有方法及びプログラム
JP2007251805A (ja) * 2006-03-17 2007-09-27 Mitsubishi Electric Corp 通信装置およびネットワークシステム
JP4611922B2 (ja) * 2006-03-28 2011-01-12 富士通株式会社 制御プログラム、制御方法および制御装置
US20070233805A1 (en) * 2006-04-02 2007-10-04 Mentor Graphics Corp. Distribution of parallel operations
US7738443B2 (en) * 2007-06-26 2010-06-15 International Business Machines Corporation Asynchronous broadcast for ordered delivery between compute nodes in a parallel computing system where packet header space is limited
US7761687B2 (en) * 2007-06-26 2010-07-20 International Business Machines Corporation Ultrascalable petaflop parallel supercomputer
US8279766B2 (en) * 2007-07-31 2012-10-02 The Hong Kong University Of Science And Technology Interior-node-disjoint multi-tree topology formation
US8381212B2 (en) * 2007-10-09 2013-02-19 International Business Machines Corporation Dynamic allocation and partitioning of compute nodes in hierarchical job scheduling
JP4110205B1 (ja) * 2007-12-28 2008-07-02 三菱電機株式会社 データ転送処理装置およびデータ転送システム
CN102047640B (zh) * 2008-05-28 2016-04-13 汤姆逊许可证公司 多个头的分层级集群化的对等现场流式传输系统
US20100094972A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Hybrid distributed streaming system comprising high-bandwidth servers and peer-to-peer devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119994A (zh) * 2015-08-25 2015-12-02 广州视源电子科技股份有限公司 一种文件传输方法及系统
CN105119994B (zh) * 2015-08-25 2018-12-18 广州视源电子科技股份有限公司 一种文件传输方法及系统
CN106227878A (zh) * 2016-08-03 2016-12-14 杭州数梦工场科技有限公司 一种搜索方法和装置
CN106227878B (zh) * 2016-08-03 2020-01-14 杭州数梦工场科技有限公司 一种搜索方法和装置
CN112751885A (zh) * 2019-10-29 2021-05-04 贵州白山云科技股份有限公司 数据传输系统和方法

Also Published As

Publication number Publication date
JP5681458B2 (ja) 2015-03-11
JP2011118899A (ja) 2011-06-16
CN102486739B (zh) 2015-03-25
US8671134B2 (en) 2014-03-11
US20110138396A1 (en) 2011-06-09
KR20110060849A (ko) 2011-06-08

Similar Documents

Publication Publication Date Title
CN102486739B (zh) 高性能计算集群中分发数据的方法和系统
CN107534583B (zh) 在管理节点中实现的方法和相关装置
CN103797463A (zh) 用于在云环境中指派虚拟资源的方法和设备
CN105045856B (zh) 一种基于Hadoop的大数据遥感卫星数据处理系统
US8903981B2 (en) Method and system for achieving better efficiency in a client grid using node resource usage and tracking
CN101951411A (zh) 云调度系统及方法以及多级云调度系统
CN107291536B (zh) 一种云计算环境下应用任务流调度方法
CN112104491B (zh) 面向服务的网络虚拟化资源管理方法
CN102027732A (zh) 经由因特网协议网络提供对服务器应用程序的访问
CN103338252A (zh) 一种分布式数据库并发存储虚拟请求机制
US8606908B2 (en) Wake-up server
CN103944997A (zh) 结合随机抽样和虚拟化技术的负载均衡方法
CN105656964B (zh) 数据推送的实现方法及装置
CN102420863A (zh) 一种快速分发文件系统和方法及装置
CN100558071C (zh) 一种链路资源管理方法及传送网络和网络设备
CN112565475B (zh) 容器集群业务层添加新节点的ip地址分配方法
US20160006617A1 (en) Cloud application bandwidth modeling
CN112311836A (zh) 调度服务节点的方法及相关装置
CN116016307A (zh) 一种传递算力网络参数的方法及装置、电子设备
CN203951500U (zh) 一种基于p2p技术的无线传感器网络
JP4375054B2 (ja) ネットワークノード装置およびサーバ装置ならびにマルチキャストツリー構築方法およびプログラム
CN116436978B (zh) 面向云计算的内存分配方法、内存获取方法、装置和设备
CN106100961A (zh) 一种基于无限带宽的直连架构计算集群系统及构建方法
CN113014611B (zh) 一种负载均衡方法及相关设备
WO2024009367A1 (ja) デバイス割当制御装置、デバイス割当制御方法及びプログラム

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

Granted publication date: 20150325

Termination date: 20201130

CF01 Termination of patent right due to non-payment of annual fee