并行处理系统以及并行处理方法

文档序号:6417311阅读:230来源:国知局
专利名称:并行处理系统以及并行处理方法
技术领域
本发明涉及相互之间经由通信线路连接的多个计算机重复执行并行处理的并行处理系统以及并行处理方法。
图21是展示以往的并行处理系统的构成图,在图中,11是具有将数据发送到其他计算机的发送功能、从其他计算机接收数据的接收功能、执行规定运算的运算功能以及保存数据的功能的计算机,12~15是具有将数据发送到其他计算机的发送功能、从其他计算机接收数据的接收功能以及执行规定的运算的运算功能的计算机,A~J是连接2台计算机之间的通信线路。
以下说明以往的并行处理系统的有关的动作。
计算机11~15,相互使用在其他计算机中的运算结果,通过执行规定的运算,重复执行并行处理。因而,计算机11~15,一边从其他的计算机接收运算所需要的数据,一边重复规定的运算处理。以下,以将各计算机的运算结果集中保存在计算机11中的并行处理系统为一例说明。
1.在计算机11中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机12接收在第n-1次的重复处理中执行的计算机12的运算结果。
·从计算机13接收在第n-1次的重复处理中执行的计算机13的运算结果。
·从计算机14接收在第n-1次的重复处理中执行的计算机14的运算结果。
·从计算机15接收在第n-1次的重复处理中执行的计算机15的运算结果。
B.保存处理·将在计算机11、计算机12、计算机13、计算机14以及计算机15中的第n-4次的重复处理的运算结果保存在存储装置中。
C.运算处理·使用在计算机11中的第n-1次的重复处理的运算结果,和在计算机12中的第n-1次的重复处理的运算结果,执行规定的运算。
D.发送处理·将在计算机11中的第n次重复处理的运算结果发送到计算机12中。
2.在计算机12中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机11接收在第n-1次的重复处理中执行的计算机11的运算结果。
·从计算机13接收在第n-1次的重复处理中执行的计算机13的运算结果。
·从计算机15接收在第n-1次的重复处理中执行的计算机15的运算结果。
B.运算处理·使用在计算机11中的第n-1次的重复处理的运算结果、在计算机12中的第n-1次的重复处理的运算结果、在计算机13中的第n-1次的重复处理的运算结果、在计算机15中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机12中的第n次的重复处理的运算结果发送到计算机11中。
·将在计算机12中的第n次的重复处理的运算结果发送到计算机13中。
·将在计算机12中的第n次的重复处理的运算结果发送到计算机15中。
3.在计算机13中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机12接收在第n-1次的重复处理中执行的计算机12的运算结果。
·从计算机14接收在第n-1次的重复处理中执行的计算机14的运算结果B.运算处理·使用在计算机12中的第n-1次的重复处理的运算结果、在计算机13中的第n-1次的重复处理的运算结果、在计算机14中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机13中的第n次的重复处理的运算结果发送的计算机11。
·将在计算机13中的第n次的重复处理的运算结果发送到计算机12。
·将在计算机13中的第n次的重复处理的运算结果发送到计算机14。
4.在计算机14中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机13接收在第n-1次的重复处理中执行的计算机13的运算结果。
B.运算处理·使用在计算机13中的第n-1次的重复处理的运算结果、在计算机14中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机14中的第n次的重复处理的运算结果发送到计算机11中。
·将在计算机14中的第n次的重复处理的运算结果发送到计算机13中。
5.在计算机15中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机12接收在第n-1次的重复处理中执行的计算机12的运算结果。
B.运算处理·使用在计算机12中的第n-1次的重复处理的运算结果、在计算机15中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机15中的第n次的重复处理的运算结果发送到计算机11中。
·将在计算机15中的第n次的重复处理的运算结果发送到计算机12中。
在此,为了易于说明,假定在计算机11~15的运算处理中所需要的时间为TC1、TC2、TC3、TC4、TC5,并假定计算机11~15向其他的计算机发送的数据的发送时间不管数据量多少一律定为TS。另外,假定计算机11~15从其他的计算机接收数据所需要的接收时间为TR,计算机11在保存处理中保存数据所需要的保存时间为TM。其中,假定计算机11~15发送数据之后,到其他的计算机接收数据前所花费的延迟时间小到可以忽视。另外,在此为了易于说明将TR和TS的关系设定为TR=3TS。
如果如上述那样假定各处理时间,则在计算机11~15中的1次重复处理所需要的时间如下。
计算机14TR+TM+TC1+TS计算机23TR+TC+3TS计算机32TR+TC3+3TS计算机4TR+TC4+2TS计算机5TR+TC5+2TS因而,如果假定TC=TC1=TC2=TC3=TC4=TC5,则计算机11的处理负荷变为最大,并行处理系统的执行速度,由计算机1的处理时间决定。
因为以往的并行处理系统如上述那样构成,所以如果计算机11~15可以从其他的计算机接收数据,则可以并行执行规定的运算处理,但由于计算机11~15在1次的重复处理中,从其他计算机接收所需要的全部数据,所以如果所需要的数据增加,则存在数据通信次数增加,系统整体的处理速度降低等的问题。
本发明就是为了解决上述那样的问题而提出的,其目的在于得到可以减少数据的通信次数,提高系统整体的处理速度的并行处理系统以及并行处理方法。
涉及本发明的第1方面的并行处理系统,由包括将数据发送到其他的计算机的发送装置、从其他的计算机接收数据的接收装置、执行规定的运算的运算装置并重复执行规定的处理的多台计算机构成,另外,各计算机在将数据发送到目标计算机时,当数据是目标计算机要求即时接收的数据以外的数据的情况下经由另一计算机将数据发送到该目标计算机。
另外,在上述构成的系统中,各计算机,预先存储和其他的计算机进行发送接收的通信分组内的数据的位置,以及数据即时转送的必要性等的信息。
进而,在上述构成的系统中,担负计算机的发送功能以及接收功能的通信装置被连接在计算机上。
涉及本发明的第2方面的并行处理方法,通过使用具有将数据发送到其他的计算机的发送装置、从其他的计算机接收数据的接收装置、执行规定的运算的运算装置,重复执行规定的处理的多台计算机实现,另外,各计算机在将数据发送到目标计算机时,当数据是该计算机要求即时接收的数据以外的数据的情况下经由另一计算机将数据发送到该目标计算机。


