CN101198950A - 分布式处理系统、分布式处理方法以及程序 - Google Patents
分布式处理系统、分布式处理方法以及程序 Download PDFInfo
- Publication number
- CN101198950A CN101198950A CNA2006800212371A CN200680021237A CN101198950A CN 101198950 A CN101198950 A CN 101198950A CN A2006800212371 A CNA2006800212371 A CN A2006800212371A CN 200680021237 A CN200680021237 A CN 200680021237A CN 101198950 A CN101198950 A CN 101198950A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- processing element
- storage part
- preserved
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种分布式处理系统、分布式处理方法以及程序,该系统是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理系统,第一处理部将数据保存到第一存储部,并且向第二接收部发送发送开始请求,第二接收部向第一发送部发送上述数据的发送开始应答,接收到上述发送开始应答的上述第一发送部向上述第二接收部发送上述第一存储部中所保存的上述数据,上述第二接收部将所接收的上述数据保存到上述第二存储部,并且向上述第二处理部通知上述数据的接收,收到上述接收通知的上述第二处理部读出上述第二存储部中所保存的上述数据。
Description
技术领域
本发明涉及分布式处理系统,尤其涉及在设置于分别不同的基板上的处理部件(processing element)之间进行数据的发送、接收的分布式处理系统、分布式处理方法及其程序。
背景技术
公知有多个处理器协调进行处理的各种分布式处理系统。在此,作为最简单的结构例,以往提出了在设置于同一基板例如同一母基板内的多个处理器之间发送和接收数据的结构(例如,参照以下的文献1)。
(文献1)マシユ一,エヌ.,スト一ンズ,ア一ル(Matthew,N.,Stones,R.)著、[Linuxプログラミング(Beginning Linux Programming)」、(米国)、改定第2版、ワイリ一パブリツシング(Wiley Publishing)、2003年、P.615-623
在文献1所提出的结构中,在同一基板内共享一个存储部。根据该结构,在同一基板内的多个处理器之间,在某种程度上能够有效地进行数据的发送和接收。
在多个程序同时启动运行的状态、即执行多个进程的状态下,对运行多个进程的定时、以及数据的发送或接收的定时进行最优化是尤为重要的。如现有技术那样,在同一基板内,能够实现多个进程的运算处理的某种程度上的高速化。
然而,例如像全球规模的气象仿真那样,为了更进一步的高速化,期望跨越不同的基板有效地执行多个进程。此时,多个处理部有时具有同一功能、有时具有各自不同的功能。而且,在任何时候多个处理部为了数据的发送或接收、即数据通信,无法充分发挥其处理能力的情况较多。因此,在同一基板内和不同的基板之间不易实现由多个处理部高速执行多个进程。
发明内容
本发明是鉴于上述问题而作出的,其目的在于提供一种能够高速有效地执行多个进程的分布式处理系统、分布式处理方法以及程序。
为了解决上述问题并达到目的,根据第一本发明,能够提供一种分布式处理系统,该系统是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理系统,其特征在于,处理部将数据保存到存储部的规定区域、或者读出存储部的规定区域中所保存的数据,一个处理部件的通信部向另一个处理部件发送从存储部读出的数据、或者将从另一个处理部件接收到的数据保存到存储部。
另外,根据本发明的优选方式,优选的是,通信部具有发送部和接收部的至少任意一个,一个处理部件的接收部将从另一个处理部件接收到的数据直接保存到一个处理部件的存储部的规定区域,一个处理部件的发送部将一个处理部件的存储部的规定区域中所保存的数据向另一个处理部件发送。
另外,根据本发明的优选方式,优选的是,两个以上的处理部件分别设置在不同基板上。
另外,根据本发明的优选方式,优选的是,两个以上的处理部件优选分别设置在同一基板上。
另外,根据本发明的优选方式,优选的是,同一个存储部兼用作一个处理部件的存储部和另一个处理部件的存储部。
另外,根据本发明的优选方式,优选的是,自发送存储部中所保存的数据起、到接收到数据的接收完成的期间,发送部处于省电状态。
另外,根据本发明的优选方式,优选的是,在两个以上的处理部件之间的数据和控制信息的发送和接收中,使用MPI。
另外,根据第二本发明,能够提供一种分布式处理方法,该方法是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理方法,该方法包括:处理部将数据保存到存储部的规定区域、或者读出存储部的规定区域中所保存的数据的步骤;和一个处理部件的通信部向另一个处理部件发送从存储部读出的数据、或者将从另一个处理部件接收到的数据保存到存储部的步骤。
另外,根据本发明的优选方式,优选的是,通信步骤还包括接收步骤和发送步骤,在接收步骤中,一个处理部件的接收部将从另一个处理部件接收到的数据直接保存到一个处理部件的存储部的规定区域,在发送步骤中,一个处理部件的发送部将一个处理部件的存储部的规定区域中所保存的数据向另一个处理部件发送。
另外,根据本发明的优选方式,优选的是,在通信步骤中,在分别设置于不同基板上的两个以上的处理部件之间,至少进行数据的发送或接收。
另外,根据本发明的优选方式,优选的是,在通信步骤中,在分别设置于同一基板的两个以上的处理部件之间,至少进行数据的发送或接收。
另外,根据本发明的优选方式,优选的是,同一个存储部优选兼用作一个处理部件的存储部和另一个处理部件的存储部。
另外,根据本发明的优选方式,优选的是,一个处理部件包括第一处理部、第一存储部和第一通信部,另一个处理部件包括第二处理部、第二存储部和第二通信部,分布式处理方法包括:第一数据保存步骤,在该步骤中,第一处理部将数据保存到第一存储部的规定区域;数据发送步骤,在该步骤中,第一发送部向其他处理部件发送第一存储部中所保存的数据;第二数据保存步骤,在该步骤中,将其他处理部件的第二接收部接收到的数据直接保存到第二存储部的规定区域;和数据读出步骤,在该步骤中,第二处理部读出第二存储部中所保存的数据。
另外,根据本发明的优选方式,优选的是,上述分布式处理方法包括:在第一存储部中保存了数据的第一处理部向第二接收部发送数据的发送开始请求的步骤;接收到数据的发送开始请求的第二接收部向第一发送部发送数据的发送开始应答的步骤;接收到数据的发送开始应答的第一发送部向第二接收部发送第一存储部中所保存的数据的步骤;接收到数据的第二接收部将所接收的数据保存到第二存储部的步骤;在第二存储部中保存了数据的第二接收部向第二处理部通知数据的接收的步骤;和收到数据的接收通知的第二处理部读出第二存储部中所保存的数据的步骤。
另外,根据本发明的优选方式,优选的是,上述分布式处理方法还包括:读出数据的第二处理部向第一发送部发送数据的接收完成的步骤;和接收到数据的接收完成的第一发送部向第一处理部通知数据的接收完成的步骤。
另外,根据本发明的优选方式,优选的是,自发送第一存储部中所保存的数据起、到接收到数据的接收完成的期间,第一发送部处于不会对包括第一处理部的一个处理部件的处理能力带来影响的状态,自发送数据的发送开始应答起、到接收到数据的期间,第二接收部处于不会对包括第二处理部的另一个处理部件的处理能力带来影响的状态。
另外,根据本发明的优选方式,优选的是,在两个以上的处理部件之间的数据和控制信息的发送和接收中,使用MPI。
另外,根据第三本发明的优选方式,能够提供一种由计算机可读取的程序,该程序是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理系统用的程序,其特征在于,该程序使计算机发挥如下功能:处理部将数据保存到存储部的规定区域、或者读出存储部的规定区域中所保存的数据,一个处理部件的通信部向另一个处理部件发送从存储部读出的数据、或者将从另一个处理部件接收到的数据保存到存储部。
本发明相关的分布式处理系统使分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来。处理部将数据保存到存储部的规定区域或者读出存储部的规定区域中所保存的数据。一个处理部件的通信部向另一个处理部件发送从存储部读出的数据、或者将从另一个处理部件接收到的数据保存到存储部。由此,通信部在进行数据的发送或接收的期间,处理部能够执行与数据通信不同的其他处理。因而,处理部不会为了数据通信而中断自己的处理、或者降低处理能力。由此,处理部能够始终提高运转率。其结果,能够提供一种高速有效地执行多个进程的分布式处理系统。
附图说明
图1是表示本发明的实施例1的处理部件的结构的图。
图2是表示多个处理部件之间的通信的概要的图。
图3是表示2个处理部件之间的通信的概要的图。
图4是表示实施例1的第一处理部的步骤的流程图。
图5是表示实施例1的第一发送部的步骤的流程图。
图6是表示实施例1的第二接收部的步骤的流程图。
图7是表示实施例1的第二处理部的步骤的流程图。
图8A~8F是实施例1的分布式处理系统的时序图(timing chart)。
图9是表示本发明的实施例2的处理部件的结构的图。
图10是表示实施例2的本地存储器映射(local memory map)的结构的图。
图11是表示实施例2的MAIL_CONTROL的结构的图。
图12是表示实施例2的命令用信箱区(mailbox)的结构的图。
图13是详细地表示实施例2的命令的图。
图14是表示实施例2的命令用信箱区的使用例的图。
图15是表示实施例2的第一处理部的步骤的流程图。
图16是表示实施例2的第一发送部的步骤的流程图。
图17是表示实施例2的第二接收部的步骤的流程图。
图18是表示实施例2的第二处理部的步骤的流程图。
图19是表示实施例2的分布式处理系统的顺序(sequence)的图。
图20是表示实施例3的分布式处理系统的概略结构的图。
具体实施方式
以下,对本发明相关的分布式处理系统、分布式处理方法和程序进行说明。另外,本发明不会限定于本实施例。
(实施例1)
对本发明的实施例1相关的分布式处理系统进行说明。图1表示处理部件100的概略结构。处理部件100具有存储部101、处理部102、发送部103和接收部104。发送部103和接收部104对应通信部。
处理部102处理数据。发送部103向发送数据的对方侧的处理部件的接收部发送数据。接收部104接收来自请求过数据发送的处理部件的发送部的数据。另外,存储部101存储发送或接收的数据、和控制通信的信息(以下,适当地称作“命令”)。
图2是表示具备2个以上例如6个处理部件100、200、300、400、500、600的分布式处理系统。例如,处理部件100与其他处理部件200、处理部件300、或处理部件500之间,能够分别进行数据的发送或接收。
处理部件100、200、300、400、500、600既可以分别设置于同一基板内,也可以分别设置于不同的基板内。
为了容易理解,考虑2个处理部件100、200之间的数据通信。采用图3,对从处理部件100向处理部件200的数据发送进行说明。在此,处理部件100设置于基板MB1上。另外,处理部件200设置于其他基板MB2上。
第一处理部件100具备第一存储部101、第一处理部102、第一发送部103、第一接收部104。另外,第二处理部件200具备第二存储部201、第二处理部202、第二发送部204、第二接收部203。
第一处理部102进行将数据保存到第一存储部101的规定区域的动作、或者读出第一存储部101的规定区域中所保存的数据的动作。第一处理部件100的第一接收部104将从另一个处理部件200所接收的数据直接保存到一个处理部件100的第一存储部101的规定区域。另外,一个处理部件100的第一发送部103向另一个处理部件200发送一个处理部件100的第一存储部101的规定区域中所保存的数据。这样,在处理部件100中,在第一处理部102与第一发送部103之间、或者在第一处理部102与第一接收部104之间不进行直接通信。
另外,当从处理部件100向处理部件200发送数据时,不使用第一接收部104和第二发送部204。以下,采用流程图,说明第一处理部102、第一发送部103、第二接收部203、第二处理部202各自的主要的处理步骤。另外,后面在实施例2中进一步叙述详细的处理步骤。
图4是表示第一处理部102的处理步骤的流程图。在步骤S401中,判断第一存储部101能否使用。当步骤S401的判断结果为真(是)时,在步骤S402中,第一处理部102处理数据,并将处理结果保存到第一存储部101的规定区域。当判断结果为假(否)时,重复步骤S401。
在步骤S402中,判断第二存储部201能否使用。当步骤S402的判断结果为真时,第一处理部102设置第一存储部使用标志符(flag)和第二存储部使用标志符。另外,当判断结果为假时,重复步骤S403。在步骤S405中,第一处理部102向第二接收部203发送数据发送开始请求。然后,返回到步骤S401,再次进行同样的处理步骤。
图5是表示第一发送部103的处理步骤的流程图。在步骤S501中,判断是否从第二接收部203接收到数据发送开始应答。当步骤S501的判断结果为真时,在步骤S502中,第一发送部103向第二接收部203发送第一存储部101中所保存的数据。另外,当判断结果为假时,重复步骤S501。
在步骤S503中,将第一存储部使用标志符清零(clear)。由此,能够使用第一存储部101。在步骤S504中,判断是否从第二处理部接收到数据接收完成。当步骤S504的判断结果为假时,重复步骤S504。当判断结果为真时,在步骤S505中,将第二存储部使用标志符清零。由此,能够使用第二存储部201。然后,返回到步骤S501,再次进行同样的处理步骤。
图6是表示第二发送部203的处理步骤的流程图。在步骤S601中,判断是否从第一处理部102接收到数据发送开始请求。当步骤S601的判断结果为真时,在步骤S602中,第二接收部203向第一发送部103发送数据发送开始应答。当判断结果为假时,重复步骤S601。
在步骤S603中,第二接收部203接收数据。然后,第二接收部203将所接收的数据保存到第二存储部201的规定区域。在步骤S604中,向第二处理部202通知接收到数据。
图7是表示第二处理部202的处理步骤的流程图。在步骤S701中,判断第二接收部203是否告知了数据接收。当步骤S701的判断结果为真时,在步骤S702中,第二处理部202将第二存储部201的规定区域中所保存的数据复制到其他区域例如工作存储器中。当判断结果为假时,重复步骤S701。
在步骤S703中,向第一发送部103发送数据接收完成。在步骤S704中,第二处理部202对复制后的数据进行处理。
图8A、8B、8C、8D、8E、8F是分别表示第一处理部102、第一发送部103、第二接收部203、第二处理部202、第一存储部使用标志符、第二存储部使用标志符的时序图。在时序图中,将处理部、发送部、接收部正在执行处理的状态表示为Hghgh、将待机的状态表示为Low。
根据图8A可知,第一处理部102除了第一存储部101和第二存储部201不可使用的时间之外处于High状态、即能够执行处理的状态。因此,当从处理部件100向处理部件200发送数据时,能够大幅降低因通信而导致的处理中断。其结果,能够使第一处理部102高效率地运转。
另外,根据图8B可知,第一发送部103自发送第一存储部101所保存的数据起、到接收到数据的接收完成的期间,处于省电状态。
另外,作为分布式处理系统的硬件用的程序,优选采用由计算机可读取的程序,其特征在于,该程序使计算机发挥下述功能:第一处理部102将数据保存到第一存储部101的规定区域、或者读出第一存储部101的规定区域中所保存的数据,一个处理部件200的通信部(第二接收部203、第二发送部204)向另一个处理部件100发送从第一存储部101读出的数据、或者将从另一个处理部件200所接收的数据保存到第一存储部101中。
处理部、发送部、接收部的功能例如能够使用CPU来实现。另外,本分布式处理系统还能够通过使计算机从信息存储介质读取程序来实现。
另外,作为信息存储介质,能够采用例如软盘、CD-ROM、光磁盘、IC卡、ROM盒式磁盘(cartridge)、穿孔卡片(punchcard)或印刷了条形码等符号的印刷物、计算机的内部存储装置(RAM或ROM等存储器)以及外部存储装置等由计算机可读取的各种介质。该程序的读取方式既可为接触方式、也可为非接触方式。
再有,为了取代信息存储介质而实现上述的各功能,也可以通过从主机装置等经由传送路径下载程序,来实现上述的各功能。
(实施例2)
接下来,对本发明实施例2相关的分布式处理方法进行说明。图9表示进行本分布式处理方法的处理部件100的结构。在与上述实施例1相同的部分标注相同的符号,并且省略重复的说明。第一处理部102、第一发送部103、第一接收部104构成为分别能够与第一存储部101进行数据和命令的发送或接收。
在本实施例中,采用了MPI(Message Passing Interface)。MPI是由MPI Forum所制定的消息封装函数规范。MPI是以程序的移植性和不同机型间的数据通信为目的,为了统一通信函数的功能或接口而创建的。
另外,在通信中大致具有命令传输和数据传输。命令是例如包括数据的传输或请求的通知等所需要的数据大小或存储器地址、发送源的ID、发送目标的ID、通信开始请求、通信开始应答等的控制信息。而且,第一处理部102与第一发送部103之间、或者在第一处理部102与第一接收部104之间的数据、命令的通信,经由第一存储部101进行。第一存储部101是例如容量为256KB的本地存储器。
以下,将通信时用于保存命令或数据并进行收发的数据结构称作“信箱区”。信箱区有命令发送用(CSMB)、命令接收用(CRMB)、数据发送用(DSMB)、数据接收用(DRMB)这四种。而且,设计对信箱区的通信状态进行控制的邮件控件数据结构(MAIL_CONTROL)。邮件控件和信箱区如图10所示,映射到本地存储器。
另外,图11表示邮件控件数据结构(MAIL_CONTROL)的结构。以下说明各内容。
8:STCN1:发送任务计数(0:不进行任何通信的状态,1:数据通信中)
16:SMF1:发送信箱区为满。数据发送用信箱区的状态标志符(0:空,1:满)
24:RMF1:接收信箱区为满。数据接收用信箱区的状态标志符(0:空,1:满)
另外,不使用图11中标注斜线来表示的任务启用(TSKENB)、任务次数(TSKCNT)、接收任务计数(RTCN1)、接收应答待决(pending)(RAKP1)、DSMB2用标志符(SMF2)、DRMB2用标志符(RMF2)。
图12表示命令用信箱区的结构。另外,命令接收用信箱区和命令发送用信箱区的结构是共同的结构。另外,图13详细地示出图12所示的信箱区结构的各字(word)所保存的命令。数据用信箱区仅仅保存所传输的数据。例如,数据用信箱区能够通过用户获取64字节的任意倍数的大小。
接下来,图14表示满足以下的通信条件(1)~(6)时命令用信箱区的使用例。另外,将处理部件适当地省略为“PE”。
通信条件:
(1)从PE1(发送侧)向PE7(接收侧)进行通信。
(2)数据量为10分组(640字节)
(3)任务范畴和内容是数据发送开始请求
(4)所接收的数据保存到PE7的本地存储器的自地址为0x00020800起640字节的区域。
(5)发送的数据保存在PE1的本地存储器的自地址为0x00024800起640字节的区域。
(6)传输不重复(不会分割传输,而是将全部数据一次性地发送)。
接下来,根据图15、图16、图17、图18,说明本实施例中的处理步骤。图15是表示第一处理部102的处理步骤的流程图。在步骤S1501中,将数据发送信箱区用的SMF1标志符、发送任务计数STCN1标志符清零。在步骤S1502中,在命令发送用信箱区CSMB1中设定数据发送开始请求的信息。
在步骤S1503中,判断是否设置有SMF1标志符。当步骤S1503的判断结果为真时,重复步骤S1503。当判断结果为假时,在步骤S1504中,第一处理部102进行数据的处理,并且将处理结果保存到数据发送用信箱区DSMB1中。步骤S1504与第一数据保存步骤对应。
在步骤S1505中,判断是否设置有发送任务计数STCN1标志符。当步骤S1505的判断结果为真时,重复步骤S1505。当判断结果为假时,在步骤S1506中,设置数据发送信箱区用的SMF1标志符和发送任务计数STCN1标志符。
然后,在步骤S1507中,第一处理部102发出数据发送开始请求。因而,使用MPI_SEND指令,向第二接收部203发送命令发送用信箱区CSMB1中所设定的命令。
图16是表示第一发送部103的处理步骤的流程图。在步骤S1601中,判断是否以MPI_RECV指令接收到命令。当步骤S1603的判断结果为假时,重复步骤S1601。当判断结果为真时,在步骤S1602中,将所接收的命令保存到命令接收用信箱区CRMB1中。
在步骤S1603中,判断所接收的命令是否为数据发送开始应答。当步骤S1603的判断结果为假时,返回到步骤S1601。当判断结果为真时,在步骤S1604中,第一发送部103发送数据。步骤S1604与数据发送步骤对应。因而,使用MPI_SEND指令,向第二接收部203发送数据发送用信箱区DSMB1中所保存的数据。
在步骤S1605中,将数据发送用信箱区的SMF1标志符清零。在步骤S1606中,判断是否以MPI_RECV指令接收到命令。当步骤S1606的判断结果为假时,重复步骤S1606。当判断结果为真时,在步骤S1607中,将所接收的命令保存到命令接收用信箱区CRMB1中。
在步骤S1608中,判断所接收的命令是否为数据接收完成。当步骤S1608的判断结果为假时,返回到步骤S1606。当判断结果为真时,在步骤S1609中,将发送任务计数STCN1标志符清零。然后,返回到步骤S1601。
图17是表示第二接收部203的处理步骤的流程图。在步骤S1701中,判断是否以MPI_RECV指令接收到命令。当步骤S1701的判断结果为假时,重复步骤S1701。当判断结果为真时,在步骤S1702中,将所接收的命令保存到命令接收用信箱区CRMB1中。
在步骤S1703中,判断所接收的命令是否为数据发送开始请求。当步骤S1703的判断结果为假时,返回到步骤S1701。当判断结果为真时,在步骤S1704中,使用命令接收用信箱区CRMB1所保存的命令的信息,设定数据接收用的地址或数据长度。
在步骤S1705中,在命令发送用信箱区CSMB1中设定数据发送开始应答的信息。在步骤S1706中,第二接收部203输出数据发送开始应答。因而,使用MPI_SEND指令,向第一发送部103发送命令发送用信箱区CSMB1中所设定的命令。
在步骤S1707中,判断是否以MPI_RECV指令接收到数据。当步骤S1707的判断结果为假时,重复步骤S1707。当判断结果为真时,在步骤S1708中,将所接收的数据保存到数据接收用信箱区DRMB1中。步骤S1708与第二数据保存步骤对应。在步骤S1709中,设置数据接收用信箱区的RMF1标志符。然后,返回到步骤S1701。
图18是表示第二处理部202的处理步骤的流程图。在步骤S1801中,将数据接收用信箱区的RMF1标志符清零。在步骤S1802中,判断是否设置有数据接收用信箱区的RMF1标志符。当步骤S1802的判断结果为假时,重复步骤S1802。当判断结果为真时,在步骤S1803中,在命令发送用信箱区CSMB2中设定数据接收完成的信息。
在步骤S1804中,将所接收的数据保存到本地存储器的工作区。在步骤S1805中,将数据接收用信箱区的RMF1标志符清零。在步骤S1806中,发出数据接收完成。因而,第二处理部202使用MPI_SEND命令,向第一发送部103发送命令发送用信箱区CSMB2中所设定的命令。在步骤S1807中,第二处理部202使用工作区中所保存的数据进行运算处理。然后,返回到步骤S1801。
接下来,使用图19,说明本实施例相关的分布式处理方法的详细的顺序。在顺序1901中,将SMF1标志符和STCN1标志符清零。在顺序1902中,在命令发送用信箱区CSMB1中设定数据发送开始请求的信息。
在顺序1903中,当SMF1标志符为“1”时,待机至SMF1标志符成为“0”为止。在顺序1904中,将数据的处理结果保存到数据发送用信箱区DSMB1。在顺序1905中,当发送任务计数STCN1标志符为“1”时,待机至STCN1标志符成为“0”为止。在顺序1906中,设置STCN1标志符。在顺序1907中,设置SMF1标志符。在顺序1908中,第一处理部102发送“数据发送开始请求”。因而,第一处理部102使用MPI_SEND(命令发送,CSMB1)指令,向第二接收部203发送命令发送用信箱区CSMB1中所设定的命令、即“数据发送开始请求”。
在顺序1909中,第二接收部203通过MPI_RECV(命令接收,CRMB1)指令,接收“数据发送开始请求”。在顺序1910中,根据命令接收用信箱区的信息设定数据接收用的地址或数据长度。在顺序1911中,在命令发送用信箱区CSMB1中设定数据发送开始应答的信息。在顺序1912中,第二接收部203通过MPI_SEND(命令发送,CSMB1)指令,向第一发送部103发送“数据发送开始应答”。
在顺序1913中,第一发送部103通过MPI_RECV(命令接收,CRMB1)指令,接收“数据发送开始应答”。在顺序1914中,第一发送部103通过MPI_SEND(数据发送,DSMB1)指令,向第二接收部203发送数据发送用信箱区DSMB1中所保存的数据。在顺序1915中,将数据发送用信箱区的SMF1标志符清零。
在顺序1916中,第二接收部203通过MPI_RECV(数据接收,DRMB1)指令,接收数据。在顺序1917中,第二接收部203设置数据接收用信箱区的RMF1标志符。
在顺序1918中,第二处理部202判断是否设置有数据接收用信箱区的RMF1标志符、即是否接收到数据。另外,数据接收用信箱区的RMF1标志符在顺序1900中已预先被清零。当正在接收数据时,在顺序1919中,在命令发送用信箱区CSMB2中设置数据接收完成的信息。在顺序1920中,将数据接收用信箱区DRMB1中所保存的数据复制到工作区。在顺序1921中,将数据接收用信箱区的RMF1标志符清零。在顺序1922中,第二处理部202通过MPI_SEND(命令发送,CSMB2)指令,发送“数据接收完成”。另外,在顺序1927中,第二处理部202开始进行接收数据的处理。然后,在顺序1928中,第二处理部202结束数据的处理。
在顺序1923中,第一发送部103通过MPI_RECV(命令接收,CRMB1)指令,接收“数据接收完成”。然后,在顺序1924中,第一发送部103将发送任务计数STCN1标志符清零。
在顺序1925的时刻,发送任务计数STCN1标志符为“0”。在数据处理的最后,当发送任务计数STCN1标志符为“1”时,第一处理部102待机至STCN1标志符是“0”为止。
根据图19可知,第一发送部103自发送第一存储部101中所保存的数据起、到接收到数据的接收完成的期间,处于对一个处理部件100的处理能力不会带来影响的状态。另外,第二接收部203自发送数据的发送开始应答起、到接收到数据的期间,处于对另一个处理部件200的处理能力不会带来影响的状态。
根据本实施例,从处理部件100向其他处理部件200发送数据时,能够大幅降低因通信而导致的处理中断。其结果,能够使第一处理部102、第二处理部202高效率地运转。
(实施例3)
接下来,说明本发明的实施例3相关的分布式处理系统700。图20表示分布式处理系统700的概略结构。本实施例在同一基板MB3内设置有第一处理部702和第二处理部703。而且,第一处理部702和第二处理部703共享信箱区701。换言之,是由同一个存储部兼作第一处理部702(处理部件)的存储部和第二处理部(另一个处理部件)的存储部的结构。
说明本实施例的处理步骤。首先,第一处理部702将数据保存到信箱区701。第一处理部702在信箱区701中设置标志符。第二处理部703探测所设置的标志符。而且,第二处理部703访问信箱区701中所保存的数据。在此,假设第二处理部703已获知信箱区701内的数据所保存的区域。
由此,在本实施例中,在第一处理部702与第二处理部703之间不会收发数据的实体,而能够进行通信。其结果,能够高速有效地执行多个进程。
如上所述,根据本发明,例如在以下所有的情况下,能够实现处理的高速化。
(1)多个相同(单一)处理部设置在同一基板内的情况
(2)多个不同功能的处理部设置在同一基板内的情况
(3)多个相同(单一)处理部设置在不同的基板的情况
(4)多个不同功能的处理部设置在不同的基板的情况
另外,不限于MPI,还能够使用所谓的套接字(socket)进行控制。这样,本发明在不脱离该主旨的范围内能够得到各种变形例。
(产业上的可利用性)
如上所述,本发明相关的分布式处理系统在高速执行多个进程的系统中有用,尤其适合于在彼此不同的基板间进行数据的通信的系统。
Claims (18)
1.一种分布式处理系统,该系统是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理系统,其特征在于,
上述处理部将数据保存到上述存储部的规定区域、或者读出上述存储部的规定区域中所保存的数据,
一个上述处理部件的上述通信部向另一个上述处理部件发送从上述存储部读出的上述数据、或者将从另一个上述处理部件接收到的上述数据保存到上述存储部。
2.根据权利要求1所述的分布式处理系统,其特征在于,
上述通信部具有发送部和接收部的至少任意一个,
一个上述处理部件的上述接收部将从另一个上述处理部件接收到的上述数据直接保存到一个上述处理部件的上述存储部的规定区域,
一个上述处理部件的上述发送部将一个上述处理部件的上述存储部的规定区域中所保存的上述数据,向另一个上述处理部件发送。
3.根据权利要求1或2所述的分布式处理系统,其特征在于,
两个以上的上述处理部件分别设置在不同基板上。
4.根据权利要求1或2所述的分布式处理系统,其特征在于,
两个以上的上述处理部件分别设置在同一基板上。
5.根据权利要求4所述的分布式处理系统,其特征在于,
同一个存储部兼用作一个上述处理部件的上述存储部和另一个上述处理部件的上述存储部。
6.根据权利要求1~5中任一项所述的分布式处理方法,其特征在于,
上述发送部自发送上述存储部中所保存的上述数据起、到接收到上述数据的接收完成的期间,处于省电状态。
7.根据权利要求1~6中任一项所述的分布式处理系统,其特征在于,
在两个以上的上述处理部件之间的上述数据和控制信息的发送和接收中,使用MPI。
8.一种分布式处理方法,该方法是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理方法,其特征在于,
该方法包括:
上述处理部将数据保存到上述存储部的规定区域、或者读出上述存储部的规定区域中所保存的数据的步骤;和
一个上述处理部件的上述通信部向另一个上述处理部件发送从上述存储部读出的上述数据、或者将从另一个上述处理部件接收到的上述数据保存到上述存储部的步骤。
9.根据权利要求8所述的分布式处理方法,其特征在于,
上述通信步骤还包括接收步骤和发送步骤,
在接收步骤中,一个上述处理部件的上述接收部将从另一个上述处理部件接收到的上述数据直接保存到一个上述处理部件的上述存储部的规定区域,
在上述发送步骤中,一个上述处理部件的上述发送部将一个上述处理部件的上述存储部的规定区域中所保存的上述数据,向另一个上述处理部件发送。
10.根据权利要求8或9所述的分布式处理方法,其特征在于,
在上述通信步骤中,在分别设置于不同基板上的两个以上的处理部件之间,至少进行上述数据的发送或接收。
11.根据权利要求8或9所述的分布式处理方法,其特征在于,
在上述通信步骤中,在分别设置于同一基板上的两个以上的处理部件之间,至少进行上述数据的发送或接收。
12.根据权利要求11所述的分布式处理方法,其特征在于,
同一个存储部兼用作一个上述处理部件的上述存储部和另一个上述处理部件的上述存储部。
13.根据权利要求8~11中任一项所述的分布式处理方法,其特征在于,
一个上述处理部件包括第一处理部、第一存储部和第一通信部,
另一个上述处理部件包括第二处理部、第二存储部和第二通信部,
上述分布式处理方法包括:
第一数据保存步骤,在该步骤中,上述第一处理部将上述数据保存到上述第一存储部的规定区域;
数据发送步骤,在该步骤中,上述第一发送部向其他上述处理部件发送上述第一存储部中所保存的上述数据;
第二数据保存步骤,在该步骤中,将其他上述处理部件的上述第二接收部接收到的上述数据直接保存到上述第二存储部的规定区域;和
数据读出步骤,在该步骤中,上述第二处理部读出上述第二存储部中所保存的上述数据。
14.根据权利要求13所述的分布式处理方法,其特征在于,
该方法包括:
在上述第一存储部中保存了上述数据的上述第一处理部向上述第二接收部发送上述数据的发送开始请求的步骤;
接收到上述数据的发送开始请求的上述第二接收部向上述第一发送部发送上述数据的发送开始应答的步骤;
接收到上述数据的发送开始应答的上述第一发送部向上述第二接收部发送上述第一存储部中所保存的上述数据的步骤;
接收到上述数据的上述第二接收部将所接收的上述数据保存到上述第二存储部的步骤;
在上述第二存储部中保存了上述数据的上述第二接收部向上述第二处理部通知上述数据的接收的步骤;和
收到上述数据的接收通知的上述第二处理部读出上述第二存储部中所保存的上述数据的步骤。
15.根据权利要求14所述的分布式处理方法,其特征在于,
该方法还包括:
读出上述数据的上述第二处理部向上述第一发送部发送上述数据的接收完成的步骤;和
接收到上述数据的接收完成的上述第一发送部向上述第一处理部通知上述数据的接收完成的步骤。
16.根据权利要求14或15所述的分布式处理方法,其特征在于,
自发送上述第一存储部中所保存的上述数据起、到接收到上述数据的接收完成的期间,上述第一发送部处于不会对包括上述第一处理部的一个上述处理部件的处理能力带来影响的状态,
自发送上述数据的发送开始应答起、到接收到上述数据的期间,上述第二接收部处于不会对包括上述第二处理部的另一个上述处理部件的处理能力带来影响的状态。
17.根据权利要求8~16中任一项所述的分布式处理方法,其特征在于,
在两个以上的上述处理部件之间的上述数据和控制信息的发送和接收中,使用MPI。
18.一种由计算机可读取的程序,该程序是将分别至少具有处理部、存储部和通信部的两个以上的处理部件彼此连接起来的分布式处理系统用的程序,其特征在于,
该程序使计算机发挥如下功能:
上述处理部将数据保存到上述存储部的规定区域、或者读出上述存储部的规定区域中所保存的数据,
一个上述处理部件的上述通信部向另一个上述处理部件发送从上述存储部读出的上述数据、或者将从另一个上述处理部件接收到的上述数据保存到上述存储部。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP172783/2005 | 2005-06-13 | ||
JP2005172783A JP5079988B2 (ja) | 2005-06-13 | 2005-06-13 | 分散処理システム、分散処理方法及びプログラム |
PCT/JP2006/311471 WO2006134816A1 (ja) | 2005-06-13 | 2006-06-01 | 分散処理システム、分散処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101198950A true CN101198950A (zh) | 2008-06-11 |
CN101198950B CN101198950B (zh) | 2012-07-18 |
Family
ID=37532179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680021237.1A Expired - Fee Related CN101198950B (zh) | 2005-06-13 | 2006-06-01 | 分布式处理系统、分布式处理方法以及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7962720B2 (zh) |
EP (1) | EP1903451A4 (zh) |
JP (1) | JP5079988B2 (zh) |
CN (1) | CN101198950B (zh) |
WO (1) | WO2006134816A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200929A (zh) * | 2010-03-26 | 2011-09-28 | 迈普通信技术股份有限公司 | 任务间异步通信的处理方法及多任务异步通信处理系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059282A (ja) * | 2006-08-31 | 2008-03-13 | Olympus Corp | 分散処理システム、分散処理方法及びプログラム |
US9037838B1 (en) * | 2011-09-30 | 2015-05-19 | Emc Corporation | Multiprocessor messaging system |
US9760526B1 (en) * | 2011-09-30 | 2017-09-12 | EMC IP Holdings Company LLC | Multiprocessor messaging system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0448368A (ja) * | 1990-06-18 | 1992-02-18 | Fujitsu Ltd | プロセッサ間通信方式 |
JP2938711B2 (ja) * | 1993-05-10 | 1999-08-25 | 松下電器産業株式会社 | 並列計算機 |
US6424870B1 (en) * | 1996-02-09 | 2002-07-23 | Hitachi, Ltd. | Parallel processor |
JPH1115679A (ja) | 1997-06-19 | 1999-01-22 | Toshiba Corp | プロセス間の通信方法及びその装置 |
JPH11120156A (ja) * | 1997-10-17 | 1999-04-30 | Nec Corp | マルチプロセッサシステムにおけるデータ通信方式 |
US6185662B1 (en) * | 1997-12-22 | 2001-02-06 | Nortel Networks Corporation | High availability asynchronous computer system |
JPH11203192A (ja) * | 1998-01-16 | 1999-07-30 | Sony Corp | 並列プロセッサおよび演算処理方法 |
JP2000132529A (ja) * | 1998-10-23 | 2000-05-12 | Sony Corp | 並列処理装置、並列処理方法および記録媒体 |
JP3617371B2 (ja) | 1999-05-07 | 2005-02-02 | セイコーエプソン株式会社 | プロジェクタおよび情報記憶媒体 |
JP3828321B2 (ja) * | 1999-08-31 | 2006-10-04 | 富士通株式会社 | 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6925547B2 (en) * | 2000-12-14 | 2005-08-02 | Silicon Graphics, Inc. | Remote address translation in a multiprocessor system |
US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
JP2003330739A (ja) | 2002-05-10 | 2003-11-21 | Nec Corp | 通信応答同期システム及び方法並びに通信応答同期プログラム |
US20030220118A1 (en) | 2002-05-22 | 2003-11-27 | Jasmeet Chhabra | Conserving energy in networks |
US7107363B2 (en) * | 2003-06-19 | 2006-09-12 | International Business Machines Corporation | Microprocessor having bandwidth management for computing applications and related method of managing bandwidth allocation |
KR100515059B1 (ko) * | 2003-07-22 | 2005-09-14 | 삼성전자주식회사 | 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법 |
CN1324844C (zh) | 2004-06-02 | 2007-07-04 | 中兴通讯股份有限公司 | 网管系统向网元同步配置数据的方法 |
US7386636B2 (en) * | 2005-08-19 | 2008-06-10 | International Business Machines Corporation | System and method for communicating command parameters between a processor and a memory flow controller |
-
2005
- 2005-06-13 JP JP2005172783A patent/JP5079988B2/ja not_active Expired - Fee Related
-
2006
- 2006-06-01 EP EP06747231A patent/EP1903451A4/en not_active Withdrawn
- 2006-06-01 US US11/922,112 patent/US7962720B2/en not_active Expired - Fee Related
- 2006-06-01 WO PCT/JP2006/311471 patent/WO2006134816A1/ja active Application Filing
- 2006-06-01 CN CN200680021237.1A patent/CN101198950B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200929A (zh) * | 2010-03-26 | 2011-09-28 | 迈普通信技术股份有限公司 | 任务间异步通信的处理方法及多任务异步通信处理系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5079988B2 (ja) | 2012-11-21 |
WO2006134816A1 (ja) | 2006-12-21 |
US7962720B2 (en) | 2011-06-14 |
US20100100705A1 (en) | 2010-04-22 |
EP1903451A4 (en) | 2010-06-16 |
CN101198950B (zh) | 2012-07-18 |
JP2006350467A (ja) | 2006-12-28 |
EP1903451A1 (en) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2398294A1 (en) | System, method, computer program product for communicating data for objects that are transported from first location to second location | |
CN108446335B (zh) | 基于数据库的异构系统数据抽取及统一对外数据交换方法 | |
CN101198950B (zh) | 分布式处理系统、分布式处理方法以及程序 | |
CN2938595Y (zh) | 一种用于板间通信的高速串行接口装置 | |
JP2003178222A (ja) | ビジネスプロトコル間のデータ変換方法および装置並びにその処理プログラム | |
CA2479240A1 (en) | Data aware clustered architecture for an image generator | |
CN205318553U (zh) | 数据处理装置和系统以及打印机 | |
JPS63232725A (ja) | メツセ−ジ同報通信方式 | |
CN101146130B (zh) | 一种在客户端间传输数据的方法及系统 | |
CN102542232A (zh) | 基于toa测距的人员精确定位系统及其定位方法 | |
CN105656769A (zh) | 业务数据处理方法、装置及系统 | |
CN107302522B (zh) | 基于USB的SpaceWire网络即插即用基础协议 | |
CN111241044A (zh) | 搭建异构数据库的方法、装置、设备及可读存储介质 | |
CN100504849C (zh) | 数据转换方法及设备 | |
CN105095248A (zh) | 一种数据库集群系统及其恢复方法、管理节点 | |
JP2810063B2 (ja) | 衛生通信システム | |
CN117424883A (zh) | 储能系统的控制装置及储能系统 | |
JP2008059282A (ja) | 分散処理システム、分散処理方法及びプログラム | |
CN102075452A (zh) | 信息传输方法、装置及系统 | |
JPS6224377A (ja) | デ−タ通信ネツトワ−クの情報収集方式 | |
JP2001292160A5 (zh) | ||
CN110335150A (zh) | 一种交易系统平台服务终端的主处理系统 | |
JPH0520471A (ja) | データ集配信制御システム | |
CN100444136C (zh) | 高密度信息处理系统的传输管理装置 | |
JPH05160833A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 Termination date: 20210601 |