图1是展示本发明的实施例1的并行处理系统的构成图。
图2是展示由本发明的实施例1的并行处理系统实施的并行处理方法的流程图。
图3是展示从计算机1发送到计算机2的通信数据结构的数据结构图。
图4是展示从计算机2发送到计算机1的通信数据结构的数据结构图。
图5是展示从计算机2发送到计算机3的通信数据结构的数据结构图。
图6是展示从计算机3发送到计算机2的通信数据结构的数据结构图。
图7是展示从计算机3发送到计算机4的通信数据结构的数据结构图。
图8是展示从计算机4发送到计算机3的通信数据结构的数据结构图。
图9是展示从计算机2发送到计算机5的通信数据结构的数据结构图。
图10是展示从计算机5发送到计算机2的通信数据结构的数据结构图。
图11是展示数据的位置·转送信息的表。
图12是展示从计算机1发送到计算机2的通信数据结构的数据结构图。
图13是展示从计算机2发送到计算机1的通信数据结构的数据结构图。
图14是展示从计算机2发送到计算机3的通信数据结构的数据结构图。
图15是展示从计算机3发送到计算机2的通信数据结构的数据结构图。
图16是展示从计算机3发送到计算机4的通信数据结构的数据结构图。
图17是展示从计算机4发送到计算机3的通信数据结构的数据结构图。
图18是展示从计算机2发送到计算机5的通信数据结构的数据结构图。
图19是展示从计算机5发送到计算机2的通信数据结构的数据结构图。
图20是展示本发明的实施例3的并行处理系统的构成图。
图21是展示以往的并行处理系统的构成图。
以下,说明本发明的实施例。
实施例1图1是展示本发明的实施例1的并行处理系统的构成图,在图中,1是具有发送数据到其他计算机的发送功能、从其他的计算机接收数据的接收功能、执行规定的运算的运算功能以及保存数据的功能的计算机,2~5是具有发送数据到其他计算机的发送功能、从其他的计算机接收数据的接收功能以及执行规定的运算的运算功能的计算机,A~J是连接2台计算机之间的通信线路。
进而,图2是展示本发明的实施例1的并行处理方法的流程图,概略地展示在各计算机中的重复处理。
以下说明动作。
计算机1~5,通过相互使用在其他的计算机中的运算结果,执行规定的运算,重复执行并行处理。因而,计算机1~5,一边从其他的计算机接收运算所需要的数据,一边重复规定的运算处理。
以下,参照图1、2说明将各计算机的运算结果集中在计算机1中保存的并行处理系统(并行处理系统的最终的处理结果,和在以往例的栏中记述的并行处理系统相同,但在1次重复处理中各计算机的处理内容不同)。
1.在计算机1中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机2接收在第n-1次的重复处理中执行的计算机2的运算结果、在第n-2次的重复处理中执行的计算机3的运算结果、在第n-3次的重复处理中执行的计算机4的运算结果、在第n-2次的重复处理中执行的计算机5的运算结果。
B.保存处理·将在计算机1、计算机2、计算机3、计算机4以及计算机5中的第n-4次重复处理的运算结果保存在存储装置中。
C.运算处理·使用在计算机1中的第n-1次的重复处理的运算结果,和在计算机2中的第n-1次的重复处理的运算结果,执行规定的运算。
D.发送处理·将在计算机1中的第n次重复处理的运算结果发送到计算机2中。
2.在计算机2中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机1接收在第n-1次的重复处理中执行的计算机1的运算结果。
·从计算机3接收在第n-1次的重复处理中执行的计算机3的运算结果,和在第n-2次的重复处理中执行的计算机4的运算结果。
·从计算机5接收在第n-1次的重复处理中执行的计算机5的运算结果。
B.运算处理·使用在计算机1中的第n-1次的重复处理的运算结果、在计算机2中的第n-1次的重复处理的运算结果、在计算机3中的第n-1次的重复处理的运算结果、在计算机5中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机2中的n次的重复处理的运算结果、在计算机3中的第n-1次的重复处理的运算结果、在计算机4中的第n-2次的重复处理的运算结果、在计算机5中的第n-1次的重复处理的运算结果发送到计算机1中。
·将在计算机2中的n次的重复处理的运算结果发送到计算机3中。
·将在计算机2中的n次的重复处理的运算结果发送到计算机5中。
3.在计算机3中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机2接收在第n-1次的重复处理中执行的计算机2的运算结果。
·从计算机4接收在第n-1次的重复处理中执行的计算机4的运算结果。
B.运算处理·使用在计算机2中的第n-1次的重复处理的运算结果、在计算机3中的第n-1次的重复处理的运算结果、在计算机4中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机3中的第n次的重复处理的运算结果,在计算机4中的第n-1重复处理的运算结果发送到计算机2。
·将在计算机3中的第n次的重复处理的运算结果发送到计算机4。
·从计算机13接收在第n次的重复处理中执行的计算机4的运算结果。
4.在计算机4中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机3接收在第n-1次的重复处理中执行的计算机3的运算结果。
B.运算结果。
·使用在计算机3中的第n-1次的重复处理的运算结果、在计算机4中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机4中的第n次的重复处理的运算结果发送到计算机3中。
5.在计算机5中的第n次的重复处理(n=1,2,3,……)A.接收处理·从计算机2接收在第n-1次的重复处理中执行的计算机2的运算结果。
B.运算结果·使用在计算机2中的第n-1次的重复处理的运算结果、在计算机5中的第n-1次的重复处理的运算结果,执行规定的运算。
C.发送处理·将在计算机5中的第n次的重复处理的运算结果发送到计算机2。
如上所述,并行处理系统的最终的处理结果,和被记录在以往例栏中的并行处理系统相同(参照在计算机1中的保存处理),但在1次重复处理中的各计算机的处理内容不同。
各计算机的处理内容不同的理由是为了减少各计算机之间的通信次数,具体如下。
即,在以往的并行处理系统中,例如,计算机1在第n次的重复处理中,因为需要在第n-1次的重复处理中执行的计算机2的运算结果,所以计算机2在每次重复处理中,需要将其运算结果发送到计算机1。
另一方面,虽然计算机1在第n次的重复处理中,执行将计算机3、4、5的运算结果保存在存储装置中的保存处理,但因为这些计算结果,是在第n-4次的重复处理中执行的计算机3、4、5的运算结果,所以计算机3、4、5在每次重复处理时,不需要将这些运算结果发送到计算机1。
因而,如果不在每次重复处理时发送,则在其他计算机的处理中有故障的数据(运算结果),在运算处理结束后,直接发送到其他的计算机,但即使在每次重复处理时不发送,在其他的计算机的处理中没有故障的数据(运算结果),也通过包括在其他的数据(运算结果)中被发送,从而减少通信次数。
进而,需要在每次重复处理中发送的运算结果如下。
必须通信组·计算机1→计算机2(在第n次的重复处理中的计算机1的运算结果)·计算机2→计算机1(在第n次的重复处理中的计算机2的运算结果)·计算机2→计算机3(在第n次的重复处理中的计算机2的运算结果)·计算机2→计算机5(在第n次的重复处理中的计算机2的运算结果)·计算机3→计算机2(在第n次的重复处理中的计算机3的运算结果)·计算机3→计算机4(在第n次的重复处理中的计算机3的运算结果)·计算机4→计算机3(在第n次的重复处理中的计算机4的运算结果)·计算机5→计算机2(在第n次的重复处理中的计算机5的运算结果)其中,箭头表示从左边的计算机向右边的计算机进行通信。
在每次重复处理中不需要发送的运算结果如下。
·计算机3→计算机2→计算机1(在第n-4次的重复处理中的计算机3的运算结果)·计算机4→计算机3→计算机2→计算机1
(在第n-4次的重复处理中的计算机4的运算结果)·计算机5→计算机2→计算机1(在第n-4次的重复处理中的计算机5的运算结果)例如,计算机3的运算结果,表示从计算机3经由计算机2发送到计算机1。
由此,各计算机,因为不需要在每次重复处理中发送的运算结果,根据时间上的富裕,可以经由其他的计算机,发送到目标计算机,所以可以在有必须对该目标计算机发送运算结果时(发送每次重复处理的运算结果时),包含在该运算结果中同时发送,其结果,可以减少系统整体的通信次数。
在此,在本实施例1中的计算机1~5的1次重复处理中所需要的时间如下。
计算机1TR+TM+TC1+TS计算机23TR+TC2+3TS计算机32TR+TC3+2TS计算机4TR+TC4+TS计算机5TR+TC5+TS因而,如果设TC=TC1=TC2=TC3=TC4=TC5(但是,假设TM与TR等相比是非常短的时间),则计算机2的处理负荷变为最大,并行处理系统的执行速度,由计算机2的处理时间决定。
因此,1次重复处理所需要的时间,变为3TR+TC+3TS,但比在以往的并行处理系统中,即1次重复处理所需要的时间4TR+TM+TC+TS还短,系统整体的处理速度被提高。
实施例2在上述实施例1中,展示了不需要在每次重复处理中发送的运算结果,经由另一的计算机发送到其他的计算机的过程,但需要接收运算结果的计算机可以识别是否是给自己的数据(运算结果),是否是转送给其它的计算机的数据(运算结果)。
在上述实施例1中,未特别涉及数据的识别方法,但一般来说,是在发送数据(运算结果)上附加标题信息(数据的发送地址信息、数据量等的数据属性信息),将发送数据和标题作为一对信息发送。
进而,图3~图10,展示在各计算机之间发送接收的数据的构成。各图中的数字表示该数据是否被存储在数据中的某几个字节中的数据。
进而详细说明在这些图中展示的各种数据。
·数据-1-2-c在计算机2中的第n+1次重复处理中运算所需要的数据(计算机1→计算机2)·数据-2-1-c在计算机1中的第n+1次的重复处理中运算所需要的数据(计算机2→计算机1)·数据-2-1-r在计算机1中的第n+4次的重复处理中保存所需要的数据(计算机2→计算机1)·数据-3-1-r在计算机1中的第n+4次重复处理中保存所需要的数据(计算机3→计算机1)·数据-4-1-r在计算机1中的第n+4次的重复处理中保存所需要的数据(计算机4→计算机1)·数据-5-1-r在计算机1中的第n+4次的重复处理中保存所需要的数据(计算机5→计算机1)·数据-2-3-c在计算机3中的第n+1次的重复处理中运算所需要的数据(计算机2→计算机3)·数据-3-2-c在计算机2中的第n+1次的重复处理中运算所需要的数据(计算机3→计算机2)·数据-3-4-c在计算机4中的第n+1次的重复处理中运算所需要的数据(计算机3→计算机4)·数据-4-3-c在计算机3中的第n+1次的重复处理中运算所需要的数据(计算机4→计算机3)·数据-2-5-c在计算机5中的第n+1次的重复处理中运算所需要的数据(计算机2→计算机5)·数据-5-2-c在计算机2中的第n+1次的重复处理中运算所需要的数据(计算机5→计算机2)但是,在这样的方法中在每次各通信时,各计算机,因为需要参照标题信息,识别数据接收地址和数据属性(数据量等),所以各计算机的负荷大,致使系统整体的处理速度降低。
可是,在使用重复处理的并行计算中所需要的通信,大多是同样的计算机在同样的定时重复同样量的数据。
由此,在本实施例2中,在使用这种重复处理的并行计算中,在进入重复处理之前,预先在计算机之间共有(参照图11)某台计算机在何时向哪台计算机发送哪种量之类的数据的位置·转送信息。
由此,在重复计算执行中,如果从某个计算机发送通信分组(数据群),因为可以不参照标题信息,直接识别构成通信分组的各数据的转送地址,所以可以快速地执行数据的转送。另外,对于发送数据,因为不需要包含与发送目的地计算机等有关的信息,所以还可以减少发送的数据的数据量,可以提高系统整体的处理速度。
进而,图12~图19,展示各计算机接收的数据,但从图中可知,不将标题信息附加在数据中,而只发送所谓的数据(运算结果)。
实施例3在上述实施例1、2中,除了展示各计算机运算处理之外,还展示了负担发送处理和接收处理的部分,但如图20所示,也可以将计算机1~5的负担发送处理和接收处理的通信装置6~10连接在计算机1~5上。
由此,因为计算机1~5,可以不执行发送处理和接收处理(通信装置6~10代替计算机1~5,执行发送处理和接收处理),而执行运算处理,所以计算机1~5的负荷被减轻,系统整体的处理速度提高。
实施例4在上述实施例1~3中,展示各计算机,经由其他的计算机和通信线路A~J相互连接的情况,但并不限于此,当然也可以例如通过总线型的网络连接。
如上所述,如果采用本发明,因为其构成是,在各计算机向其他的计算机发送数据时,对于其他的计算机要求即时接收的数据以外的数据经由另一计算机发送的其他的计算机,所以可以减少数据的通信次数,其结果,具有可以得到高速处理的并行处理系统的效果。
如果采用本发明,因为其构成是,各计算机预先存储和其他的计算机进行发送接收的通信分组内的数据的位置·转送信息,所以不附加标题信息就可以识别数据的发送目的地等,其结果,进一步具有可以得到高速处理的并行处理系统的效果。
如果采用本发明,因为其构成是,将负担计算机的发送功能以及接收功能的通信装置连接在各计算机上,所以具有可以减少计算机的负荷,提高系统整体的处理速度的效果。
如果采用本发明,因为其构成是,在各计算机向其他计算机发送数据时,对其他计算机要求即时接收的数据以外的数据经由另一计算机发送到其他计算机,所以可以得到减少数据的通信次数,提高系统整体的处理速度的效果。
如果采用本发明,因为其构成是,预先各计算机存储和其他的计算机进行发送接收的通信分组内的数据的位置·转送信息,所以不需要附加标题信息,就可以识别数据的目的地等,其结果,进一步具有提高系统整体的处理速度的效果。
如果采用本发明,因为其构成是,将负担计算机的发送功能以及接收功能的通信装置连接在各计算机上,所以具有可以减少计算机的负荷,提高系统整体的处理速度的效果。
权利要求
1.一种并行处理系统,其由包括将数据发送到其他的计算机的发送装置、从其他的计算机接收数据的接收装置、执行规定的运算的运算装置并重复执行规定的处理的多台计算机构成,其特征在于各计算机在将数据发送到目标计算机时,当该目标计算机要求即时接收的数据以外的数据的情况下将该数据经由另一计算机发送到该目标计算机。
2.如权利要求1所述的并行处理系统,其特征在于负担计算机的发送功能以及接收功能的通信装置被连接在各计算机上。
3.如权利要求1所述的并行处理系统,其特征在于各计算机,预先存储和其他的计算机进行发送接收的通信分组内的数据的位置以及数据的转送的即时必要性等的信息。
4.如权利要求3所述的并行处理系统,其特征在于负担计算机的发送功能以及接收功能的通信装置被连接在各计算机上。
5.一种并行处理系统,用于通过使用包括将数据发送到其他的计算机的发送装置、从其他的计算机接收数据的接收装置、执行规定的运算的运算装置并重复执行规定的处理的多台计算机执行并行处理,其特征在于在将各计算机数据发送到目标计算机时,当数据是该目标计算机要求即时接收的数据以外的数据的情况下,经由另一计算机发送到该目标计算机。
6.如权利要求5所述的并行处理方法,其特征在于负担计算机的发送功能以及接收功能的通信装置被连接在各计算机上。
7.如权利要求5所述的并行处理方法,其特征在于各计算机,预先存储和其他的计算机进行发送接收的通信分组内的数据的位置以及数据的转送的即时必要性等的信息。
8.如权利要求7所述的并行处理方法,其特征在于负担计算机的发送功能以及接收功能的通信装置被连接在各计算机上。
全文摘要
并行处理系统,具有执行规定的重复处理的多台计算机1~5,当这些计算机各自要发送的数据,是发送目标计算机要求即时接收的数据以外的数据的情况下,经由第3计算机向该目标计算机发送数据。因此,可以抑制数据的通信次数,其结果,可以得到系统整体的处理速度高的并行处理系统。
文档编号G06F15/16GK1253334SQ9912362
公开日2000年5月17日 申请日期1999年10月29日 优先权日1998年10月29日
发明者藤本康 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1