信息处理装置、并行计算机系统以及运算处理装置的控制方法转让专利

申请号 : CN201180070697.4

文献号 : CN103502959A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 安岛雄一郎井上智宏平本新哉

申请人 : 富士通株式会社

摘要 :

构成并行计算机系统(1)的信息处理装置(2)具有保持数据的存储器(6)和处理器(3),上述处理器(3)具有保持在存储器(6)中保持的数据的一部分的高速缓冲存储器(5)以及使用在存储器(6)或者高速缓冲存储器(5)中保持的数据来进行运算的处理器内核(4)。另外,信息处理装置(2)具有通信装置(10),上述通信装置(10)判定从其他信息处理装置(2a)接收到的数据是否是处理器内核(4)正在等候的数据,在判定为接收到的数据是处理器内核(4)正在等候的数据的情况下,将接收到的数据保存在高速缓冲存储器(5)中。此外,在判定为接收到的数据不是处理器内核(4)正在等候的数据的情况下,通信装置(10)将接收到的数据保存在存储器(6)中。

权利要求 :

1.一种信息处理装置,构成具备多个信息处理装置的并行计算机系统,所述信息处理装置的特征在于,具有:

主存储装置,其保持数据;

运算处理装置,其具有高速缓冲存储器部和运算处理部,所述高速缓冲存储器部保持在所述主存储装置中保持的数据的一部分,所述运算处理部使用在所述主存储装置或者所述高速缓冲存储器部中保持的数据来进行运算;以及通信装置,其判定从其他信息处理装置接收到的数据是否是所述运算处理装置正在等候的数据,在判定为所述接收到的数据是所述运算处理装置正在等候的数据的情况下,所述通信装置将所述接收到的数据保持在所述高速缓冲存储器部中,在判定为所述接收到的数据不是所述运算处理装置正在等候的数据的情况下,所述通信装置将所述接收到的数据保存在所述主存储装置中。

2.根据权利要求1所述的信息处理装置,其特征在于,在所述信息处理装置中,所述通信装置具有:

发送部,其向其他信息处理装置发送对所述其他信息处理装置的运算处理装置正在等候的数据附加向所述其他信息处理装置的运算处理装置所具有的高速缓冲存储器部写入的主旨的控制信息而得到的数据;

判定部,其判定在从所述其他信息处理装置接收到的数据中是否附加有控制信息;以及

保存部,在所述判定部判定为在接收到的数据中附加有控制信息的情况下,所述保存部将该接收到的数据保存在所述高速缓冲存储器部中,在判定部判定为所述接收到的数据中未附加控制信息的情况下,所述保存部将该接收到的数据保存在所述主存储装置中。

3.根据权利要求2所述的信息处理装置,其特征在于,在所述信息处理装置中,所述运算处理装置具有多个具有高速缓冲存储器部的运算处理部,在所述判定部判定为在接收到的数据中附加有所述控制信息的情况下,所述保存部将所述接收到的数据保存在所述多个运算处理部的高速缓冲存储器部中的、保持有在所述接收到的数据的写入目的地地址所表示的主存储装置的保存区域中保存的数据的高速缓冲存储器部中。

4.根据权利要求3所述的信息处理装置,其特征在于,在所述信息处理装置中,所述高速缓冲存储器部将相同性信息与所述数据建立对应地存储,所述相同性信息表示自身所保持的数据、其他高速缓冲存储器部所保持的数据以及所述主存储装置所保持的数据之间的关系,在将所述数据保存在所述主存储装置或者自身的高速缓冲存储器部中的情况下,所述运算处理部基于自身的高速缓冲存储器部所存储的所述相同性信息,来保持在自身的高速缓冲存储器部中保存的数据与在所述主存储装置中保存的数据之间的相同性,并将接收到的数据保存在所述主存储装置或者自身的高速缓冲存储器部中。

5.根据权利要求3所述的信息处理装置,其特征在于,在所述信息处理装置中,所述运算处理装置还具有所述多个运算处理部所共享的共享高速缓冲存储器部,所述高速缓冲存储器部将第1相同性信息与所述数据建立对应地存储,所述第1相同性信息表示自身所保持的数据、其他高速缓冲存储器部所保持的数据以及所述共享高速缓冲存储器部所保持的数据之间的关系,所述共享高速缓冲存储器部将第2相同性信息与所述数据建立对应地存储,所述第2相同性信息表示自身所保持的数据与所述主存储装置所保持的数据之间的关系,在将所述数据保存在所述主存储装置或者所述自身的高速缓冲存储器部中的情况下,所述运算处理部基于自身的高速缓冲存储器部所存储的所述第1相同性信息和所述共享高速缓冲存储器部所存储的第2相同性信息,来保持在所述自身的高速缓冲存储器部中保存的数据、在所述共享高速缓冲存储器部中保存的数据以及在所述主存储装置中保存的数据之间的相同性,之后将接收到的数据存储在所述主存储装置或者所述自身的高速缓冲存储器部中。

6.根据权利要求1所述的信息处理装置,其特征在于,在所述信息处理装置中,所述通信装置还具有地址保持部,所述地址保持部保持控制向所述高速缓冲存储器部的写入的控制地址,在从其他信息处理装置接收到的数据的写入目的地地址与在所述地址保持部中保持的控制地址一致的情况下,所述通信装置将所述接收到的数据写入所述高速缓冲存储器部。

7.根据权利要求6所述的信息处理装置,其特征在于,在所述信息处理装置中,所述运算处理部使所述运算处理部所等候的数据的写入目的地地址作为所述控制地址保持在所述地址保持部中。

8.根据权利要求6或者7所述的信息处理装置,其特征在于,在所述信息处理装置中,所述运算处理装置具有多个具有高速缓冲存储器部的运算处理部,所述多个运算处理部分别使等候的数据的写入目的地地址作为所述控制地址保持在所述地址保持部中,并且使识别所述多个运算处理部的高速缓冲存储器部中作为所述等候的数据的写入目的地的高速缓冲存储器部的写入目的地高速缓冲存储器识别信息保持在所述地址保持部中。

9.根据权利要求8所述的信息处理装置,其特征在于,在所述信息处理装置中,所述高速缓冲存储器部将相同性信息与所述数据建立对应地存储,所述相同性信息表示自身所保持的数据、其他高速缓冲存储器部所保持的数据以及所述主存储装置所保持的数据之间的关系,在将所述数据保存在所述主存储装置或者所述自身的高速缓冲存储器部中的情况下,所述运算处理部基于自身的高速缓冲存储器部所存储的所述相同性信息,来保持保存在自身的高速缓冲存储器部中的数据与保存在所述主存储装置中的数据之间的相同性,之后将接收到的数据保存在所述主存储装置或者所述自身的高速缓冲存储器部中。

10.根据权利要求8所述的信息处理措置,其特征在于,在所述信息处理装置中,所述运算处理装置还具有所述多个运算处理部所共享的共享高速缓冲存储器部,所述高速缓冲存储器部将第1相同性信息与所述数据建立对应地存储,所述第1相同性信息表示自身所保持的数据、其他高速缓冲存储器部所保持的数据以及所述共享高速缓冲存储器部所保持的数据之间的关系,所述共享高速缓冲存储器部将第2相同性信息与所述数据建立对应地存储,所述第2相同性信息表示自身所保持的数据与所述主存储装置所保持的数据之间的关系,在将所述数据保存在所述主存储装置或者所述自身的高速缓冲存储器部中的情况下,所述运算处理部基于自身的高速缓冲存储器部所存储的所述第1相同性信息和所述共享高速缓冲存储器部所存储的第2相同性信息,来保持在所述自身的高速缓冲存储器部中保存的数据、在所述共享高速缓冲存储器部中保存的数据以及在所述主存储装置中保存的数据之间的相同性,并且将接收到的数据保存在所述主存储装置或者所述自身的高速缓冲存储器部中。

11.一种并行计算机系统,具有多个信息处理装置,所述并行计算机系统的特征在于,所述信息处理装置具有:

主存储装置,其保持数据;

运算处理装置,其具有高速缓冲存储器部和运算处理部,所述高速缓冲存储器部保持在所述主存储装置中保持的数据的一部分,所述运算处理部使用在所述主存储装置或者所述高速缓冲存储器部中保持的数据来进行运算;以及通信装置,其判定从其他信息处理装置接收到的数据是否是所述运算处理装置正在等候的数据,在判定为所述接收到的数据是所述运算处理装置正在等候的数据的情况下,所述通信装置将所述接收到的数据保存在所述高速缓冲存储器部中。

12.一种运算处理装置的控制方法,是具有保持数据的主存储装置的并行计算机系统所含的运算处理装置的控制方法,所述运算处理装置具有保持在所述主存储装置中保持的数据的一部分的高速缓冲存储器部,并且具有使用在所述主存储装置或者所述高速缓冲存储器部中保持的数据来进行运算的运算处理部,所述运算处理装置的控制方法的特征在于,所述信息处理装置所具有的通信装置判定从所述并行计算机系统所具有的其他信息处理装置接收到的数据是否是所述运算处理装置正在等候的数据,在所述通信装置判定为所述接收到的数据是所述运算处理装置正在等候的数据的情况下,将所述接收到的数据保存在所述高速缓冲存储器部中。

说明书 :

信息处理装置、并行计算机系统以及运算处理装置的控制

方法

技术领域

[0001] 本发明涉及信息处理装置、并行计算机系统以及运算处理装置的控制方法。

背景技术

[0002] 以往已知多个信息处理装置相互进行数据的接收和发送并执行运算处理的并行计算机系统。作为这样的并行计算机系统的一个例子已知,经由相互结合网来相互连接未共享存储器空间的多个信息处理装置的并行计算机系统。
[0003] 这样的并行计算机系统所具有的信息处理装置具有:作为存储在运算中利用的数据的主存储装置的主存储器、进行运算的运算处理装置、以及在与其他的情报信息处理装置之间进行在运算中利用的数据的接收和发送的通信装置。这样的信息处理装置所具有的通信装置经由相互结合网与其他信息处理装置进行与运算相关的数据的接收和发送,将接收到的数据保存在主存储器中。
[0004] 另外,由于运算处理装置是以比在从运算处理装置外部的主存储器读出数据时使用的频率高速地动作,所以在运算中利用的数据被保存在主存储器中的情况下,与保存在运算处理装置内部的高速缓冲存储器中的数据相比较,无法高效地执行运算处理。因此,通过使运算处理装置在内部具有与主存储器相比较能够高速地进行数据的读出、写入的高速缓冲存储器,将在运算中利用的数据保存在高速缓冲存储器中,从而高速地进行运算时数据的读出,高效地执行运算处理。
[0005] 这里,一般的通信装置在从其他信息处理装置接收到数据的情况下,使运算处理装置将与数据接收相关的一系列处理作为针对运算处理的中断处理而执行。然而,运算处理装置在将与数据接收相关的一系列处理作为中断处理而执行的情况下,由于伴随着处理的切换进行多个运算寄存器、设定寄存器等所保持的数据的暂存、暂存了的数据的恢复,所以增加了通信延迟。
[0006] 在并行计算机系统中,多个信息处理装置以互联的方式进行连接,以便在信息处理装置间的通信延迟被限制在规定延迟时间内。另外,并行计算机系统所具有的运算处理装置等待从其他信息处理装置发送来的数据的接收,执行运算处理,反复进行将运算处理的执行结果向其他信息处理装置发送的处理。因此,在运算处理装置将与数据接收相关的一系列处理作为中断处理而执行,增加伴随着处理切换的通信延迟的情况下,会使并行计算机系统中的计算处理的效率恶化。
[0007] 鉴于此,在并行计算机系统中,在将通信装置从其他信息处理装置接收到的数据保存在主存储器之前的期间,运算处理装置针对保存数据的存储器地址进行反复读出的查询处理。由于执行这样的查询处理的运算处理装置不进行与数据接收相关的处理与运算处理之间的切换,所以能够减少通信延迟,保持计算处理的效率。
[0008] 另外,在运算处理装置未经由数据接收用的缓存器而直接取得由通信装置接收到的数据的情况下,比经由数据接收用的缓存器而取得的情况相比能够减少通信延迟。然而,由于在信息处理装置间接收和发送的数据量大,因此使运算处理装置新具备数据接收用的缓存器是不现实的。因此,已知将通信装置接收到的数据保存在运算处理装置所具有的高速缓冲存储器中的技术。
[0009] 应用了这种技术的信息处理装置将通信装置从其他信息处理装置接收到的数据直接保存在运算处理装置所具有的高速缓冲存储器中。因此,运算处理装置能够从高速缓冲存储器高速地读出在运算中利用的数据,从而减少通信延迟。
[0010] 专利文献1:日本特开平11-039214号公报
[0011] 专利文献2:国际公开第2007/110898号
[0012] 非专利文献1:Ram Huggahalli,Ravi Iyer,Scott Tetrick,”Direct Cache Access for High Bandwidth Network I/O,”ISCA ′05 Proceedings of the 32nd annual international symposium on Computer Architecture
[0013] 然而,在上述将接收到的数据保存在运算处理装置所具有的高速缓冲存储器中的技术中,在接收到运算中未利用的数据的情况下也保存在运算处理装置所具有的高速缓冲存储器中。因此,存在运算处理装置无法高效地执行运算处理,计算处理速度降低的问题。
[0014] 换言之,由于信息处理装置在将在运算中利用的数据保存在高速缓冲存储器中时,在接收到新数据的情况下,将接收到的数据保存在高速缓冲存储器中,因此有时从高速缓冲存储器吐出在运算中利用的数据。该情况下,由于信息处理装置为了执行运算而从主存储器读出从高速缓冲存储器吐出的数据,因此无法高效地执行运算处理,计算处理速度降低。

发明内容

[0015] 本申请所公开的技术是鉴于上述问题而提出的,能够抑制计算处理速度的降低。
[0016] 在一个侧面,是构成具备多个信息处理装置的并行计算机系统的信息处理装置。另外,信息处理装置具有:主存储装置,其保持数据;和运算处理装置,其具有高速缓冲存储器部和运算处理部,上述高速缓冲存储器部保持在主存储装置中保持的数据的一部分,上述运算处理部使用在主存储装置或者高速缓冲存储器部中保持的数据来进行运算。另外,信息处理装置具有通信装置,上述通信装置判定从其他信息处理装置接收到的数据是否是运算处理装置正在等候的数据,在判定为接收到的数据是运算处理装置正在等候的数据的情况下,通信装置将接收到的数据保存在高速缓冲存储器部中。此外,在判定为接收到的数据不是运算处理装置正在等候的数据的情况下,通信装置将接收到的数据保存在主存储装置中。
[0017] 根据本申请所公开的技术的一个方式,能够抑制计算处理速度的降低。

附图说明

[0018] 图1是用于对实施例1所涉及的并行计算机系统进行说明的图。
[0019] 图2是用于对存储器地址的一个例子进行说明的图。
[0020] 图3是用于对实施例1所涉及的高速缓冲存储器的一个例子进行说明的图。
[0021] 图4是用于对实施例1所涉及的通信装置的一个例子进行说明的图。
[0022] 图5是用于对实施例1所涉及的数据包生成部生成的数据包的一个例子进行说明的图。
[0023] 图6是用于对实施例1所涉及的通信装置所执行的处理的流程进行说明的流程图。
[0024] 图7是用于对实施例2所涉及的并行计算机系统的一个例子进行说明的图。
[0025] 图8是用于对实施例2所涉及的通信装置进行说明的图。
[0026] 图9是用于对实施例3所涉及的并行计算机系统的一个例子进行说明的图。
[0027] 图10是用于对实施例4所涉及的并行计算机系统进行说明的图。
[0028] 图11是用于对实施例4所涉及的通信装置的一个例子进行说明的图。
[0029] 图12是用于对写入目的地地址表的一个例子进行说明的图。
[0030] 图13是用于对实施例4所涉及的通信装置所执行的处理的流程进行说明的流程图。
[0031] 图14是用于对实施例5所涉及的并行计算机系统的一个例子进行说明的图。
[0032] 图15是用于对实施例5所涉及的通信装置的一个例子进行说明的图。
[0033] 图16是用于对实施例3所涉及的并行计算机系统进行说明的图。

具体实施方式

[0034] 以下,参照说明书附图对本申请的信息处理装置、并行计算机系统以及运算处理装置的控制方法进行说明。此外,以下说明的各实施例能够在不矛盾的范围内适当地进行组合。
[0035] 【实施例1】
[0036] 在以下的实施例1中,使用图1对并行计算机系统的一个例子进行说明。图1是用于对实施例1所涉及的并行计算机系统进行说明的图。
[0037] 如图1所示,并行计算机系统1具有多个信息处理装置2、2a和连接各信息处理装置2、2a的总线8。此外,在图1所示的例子中,记载了信息处理装置2以及2a,但并行计算机系统1也可以具备更多的信息处理装置。并行计算机系统1也可以具有任意数量的信息处理装置。另外,在以下的说明中,信息处理装置2a作为执行与信息处理装置2相同处理的装置,省略其说明。
[0038] 信息处理装置2具有处理器3、存储器6以及通信装置10。处理器3、存储器6以及通信装置10分别通过信息处理装置2所具有的总线而连接。处理器3是执行运算处理的运算处理装置。具体而言,处理器3具有进行运算的处理器内核4。另外,处理器内核4具有高速缓冲存储器5。
[0039] 以下,对在存储器6和高速缓冲存储器5中保存的数据进行说明,之后对处理器内核4以及通信装置10所执行的处理进行说明。
[0040] 存储器6是信息处理装置2所具有的主存储器,保持处理器内核4在运算中使用的数据。以下,使用图2、图3对存储器6的一个例子进行说明。图2是用于对存储器地址的一个例子进行说明的图。例如,在处理器3具有40比特的存储器地址空间的情况下,表示存储器6的保存区域的存储器地址例如是40比特长的存储器地址。该情况下,能够将存储器地址分割为例如,将图2中(A)所示的范围的上位“34-N”比特作为标签,接着将图2中(B)所示的范围的“N”比特作为索引,将图2中(C)所示的范围的下位“6”比特作为偏移(offset)。这里,索引的大小能够设定任意的比特数,在以下的说明中,将“N”比特设定为索引。
[0041] 高速缓冲存储器5是存储处理器内核在运算中利用的数据的存储装置,与存储器6相比能够高速地进行数据的读出读入。以下,对高速缓冲存储器5的一个例子进行说明。
图3是用于对实施例1所涉及的高速缓冲存储器的一个例子进行说明的图。例如,高速缓N N+6
冲存储器5是具有行大小为64字节的2 个高速缓冲行,整体的存储容量为2 字节的高速缓冲存储器。
[0042] 这里,各高速缓冲行被赋予高速缓冲行编号“0”~“2N-1”。另外,在各高速缓冲行保存有图3中(A)所示的2比特的状态数据、图3中(B)所示的“34-N”比特的标签数据以及图3中(C)所示的64字节的数据。这里,状态数据中一方的比特是表示在对应的高速缓冲行保存的数据是否是有效的Valid比特。例如,在Valid比特保存有“1”的情况下,表示在对应的高速缓冲行保存的数据是有效的,在Valid比特保存有“0”的情况下,表示在对应的高速缓冲行保存的数据是无效的。
[0043] 另外,状态数据中另一方的比特是用于保持在对应的高速缓冲行保存的数据与在存储器6中保存的数据之间的相同性的信息亦即Dirty比特。例如,在Dirty比特保存有“1”的情况下,表示由于在对应的高速缓冲行保存的数据被处理器内核4更新,所以需要将数据写回存储器6。在Dirty比特保存有“0”的情况下,表示在对应的高速缓冲行保存的数据未被处理器内核4更新,在该高速缓冲行保存的数据与在存储器6保存的数据相同的主旨。例如,在Valid比特为“1”、Dirty比特为“1”的高速缓冲行保存的数据是有效的数据,并且由于由处理器内核4进行的重新写入等而与在高速缓冲源的存储器6中保存的数据不相同。
[0044] 另外,高速缓冲存储器5采用直接映射方式,并且存储器6的数据在被高速缓冲的情况下,保存在与高速缓冲源数据被保存的存储器地址的索引对应的高速缓冲行。例如,在高速缓冲存储器5中,在高速缓冲源数据被保存的存储器地址的索引为“i”的情况下,保存在高速缓冲行编号为“i”的高速缓冲行。但是,也可以在高速缓冲存储器5中采用具有多个高速缓冲路径(cache way)的联合并行处理二级缓存方式(set associative method)。
[0045] 返回图1,处理器内核4是使用数据进行运算的运算处理部。具体而言,处理器内核4使用在存储器6或者高速缓冲存储器5中保存的数据来执行运算处理。另外,处理器内核4取得在存储器6中保存的数据,将取得的数据保存在高速缓冲存储器5中。即,处理器内核4将在存储器6中保存的数据保存在高速缓冲存储器5中。而且,处理器内核4使用在高速缓冲存储器5中保存的数据来执行运算处理。
[0046] 另外,在使用信息处理装置2a等其他信息处理装置的运算结果来执行运算处理的情况下,处理器内核4待机到通信装置10接收到从其他运算处理装置发送来的数据为止。换言之,处理器内核4执行等候其他信息处理装置的运算结果的数据的查询处理。而且,在通信装置10接收到成为查询处理的对象的数据的情况下,处理器内核4取得接收到的数据,将取得的数据保存在高速缓冲存储器5以及存储器6中。
[0047] 这里,对处理器内核4将接收到的数据保存在高速缓冲存储器5以及存储器6中的处理的例子进行说明。例如,处理器内核4在从后述的通信装置10接收数据作为在存储器6中保存的数据的情况下,将接收到的数据保存在存储器6中。
[0048] 另外,处理器内核4在从通信装置10接收数据作为写入高速缓冲存储器5的数据的情况下,执行以下处理。即处理器内核4将接收到的数据保存在存储器6中,并将接收到的数据保存在高速缓冲存储器5中。换言之,处理器内核4在从通信装置10接收数据作为高速缓冲存储器5中保存的数据的情况下,将接收到的数据保存在高速缓冲存储器5以及存储器6中。
[0049] 这里,处理器内核4在将接收到的数据保存在高速缓冲存储器5中的情况下,参照用于保持在高速缓冲存储器5中保存的数据与在存储器6中保存的数据之间的相同性的信息。而且,处理器内核4基于参照的用于保持相同性的信息,将在高速缓冲存储器5中保存的数据吐出到存储器6中,之后将接收到的数据保存在高速缓冲存储器5中。之后,处理器内核4使用在高速缓冲存储器5中保存的数据、即成为查询处理的对象的数据来执行运算处理。
[0050] 另外,处理器内核4在向其他信息处理装置发送运算的结果、计算出的数据的情况下,向通信装置10发送表示发送目的地的信息处理装置的信息和计算出的数据。此时,处理器内核4判定计算出的数据是否是其他信息处理装置所具有的处理器内核正在等候的数据。而且,在判定为计算出的数据是其他信息处理装置所具有的处理器内核正在等候的数据的情况下,处理器内核4向通信装置10发送是处理器内核正在等候的数据的主旨。
[0051] 接下来,对处理器内核4所执行的处理的一个例子进行说明。例如,在从通信装置10接收数据作为在存储器6中保存的数据的情况下,处理器内核4执行以下处理。即,处理器内核4参照保存数据的存储器地址的索引和对应的高速缓冲行的状态数据亦即Valid比特以及Dirty比特。而且,若参照的Valid比特为“1”且Dirty比特为“1”,则处理器内核
4执行以下处理。
[0052] 即,处理器内核4使用在高速缓冲存储器5中保存的被高速缓冲了的数据,将在存储器6中保存的高速缓冲源的数据更新为最新的数据。而且,处理器内核4将参照了的Valid比特从“1”更新为“0”,之后将从通信装置10接收到的数据保存在与数据一并接收到的存储器6的存储器地址。
[0053] 另外,在参照了的Valid比特为“0”的情况下,或者Valid比特为“1”而Dirty比特为“0”的情况下,处理器内核4将Valid比特更新为“0”,并将接收到的数据保存在存储器6中。
[0054] 接下来,对处理器内核4从通信装置10接收数据作为在高速缓冲存储器5中保存的数据的情况进行说明。该情况下,处理器内核4参照保存接收到的数据的高速缓冲行的Valid比特、Dirty比特以及标签数据。换言之,处理器内核4参照与保存接收到的数据的存储器地址的索引对应的高速缓冲行的Valid比特以及Dirty比特。而且,在参照了的Valid比特为“0”或者参照了的标签数据与接收到的存储器地址的标签数据不一致的情况下,处理器内核4将接收到的数据保存在存储器6中。
[0055] 另外,在参照了的Valid比特为“1”且参照了的标签数据与保存接收到的数据的存储器地址的标签一致的情况下,处理器内核4执行以下的处理。即,处理器内核4将从通信装置10接收到的数据保存在参照了状态数据与标签数据的高速缓冲行。
[0056] 返回图1,通信装置10经由总线8,从信息处理装置2a等其他信息处理装置接收被数据包化的数据。这里,在被数据包化的数据保存有数据和保存数据的存储器6的存储器地址。在从其他信息处理装置2a接收到数据的情况下,通信装置10判定接收到的数据是否是处理器内核4正在等候的数据。
[0057] 而且,在判定为接收到的数据是处理器内核4正在等候的数据的情况下,通信装置10将数据作为在高速缓冲存储器5中保存的数据向处理器内核4发送。换言之,通信装置10通过将数据作为在高速缓冲存储器5中保存的数据向处理器内核4发送,将接收到的数据保存在高速缓冲存储器5以及存储器6中。
[0058] 另一方面,在判定为接收到的数据不是处理器内核4正在等候的数据的情况下,通信装置10将数据作为在存储器6中保存的数据向处理器内核4发送。换言之,通信装置10通过将数据作为在存储器6中保存的数据向处理器内核4发送,将接收到的数据保存在主存储器6中。
[0059] 另外,在从处理器内核4接收到数据和表示发送目的地的其他信息处理装置2a的信息的情况下,通信装置10将接收到的数据数据包化,并经由总线8向发送目的地的其他信息处理装置2a发送数据包。另外,在从处理器内核4一并接收到其他信息处理装置2a所具有的处理器正在等候的数据的主旨的情况下,通信装置10将接收到的数据数据包化,并将表示是查询处理的对象的主旨的控制信息附加到数据包中。而且,通信装置10向发送目的地的其他信息处理装置2a发送附加有控制信息的数据包。
[0060] 以下,使用图4对通信装置10的一个例子进行说明。图4是用于对实施例1所涉及的通信装置的一个例子进行说明的图。在图4所示的例子中,通信装置10具有数据包生成部11、数据包发送部12、数据包接收部13、判定部14以及保存部15。
[0061] 如图4中(A)所示,在发送其他信息处理装置2a的处理器内核正在等候的数据的情况下,数据包生成部11执行以下的处理。即,数据包生成部11将待发送的数据数据包化,并将发送目的地的其他信息处理装置2a、保存数据的发送目的地的其他信息处理装置2a所具有的存储器的存储器地址等保存在数据包中。另外,数据包生成部11将向其他信息处理装置2a的处理器内核所具有的高速缓冲存储器写入的主旨的控制信息附加在数据包中。而且,数据包生成部11向数据包发送部12发送生成了的数据包。
[0062] 这里,图5是用于对实施例1所涉及的数据包生成部所生成的数据包的一个例子进行说明的图。如图5中(A)所示,以往的数据包具有保存有表示发送目的地的其他信息处理装置2a的地址的标头(Header)部和保存数据的数据部。另一方面,数据包生成部11生成图5中(B)所示的数据包。具体而言,数据包生成部11如图5中(C)所示在数据包的标头与数据之间添加保存控制信息的1比特的标志区域。
[0063] 而且,在待发送的数据是发送目的地的其他信息处理装置2a的处理器内核正在等候的数据的情况下,数据包生成部11在标志区域保存“1”作为控制信息。另外,在待发送的数据不是发送目的地的信息处理装置的处理器内核正在等候的数据的情况下,数据包生成部11在标志区域保存“0”作为控制信息。此外,对于保存有上述的控制信息而言,不仅在数据包信息处理装置2,在信息处理装置2a等其他信息处理装置也生成相同的数据包。
[0064] 返回图4,在接收到数据包生成部11所生成的数据包的情况下,如图4中(B)所示,数据包发送部12经由总线8向成为其他信息处理装置2a等的发送目的地的其他信息处理装置发送。
[0065] 在图4中(C)所示,经由总线8接收到数据包的情况下,数据包接收部13向判定部14转送接收到的数据包。判定部14判定在接收到的数据包的标志区域是否保存有“1”。
[0066] 而且,在数据包的标志区域保存有“1”的情况下,判定部14判定为在数据包中保存的数据是在高速缓冲存储器5中保存的数据。另外,在数据包的标志区域保存有“0”的情况下,判定部14判定为是将在数据包中保存的数据保存在存储器6中的数据。之后,判定部14向保存部15发送判定的内容以及在数据包中保存的数据。
[0067] 在判定部14判定为在数据包中保存的数据是在高速缓冲存储器5中保存的数据的情况下,保存部15执行以下的处理。即,保存部15如图4中(D)所示将在数据包中保存的数据作为在高速缓冲存储器5以及存储器6中保存的数据向处理器内核4发送。另外,在判定部14判定为是将在数据包中保存的数据保存在存储器6中的数据的情况下,保存部15将在数据包中保存的数据作为在存储器6中保存数据向处理器内核4发送。
[0068] 具体而言,在数据包的标志区域保存有“1”的情况下,保存部15向处理器内核4发送从判定部14接收到的数据和将数据保存在高速缓冲存储器5中的主旨的通知。另外,在数据包的标志区域保存有“0”的情况下,保存部15向处理器内核4发送数据。换言之,保存部15将作为在存储器6中保存的数据而接收到的数据向处理器内核4发送。
[0069] 如上所述,在发送其他信息处理装置2a所具有的处理器内核正在等候的数据,换言之成为查询对象的数据的情况下,通信装置10执行以下的处理。即,通信装置10在待发送的数据包的标志区域保存“1”作为控制信息,向发送目的地的其他信息处理装置2a发送。另外,在发送处理器内核4正在等候的数据的情况下,信息处理装置2a等其他信息处理装置所具有的通信装置也发送在标志区域保存有“1”的数据包。
[0070] 而且,在接收到的数据包的标志区域保存有“1”的情况下,通信装置10将在接收到的数据包中保存的数据作为应该向高速缓冲存储器5写入的数据向处理器内核4发送。在将在存储器6中保存的数据中的在应该写入接收到的数据的存储器地址保存的数据向高速缓冲存储器5高速缓冲的情况下,处理器内核4将从通信装置10接收到的数据向高速缓冲存储器5高速缓冲。因此,由于处理器内核4不仅能够从存储器6读出等候的数据,还能够从高速缓冲存储器5读出等候的数据,所以能够高效地执行运算处理。
[0071] 另一方面,在接收到的数据包的标志区域保存有“0”的情况下,通信装置10将在接收到的在数据包中保存的数据作为应该向存储器6写入的数据向处理器内核4发送。该情况下,处理器内核4向存储器6写入数据。换言之,信息处理装置2仅在从其他信息处理装置2a接收到处理器内核4正在等候的数据的情况下才保存在处理器内核4所具有的高速缓冲存储器5中,除此之外的数据被保存在存储器6中。因此,能够防止是否在运算中使用的这样的不明数据而在高速缓冲存储器5中保存的运算中所使用的数据被吐出,其结果,并行计算机系统1能够防止计算处理速度的降低。
[0072] 例如,处理器3、处理器内核4、数据包生成部11、数据包发送部12、数据包接收部13、判定部14、保存部15由LSI(Large Scale Integrated circuit)等集成电路而实现。
[0073] 另外,存储器6是指RAM(Random Access Memory)、ROM(Read Only Memory)以及闪存(flash memory)等半导体存储器元件。另外,高速缓冲存储器5是处理器内核4的内部存储器。
[0074] [通信装置10的处理流程]
[0075] 接下来,使用图6对通信装置10所执行的处理流程进行说明。图6是用于对实施例1所涉及的通信装置执行的处理流程进行说明的流程图。在图6所示的例子中,通信装置10以将经由总线8接收到将信息处理装置2作为发送目的地的数据包为触发开始处理。
[0076] 首先,通信装置10判定在接收到的数据包的标志区域是否保存有“1”(步骤S101)。而且,在接收到的数据包的标志区域保存有“1”的情况下(步骤S101肯定),通信装置10将在接收到的数据包中保存的数据作为在高速缓冲存储器5中保存的数据向处理器内核4发送(步骤S102)。另一方面,在接收到的数据包的标志区域保存有“0”的情况下(步骤S101否定),通信装置10将在接收到的数据包中保存的数据作为在存储器6中保存的数据向处理器内核4发送(步骤S103)。其后,通信装置10结束处理。
[0077] [实施例1的效果]
[0078] 如上所述,在从其他信息处理装置2a接收到数据的情况下,信息处理装置2判定处理器内核4是否正在等候接收到的数据。而且,在判定为处理器内核4正在等候接收到的数据的情况下,信息处理装置2将接收到的数据保存在高速缓冲存储器5中。另外,在判定为处理器内核4不是正在等候接收到的数据的情况下,信息处理装置2将接收到的数据保存在存储器6中,而不保存在高速缓冲存储器5中。
[0079] 因此,在接收到处理器内核4在运算中未利用的数据时,信息处理装置2防止在高速缓冲存储器5中保存的数据的吐出。其结果,由于各信息处理装置2、2a所具有的处理器内核能够使用在高速缓冲存储器中保存的数据来执行高效的处理,因此并行计算机系统1能够防止计算处理速度的降低。
[0080] 另外,在发送其他信息处理装置所具有的处理器内核正在等候的数据的情况下,各信息处理装置2、2a在待发送的数据包中保存表示处理器内核正在等候的主旨的控制信息。而且,在接收到的数据包中保存有控制信息的情况下,各信息处理装置2、2a将接收到的数据包的数据保存在高速缓冲存储器5中。另外,在接收到的数据包中未保存有控制信息的情况下,各信息处理装置2、2a将接收到的数据包的数据保存在存储器6中。因此,各信息处理装置2、2a能够容易地判定是否应该将接收到的数据保存在高速缓冲存储器中。
[0081] 实施例2
[0082] 在实施例2中,对具有多个设置有具有多个处理器内核的处理器的信息处理装置的并行计算机系统进行说明。图7是用于对实施例2所涉及的并行计算机系统的一个例子进行说明的图。在图7所示的例子中,并行计算机系统1a具有多个信息处理装置2b、2c。此外,信息处理装置2c作为执行与信息处理装置2b相同的处理的装置,省略其说明。
[0083] 另外,针对信息处理装置2b具有的各部中发挥与信息处理装置2所具有的各部相同功能的各部赋予相同的附图标记,省略它们的说明。
[0084] 信息处理装置2b具有处理器3a。另外,处理器3a具有多个处理器内核4a~4c。此外,处理器3a内的处理器内核可以是任意的数量。各处理器内核4a~4c分别具有高速缓冲存储器5a~5c。此外,在以下的说明中,处理器内核4b、4c发挥与处理器内核4a相同的功能,省略它们的说明。另外,高速缓冲存储器5b、5c发挥与高速缓冲存储器5a相同的功能,省略它们的说明。
[0085] 高速缓冲存储器5a具有与实施例1所涉及的高速缓冲存储器5相同地保存状态数据、标签数据以及数据的多个高速缓冲行。这里,高速缓冲存储器5保存表示在与标签信息相同的高速缓冲行保存的数据、在其他的高速缓冲存储器5b、5c中保存的数据以及在存储器6中保存的数据之间的关系的相同性信息。
[0086] 例如,高速缓冲存储器5保存表示基于MESI协议(伊利诺伊协议)的高速缓冲行的状态的信息作为状态数据。具体而言,在状态数据中保存有“M:Modify”的情况下,表示对在相同的高速缓冲行中保存的数据排他性地进行高速缓冲,且高速缓冲了的数据被处理器内核4a更新为最新的状态。
[0087] 另外,在状态数据中保存有“E:Exclusive”的情况下,表示对在相同的高速缓冲行保存的数据排他性地进行高速缓冲,且高速缓冲了的数据未被处理器内核4a更新的状态。另外,在状态数据保存有“S:Shared”的情况下,表示其他的高速缓冲存储器5b、5c对相同的共享数据进行高速缓冲。另外,在状态数据保存有“I:Invalid”的情况下,表示相同高速缓冲行的数据为无效。
[0088] 在通信装置10a接收到不是各处理器内核4a~4c正在等候的数据的情况下,处理器内核4a将接收到的数据保存在存储器6中。另外,在通信装置10a接收到的数据是处理器内核4a正在等候的数据且将存储器6中在保存接收到的数据的存储器地址保存的数据保存在高速缓冲存储器5a中的情况下,处理器内核4a执行以下的处理。
[0089] 即,处理器内核4a判定其他的处理器内核4b、4c是否对在高速缓冲存储器5a中保持的数据进行了高速缓冲,在判定为保持的情况下,处理器内核4a将接收到的数据保存在存储器6中。另外,在判定为其他的处理器内核4b、4c未对在高速缓冲存储器5a中保持了的数据进行高速缓冲的情况下,处理器内核4a仅将接收到的数据保存在高速缓冲存储器5a中。
[0090] 接下来,对处理器内核4a所执行的处理的一个例子进行说明。例如,在从通信装置10a接收到数据作为在存储器6中保存的数据的情况下,处理器内核4a执行以下的处理。即,处理器内核4a参照高速缓冲存储器5a中与保存接收到的数据的存储器6的存储器地址的索引对应的高速缓冲行的状态数据。
[0091] 而且,在参照了的状态数据保存有“M”的情况下,处理器内核4a向存储器6写出在与参照了的状态数据相同的高速缓冲行保存的数据。接下来,处理器内核4a将参照了的状态数据从“M”更新为“I”。其后,处理器内核4a将接收到的数据保存在存储器6中。另外,在参照了的状态数据为“M”以外的情况下,处理器内核4a将参照了的状态数据更新为“I”,并将接收到的数据保存在存储器6中。
[0092] 另一方面,在从通信装置10a接收到数据作为在高速缓冲存储器中保存的数据的情况下,处理器内核4a执行以下的处理。即,处理器内核4a参照高速缓冲存储器5a中与保存接收到的数据的存储器6的存储器地址的索引对应的高速缓冲行的状态数据和标签数据。
[0093] 而且,在参照了的状态数据保存有“I”的情况下,或者在保存接收到的数据的存储器地址的标签与参照了的标签数据不一致的情况下,处理器内核4a将接收到的数据保存在存储器6中。另外,在参照了的状态数据保存有“S”且保存接收到的数据的存储器地址的标签与参照了的标签数据一致的情况下,处理器内核4a将接收到的数据保存在存储器6中并将参照了的状态数据从“S”更新为“I”。
[0094] 另外,在参照了的状态数据是“M”或者“E”且保存接收到的数据的存储器地址的标签与参照了的标签数据一致的情况下,处理器内核4a执行以下的处理。即,处理器内核4a将接收到的数据保存在高速缓冲存储器5a中,将参照了的状态数据更新为“M”。
[0095] 换言之,从通信装置10a接收到数据作为在高速缓冲存储器中保存的数据的情况下,各处理器内核4a~4c参照与保存接收到的数据的存储器地址的索引对应的高速缓冲行的状态数据和标签数据。而且,各处理器内核4a~4c根据参照了的状态数据与标签数据,来辨别接收到的数据是否是成为各处理器内核4a~4c的查询处理的对象的数据且自身的高速缓冲存储器是否保持有在保存接收到的数据的存储器地址保存的数据。换言之,各处理器内核4a~4c判别针对自身的高速缓冲存储器是否进行了查询处理。
[0096] 在从信息处理装置2c等其他信息处理装置接收到数据包的情况下,通信装置10a判定在接收到的数据包的标志区域是否保存有“1”。而且,在接收到的在数据包的标志区域保存有“1”的情况下,通信装置10a执行以下的处理。即,通信装置10a将接收到的数据作为在高速缓冲存储器中保持的数据,向各处理器内核4a~4c发送接收到的数据。
[0097] 另一方面,在接收到的数据包的标志区域保存有“0”的情况下,通信装置10a将接收到的数据作为在存储器6中保存的数据向各处理器内核4a~4c发送。
[0098] 接下来,使用图8对通信装置10a所具有的各部进行说明。图8是用于对实施例2所涉及的通信装置进行说明的图。在图8所示的例子中,通信装置10a具有数据包生成部11、数据包发送部12、数据包接收部13、判定部14以及保存部15a。
[0099] 在判定部14判定为在数据包的标志区域保存有“1”的情况下,保存部15a如图8中(A)所示向各处理器内核4a~4c发送作为在高速缓冲存储器高速缓冲的数据而接收到的数据。换言之,在判定部14判定为在数据包的标志区域保存有“1”的情况下,保存部
15a在保持有保存接收到的数据的存储器6的存储器地址保存的数据的高速缓冲存储器中保存接收到的数据。
[0100] 另外,在判定部14判定为在数据包的标志区域保存有“0”的情况下,如图8中(A)所示,保存部15a向各处理器内核4a~4c发送作为在存储器6中保存的数据而接收到的数据。换言之,在判定部14判定为在数据包的标志区域保存有“0”的情况下,保存部15a将接收到的数据保存在存储器6中。
[0101] [实施例2的效果]
[0102] 如上所述,信息处理装置2b具有具备多个处理器内核4a~4c的处理器3a。另外,各处理器内核4a~4c分别具有高速缓冲存储器5a~5c。而且,在从在信息处理装置2c等其他信息处理装置接收到数据包的情况下,信息处理装置2b判定在接收到的数据包的标志区域是否保存有“1”作为控制信息。而且,作为控制信息保存有“1”的情况下,信息处理装置2b将接收到的数据包的数据保存在高速缓冲存储器中,该高速缓冲存储器对在保存接收到的数据包的数据的存储器6的存储器地址保存的数据进行高速缓冲。另外,在保存有“0”作为控制信息的情况下,信息处理装置2b将接收到的数据包的数据保存在存储器6中。
[0103] 因此,在接收到作为由各处理器内核4a~4c进行的查询处理的对象的数据的情况下,信息处理装置2b能够直接将接收到的数据保存在高速缓冲存储器5a~5c中。因此,在处理器3a是具有多个处理器内核4a~4c的多核处理器的情况下,信息处理装置2b也能够使处理器3a高效地执行待执行的运算处理。
[0104] 另外,在接收到不是成为由各处理器内核4a~4c进行的查询处理的对象的数据的情况下,信息处理装置2b将接收到的数据保存在存储器6中。因此,信息处理装置2b能够防止各处理器内核4a~4c在运算处理中利用的数据由于接收到的数据而被从高速缓冲存储器5a~5c吐出。因此,并行计算机系统1a不会降低计算处理速度,使处理器3a执行高效的运算处理。
[0105] 另外,各高速缓冲存储器5a~5c保存表示在自身保持的数据、在其他的高速缓冲存储器5a~5c中保持的数据以及在存储器6中保存的数据之间的关系的相同性信息。而且,在作为在高速缓冲存储器中保存的数据接收到数据的情况下,各处理器内核4a~4c分别保持在自身的高速缓冲存储器5a~5c中高速缓冲了的数据与保存接收到的数据的存储器地址的数据之间的相同性信息。
[0106] 此时,各处理器内核4a~4c基于在自身的高速缓冲存储器5a~5c中保存的相同性信息,来保持高速缓冲了的数据与在存储器6保存的数据之间的相同性。其后,各处理器内核4a~4c将从通信装置10接收到的数据保存在高速缓冲存储器5a~5c中。因此,在各处理器内核4a~4c具有独自的高速缓冲存储器5a~5c的情况下,并行计算机系统1a也能够保持数据的相干性,使各信息处理装置2b、2c执行适当的运算处理。
[0107] 【实施例3】
[0108] 在实施例3中,对具有多个设置有处理器的信息处理装置的并行计算机系统进行说明,该处理器具有具备多个各自独立的L1高速缓冲存储器的处理器内核和各处理器内核共享的一个L2高速缓冲存储器。图9是用于对实施例3所涉及的并行计算机系统的一个例子进行说明的图。在图9所示的例子中,并行计算机系统1b具有多个信息处理装置2e、2f。此外,信息处理装置2f作为执行与信息处理装置2e相同处理的装置,省略其说明。
[0109] 另外,针对并行计算机系统1b具有的各部中发挥与并行计算机系统1a所具有的各部相同的功能的各部赋予相同的附图标记,省略它们的说明。
[0110] 信息处理装置2e具有处理器3b。另外,处理器3b具有多个处理器内核4d~4f与各处理器内核4d~4f共享的等级2高速缓冲存储器7。另外,各处理器内核4d~4f分别具有等级1高速缓冲存储器5d~5f。此外,各处理器内核4e、4f发挥与处理器内核4d相同的功能,省略它们的说明。
[0111] 各等级1高速缓冲存储器5d~5f具有多个行大小64字节的高速缓冲行。各等N1级1高速缓冲存储器5d~5f是具有“2 ”个高速缓冲行,并且在各高速缓冲行保存“2”比N1+6
特状态数据、“34-N1”比特标签数据以及64字节数据的“2 ”字节的高速缓冲存储器。这里,“N1”是指各等级1高速缓冲存储器5d~5f与自身的各高速缓冲行建立对应的索引的大小。
[0112] 此外,在各等级1高速缓冲存储器5d~5f的各高速缓冲行保存的各信息是与高速缓冲存储器5a~5c所具有的各高速缓冲行中保存的各信息相同的信息。另外,在各等级1高速缓冲存储器5d~6f的各高速缓冲行保存的状态数据是表示以下的相同性的相同性信息。即状态数据表示在相同高速缓冲行保存的数据、与在其他的等级1高速缓冲存储器5d~5f中保存的数据以及在等级2高速缓冲存储器7中保存的数据之间的相同性。
[0113] 等级2高速缓冲存储器7与各等级1高速缓冲存储器5d~5f相同地具有“2N2”个分别保存64比特的数据的高速缓冲行。另外,等级2高速缓冲存储器7在各高速缓冲行N2+6保存“2”比特状态数据、“34-N2”比特标签数据以及64字节数据的“2 ”字节的高速缓冲存储器。这里,“N2”是等级2高速缓冲存储器7与自身的各高速缓冲行建立对应的索引的大小。另外,在等级2高速缓冲存储器7的各高速缓冲行保存的状态数据表示在相同高速缓冲行保存的数据与在存储器6保存的数据之间的相同性。
[0114] 此外,各等级1高速缓冲存储器5d~5f以及等级2高速缓冲存储器7是直接映射方式的高速缓冲存储器。例如,在保持在存储器6的存储器地址“i”保存的数据的情况下,各等级1高速缓冲存储器5d~5f以及等级2高速缓冲存储器7在高速缓冲行编号为“i”的高速缓冲行保持数据。
[0115] 在通信装置10a接收到不是各处理器内核4d~4f正在等候的数据的情况下,处理器内核4d将接收到的数据保存在存储器6中。另外,在通信装置10a接收到自身正在等候的数据的情况下,处理器内核4d执行以下处理。即,处理器内核4d判定是否将在存储器6中保存接收到的数据的存储器地址所表示的保存区域保存的数据高速缓冲到作为1次高速缓冲存储器的等级1高速缓冲存储器5d。
[0116] 而且,在判定为将在存储器地址所表示的存储器6的保存区域保存的数据保持在等级1高速缓冲存储器5d中的情况下,处理器内核4d将接收到的数据高速缓冲到等级1高速缓冲存储器5d。另外,在判定为未将在存储器地址所表示的存储器6的保存区域保存的数据保持在等级1高速缓冲存储器5d中的情况下,处理器内核4d将接收到的数据保存在存储器6中。
[0117] 接下来,对处理器内核4d执行的处理的一个例子进行说明。例如,在从通信装置10a接收到数据作为在存储器6中保存的数据的情况下,处理器内核4d执行以下的处理。
即,处理器内核4d参照在与在等级1高速缓冲存储器5d中保存接收到的数据的存储器地址的索引对应的高速缓冲行保存的状态数据。而且,在参照了的状态数据为“M”的情况下,处理器内核4d向存储器6写出与参照了的状态数据相同的高速缓冲行的数据,将参照了的状态数据从“M”更新为“I”。而且,处理器内核4d将接收到的数据保存在存储器6中。
[0118] 另一方面,在从通信装置10a接收到数据作为在高速缓冲存储器5d~5f中保存的数据的情况下,处理器内核4d执行以下的处理。即,处理器内核4d参照与保存接收到的数据的存储器地址的索引对应的高速缓冲行中状态数据与标签数据。而且,在参照了的状态数据保存有“I”的情况或者参照了的标签数据与保存接收到的数据的存储器地址的标签不同的情况下,处理器内核4d将接收到的数据保存在存储器6中。
[0119] 另外,在参照了的状态数据保存有“S”且参照了的标签数据与保存接收到的数据的存储器地址的标签一致的情况下,处理器内核4d将接收到的数据保存在存储器6中,并且将参照了的状态数据从“S”更新为“I”。另外,在参照了的状态数据保存有“M”或者“E”并且参照了的标签数据与保存接收到的数据的存储器地址的标签一致的情况下,处理器内核4d执行以下的处理。即,处理器内核4d将接收到的数据保存在自身所具有的高速缓冲存储器即等级1高速缓冲存储器5d中,并将参照了的状态数据更新为“M”。此时,处理器内核4d不将接收到的数据保存在存储器6中。
[0120] 此外,在将接收到的数据保存在存储器6中的情况下,处理器内核4d在写入之前执行保持高速缓冲存储器5a~5c与主存储器6之间的数据的匹配性亦即数据相干性的处理。即,处理器内核4d参照与等级2高速缓冲存储器7中保存接收到的数据的存储器地址的索引对应的高速缓冲行的状态数据与标签数据。而且,在参照了的状态数据为“M”且标签数据与保存接收到的数据的存储器地址的标签一致的情况下,处理器内核4d将在与参照了的状态数据相同的高速缓冲行保存的数据保存在存储器6中。其后,处理器内核4d将参照了的状态数据“M”更新为“I”,并将接收到的数据保存在存储器6中。
[0121] 换言之,在通信装置10a接收到处理器内核4d~4f中哪个作为查询处理的对象的信息的情况下,处理器内核4d将接收到的数据作为在等级1高速缓冲存储器5d中保存的数据而接收。该情况下,处理器内核4d判定是否在等级1高速缓冲存储器5d排他性地高速缓冲在保存接收到的数据的存储器6的保存区域保存了的数据。而且,在等级1高速缓冲存储器5d排他性地高速缓冲在保存接收到的数据的存储器6的保存区域保存了的数据的情况下,处理器内核4d将接收到的数据高速缓冲到等级1高速缓冲存储器5d。
[0122] 通常,处理器内核4d高速缓冲保存有成为查询处理对象的数据的存储器地址的数据。因此,在由通信装置10a接收到处理器内核4d正在等候的数据的情况下,信息处理装置2e将接收到的数据保存在等级1高速缓冲存储器5d中,而不保存在存储器6中。其结果,并行计算机系统1b能够使各信息处理装置2e、2f高效地执行处理。
[0123] [实施例3的效果]
[0124] 如上所述,信息处理装置2e具有具备多个处理器内核4d~4f具有处理器3b。另外,各处理器内核4d~4f分别具有等级1高速缓冲存储器5d~5f。而且,在从信息处理装置2f等其他信息处理装置接收到数据包的情况下,信息处理装置2e判定在接收到的数据包的标志区域是否保存有控制信息“1”。
[0125] 而且,在作为控制信息保存有“1”的情况下,信息处理装置2e将接收到的数据保存在对保存接收到的数据的存储器地址的数据进行高速缓冲的等级1高速缓冲存储器5d~5f中。另外,在作为控制信息保存有“0”的情况下,信息处理装置2e将接收到的数据包的数据保存在存储器6中。
[0126] 因此,在接收到作为由各处理器内核4d~4f进行的查询处理的对象的数据的情况下,信息处理装置2e能够将接收到的数据直接保存在等级1高速缓冲存储器5d~5f中。因此,信息处理装置2e能够使处理器3b高效地执行待执行的运算处理。
[0127] 另外,在接收到不是由各处理器内核4d~4f进行查询处理的对象的数据的情况下,信息处理装置2e将接收到的数据保存在存储器6中。因此,信息处理装置2e能够防止各处理器内核4d~4f在运算处理中利用的数据由于接收到的数据而被从等级1高速缓冲存储器5d~5f吐出。因此,并行计算机系统1b不会使计算处理速度降低,能够高效地执行运算处理。
[0128] 另外,各等级1高速缓冲存储器5d~5f保存第1相同性信息,该第1相同性信息是表示在各等级1高速缓冲存储器5d~5f自身高速缓冲的数据、在其他的等级1高速缓冲存储器5d~5f中保存的数据以及在等级2高速缓冲存储器7中保存的数据之间的关系的状态数据。另外,在等级2高速缓冲存储器7保存有作为表示在自身高速缓冲的数据与在存储器6高速缓冲的数据之间的关系的状态数据的第2相同性信息。而且,各处理器内核4d~4f基于第1相同性信息以及第2相同性信息,来保持在等级1高速缓冲存储器5d~
5f中保存的数据、在等级2高速缓冲存储器7中保存的数据以及在存储器6中保存的数据之间的相同性。
[0129] 因此,在各处理器内核4d~4f具有独立的等级1高速缓冲存储器5d~5f并且共享等级2高速缓冲存储器7的情况下,并行计算机系统1b也能够适当地保持数据的相同性,执行适当的运算处理。
[0130] 实施例4
[0131] 在以下的实施例4中,使用图10对并行计算机系统的一个例子进行说明。图10是用于对实施例4所涉及的并行计算机系统进行说明的图。如图10所示,并行计算机系统1c具有多个信息处理装置2f、2g。此外,虽然在图10中省略,但并行计算机系统1c也可以还具有多个信息处理装置。另外,信息处理装置2g作为执行与信息处理装置2f相同的处理的装置,省略其说明。另外,针对与实施例1~4所涉及的各部执行相同的处理的部分赋予相同的附图标记,省略它们的说明。
[0132] 信息处理装置2f具有处理器3c、存储器6以及通信装置10b。处理器3c具有处理器内核4g。处理器内核4g具有高速缓冲存储器5。另外,通信装置10b具有写入目的地地址表16。
[0133] 处理器内核4g执行与实施例1所涉及的处理器内核4相同的处理。换言之,在作为在存储器6中保存的数据从通信装置10b接收到数据的情况下,处理器内核4g执行与处理器内核4相同的处理,将接收到的数据保存在存储器6中。另外,在作为在高速缓冲存储器5中保存的数据从通信装置10b接收到数据的情况下,处理器内核4g执行与处理器内核4相同的处理,将接收到的数据保存在高速缓冲存储器5中。因此,省略处理器内核4g将数据保存在高速缓冲存储器5或者存储器6中的处理的说明。
[0134] 并且,在执行等候接收数据的查询处理的情况下,处理器内核4g之前在通信装置10b的写入目的地地址表16登记保存成为查询处理对象的数据的存储器6的存储器地址。
具体而言,处理器内核4g向通信装置10b发送保存成为查询处理对象的数据的存储器6的存储器地址,使后述的通信装置10b的更新部17将发送了的存储器地址保存在写入目的地地址表16。
[0135] 另外,在从通信装置10c接收作为查询处理对象的数据,将接收到的数据保存在高速缓冲存储器5中的情况下,处理器内核4g向通信装置10c通知已将作为查询处理对象的数据保存在高速缓冲存储器5中的主旨。例如,处理器内核4g向通信装置10b发送已将作为查询处理对象的数据保存在高速缓冲存储器5中的主旨和保存在高速缓冲存储器5中保存的数据的存储器6的存储器地址。
[0136] 通信装置10b具有保持控制数据向高速缓冲存储器5的写入的控制地址的写入目的地地址表16。而且,在从信息处理装置2g等其他信息处理装置接收到的数据的写入目的地地址与在写入目的地地址表16保持的控制地址一致的情况下,通信装置10b执行以下处理。即,通信装置10b将接收到的数据作为保存在高速缓冲存储器5中的数据向处理器内核4g发送。
[0137] 另外,在接收到的数据的写入目的地地址与在写入目的地地址表16保持的控制地址不一致的情况下,通信装置10b将接收到的数据作为保存在存储器6中的数据向处理器内核4g发送。
[0138] 另外,在从处理器内核4g接收到已将作为查询处理对象的数据保存在高速缓冲存储器5中的主旨的通知的情况下,通信装置10b执行以下处理。即,通信装置10b从写入目的地地址表16消除保存在高速缓冲存储器5中保存的数据的存储器6的存储器地址。
[0139] 例如,通信装置10b从处理器内核4g接收已将作为查询处理对象的数据保存在高速缓冲存储器5中的主旨,并且接收保存在高速缓冲存储器5中保存的数据的存储器6的存储器地址。该情况下,通信装置10b从写入目的地地址表16检索接收到的存储器地址,将检索到的存储器地址从写入目的地地址表16削除。
[0140] 以下,使用图11以及图12对通信装置10b进行说明。首先,使用图11对通信装置10b所具有的各部进行说明。图11是用于对实施例4所涉及的通信装置的一个例子进行说明的图。如图11所示,通信装置10b具有数据包生成部11、数据包发送部12、数据包接收部13、判定部14a、保存部15、写入目的地地址表16以及更新部17。
[0141] 写入目的地地址表16保持保存有作为处理器内核4g的查询处理对象的数据的存储器地址。这里,图12是用于对写入目的地地址表的一个例子进行说明的图。在图12所示的例子中,写入目的地地址表16具有保存存储器地址的行编号“0”~“N-1”的N行存储器。
[0142] 例如,各行存储器在图12中(A)所示的1比特的区域保存有效比特,在图12中(B)所示的64比特的范围保存存储器地址。这里有效比特是指在对应的行存储器中保存的存储器地址是否是有效的数据的比特。例如,在有效比特保存有“0”的情况下,表示在对应的行存储器中保存的存储器地址的数据是无效的。另外,例如,在有效比特保存有“1”的情况下,表示对应的行存储器中保存的存储器地址的数据是有效的。此外,写入目的地地址表16是RAM(Random Access Memory)、ROM(Read Only Memory)、闪存(flash memory)等半导体存储器元件。
[0143] 在从数据包接收部13接收到数据包的情况下,判定部14a取得保存在接收到的数据包中保存的数据的存储器6的存储器地址。另外,判定部14a判定在写入目的地地址表16是否保存有与取得的存储器地址相同的存储器地址。
[0144] 即,判定部14a对在写入目的地地址表16所具有的各行存储器中与有效比特“1”对应的行存储器中保存的存储器地址与取得的存储器地址进行比较。而且,在有效比特保存有“1”的行存储器中保存的存储器地址与取得了的存储器地址一致的情况下,判定部14a判定为在接收到的数据包中保存的数据是在高速缓冲存储器5中保存的数据。
[0145] 另一方面,判定为在与有效比特“1”对应的行存储器中保存的存储器地址与取得了的存储器地址不一致的情况下,判定部14a判定为在接收到的数据包中保存的数据是在存储器6中保存的数据。
[0146] 如图11中(A)所示,在从处理器内核4g接收到保存作为查询处理对象的数据的存储器6的存储器地址的情况下,更新部17向写入目的地地址表16追加接收到的存储器地址。另外,在从处理器内核4g接收到已取得了作为查询处理对象的数据的主旨的通知的情况下,更新部17从写入目的地地址表16削除保存作为查询处理对象的数据的存储器6的存储器地址。
[0147] 例如,在从处理器内核4g接收到保存作为查询处理对象的数据的存储器6的存储器地址的情况下,更新部17选择写入目的地地址表16所具有的各行存储器中对应的有效比特为“0”的行存储器。而且,更新部17将从处理器内核4g接收到的存储器地址保存在选择了的行存储器中,并将选择了的行存储器的有效比特更新为“1”。
[0148] 另外,在从处理器内核4g接收到已将作为查询处理对象的数据保存在高速缓冲存储器5中的主旨和保存在高速缓冲存储器5中保存的数据的存储器6的存储器地址的情况下,更新部17执行以下的处理。即,更新部17检索写入目的地地址表16所具有的各行存储器中对应的有效比特为“1”的行存储器且是保存从处理器内核4g接收到的地址的行存储器。而且,更新部17将与检索到的行存储器对应的有效比特更新为“0”。此外,更新部17是电子电路。这里,作为电子电路的例子,可以使用ASIC(Application Specific Integrated Circuit:应用型专用集成电路)、FPGA(Field Programmable Gate Array:现场可编程门阵列)等集成电路,或者CPU(Central Processing Unit:中央处理器)、MPU(Micro Processing Unit:微处理器)等。
[0149] [通信装置10b的处理流程]
[0150] 接下来,使用图13对通信装置10b执行的处理流程进行说明。图13是用于对实施例4所涉及的通信装置执行的处理流程进行说明的流程图。在图13所示的例子中,通信装置10b以经由总线8接收到将信息处理装置2f作为发送目的地的数据包为触发开始处理。
[0151] 首先,通信装置10b辨别在接收到的数据包中保存的数据的写入目的地地址与在写入目的地地址表16保存的存储器地址是否一致(步骤S201)。换言之,通信装置10b辨别保存接收到的数据的存储器6的存储器地址是否已被登记在写入目的地地址表16。
[0152] 而且,在接收到的数据包中保存的数据的写入目的地地址与在写入目的地地址表16保存的存储器地址一致的情况(步骤S201肯定)下,通信装置10b执行以下的处理。即,通信装置10b将接收到的数据包的数据作为在高速缓冲存储器5中保存的数据向处理器内核4g发送(步骤S202)。
[0153] 另一方面,在接收到的数据包中保存的数据的写入目的地地址与在写入目的地地址表16保存的存储器地址与不一致情况(步骤S201否定)下,通信装置10b执行以下的处理。即,通信装置10b将接收到的数据包的数据作为在存储器6中保存的数据向处理器内核4g发送(步骤S203)。其后,通信装置10b结束处理。
[0154] [实施例4的效果]
[0155] 如上所述,信息处理装置2f具有保持保存作为处理器内核4g进行查询处理的对象的数据的存储器地址的写入目的地地址表16。另外,在处理器内核4g执行查询处理的情况下,信息处理装置2f将保存有成为查询处理对象的数据的存储器地址保存在写入目的地地址表16。
[0156] 而且,在从信息处理装置2g等其他信息处理装置接收到数据的情况下,信息处理装置2f判定保存接收到的数据的存储器地址是否已被保存在写入目的地地址表16。另外,在判定为保存接收到的数据的存储器地址被保存在写入目的地地址表16的情况下,信息处理装置2f将接收到的数据保存在高速缓冲存储器5中。另外,在判定为保存接收到的数据的存储器地址未被保存在写入目的地地址表16的情况下,信息处理装置2f将接收到的数据保存在存储器6中。
[0157] 因此,信息处理装置2f能够防止在接收到处理器内核4g在运算中未利用的数据时,在高速缓冲存储器5中保存的数据的吐出。其结果,由于各信息处理装置2f、2g具有的处理器内核使用在高速缓冲存储器中保存的数据执行高效的处理,所以并行计算机系统1c能够防止计算处理速度的降低。
[0158] 实施例5
[0159] 在实施例5中,对具有多个设置有具有多个处理器内核的处理器的信息处理装置的并行计算机系统1d进行说明。图14是用于对实施例5所涉及的并行计算机系统的一个例子进行说明的图。在图14所示的例子中,并行计算机系统1d具有以信息处理装置2h、2i为首的多个信息处理装置。此外,省略信息处理装置2i等各信息处理装置执行与信息处理装置2h相同的处理的说明。另外,针对信息处理装置2h所具有的各部中与信息处理装置2b具有的各部执行相同的处理的部分赋予相同的附图标记,省略它们的说明。
[0160] 信息处理装置2h具有具备多个处理器内核4h~4j的处理器3d、存储器6以及通信装置10c。各处理器内核4h~4j具有高速缓冲存储器5a~5c。另外,通信装置10c具有写入目的地地址表16a。
[0161] 处理器内核4h与实施例2所涉及的处理器内核4a相同地,在从通信装置10c接收到在存储器6中保存的数据的情况下,将接收到的数据保存在存储器6中。另外,在从通信装置10c接收到在高速缓冲存储器5a中保存的数据的情况下,处理器内核4h将接收到的数据保存在高速缓冲存储器5a中。
[0162] 另外,在将接收到的数据保存在高速缓冲存储器5a或者存储器6中的情况下,处理器内核4h执行以下处理。换言之,处理器内核4h与处理器内核4a相同地,基于在高速缓冲存储器5a中保存的相同性信息,来保持在高速缓冲存储器5a中保存的数据与在存储器6中保存的数据之间的相干性。
[0163] 具体而言,处理器内核4h根据在高速缓冲存储器5a具有的各高速缓冲行保存的状态数据,保持作为在高速缓冲存储器5a与存储器6中保存的数据的匹配性的数据的相干性。其后,处理器内核4h将接收到的数据保存在高速缓冲存储器5a或者存储器6中。此外,处理器内核4h保持在高速缓冲存储器5a与存储器6中保存的数据的相干性的详细的处理作为进行与处理器内核4a执行的处理相同的处理,省略它们的说明。
[0164] 并且,处理器内核4h与实施例4所涉及的处理器内核4g相同地,在执行查询处理的情况下,之前在通信装置10c的写入目的地地址表16登记成为查询处理对象的数据的写入目的地地址。此时,处理器内核4h将写入目的地地址和表示自身的高速缓冲存储器5a的写入目的地高速缓冲存储器识别信息与存储器地址建立对应地登记。
[0165] 通信装置10c具有将保存接收到的数据的存储器地址和识别各高速缓冲存储器5a~5c的写入目的地高速缓冲存储器识别信息建立对应地保持的写入目的地地址表16a。
而且,通信装置10c与实施例4所涉及的通信装置10b相同地,在从信息处理装置2i等其他信息处理装置接收到数据包的情况下,执行以下处理。即,通信装置10c辨别与保存接收到的数据包的存储器地址相同的存储器地址是否被保存在写入目的地地址表16a。
[0166] 而且,在与保存接收到的数据包的存储器地址相同的存储器地址已被保存在写入目的地地址表16a的情况下,通信装置10c执行以下处理。即,通信装置10c判定具有与和保存接收到的数据包的存储器地址相同的存储器地址建立对应的写入目的地高速缓冲存储器识别信息所表示的高速缓冲存储器的处理器内核。而且,通信装置10c将接收到的数据作为在高速缓冲存储器中保存的数据向判定出的处理器内核发送。
[0167] 另一方面,在与保存接收到的数据包的存储器地址相同的存储器地址未被保存在写入目的地地址表16a的情况下,通信装置10c将接收到的数据作为在存储器6中保存的数据向各处理器内核4h~4j发送。
[0168] 接下来,使用图15对通信装置10c所具有的各部进行说明。图15是用于对实施例5所涉及的通信装置的一个例子进行说明的图。此外,针对通信装置10c所具有的各部中执行与实施例1~4所示的各部相同的处理的各部,赋予相同的附图标记而省略其说明。
[0169] 在图15所示的例子中,通信装置10c具有保存部15b、判定部14b、写入目的地地址表16a以及更新部17a。写入目的地地址表16a与实施例4所涉及的写入目的地地址表16相同地,保持保存成为查询处理对象的数据的存储器地址。并且,写入目的地地址表16a将识别进行查询处理的处理器内核具有的高速缓冲存储器的写入目的地高速缓冲存储器识别信息与所保持的存储器地址建立对应地保持。
[0170] 例如,写入目的地地址表16a具有进一步在写入目的地地址表16的各行存储器追加保存写入目的地高速缓冲存储器识别信息的保存区域的多个行存储器。而且,写入目的地地址表16a将建立对应的存储器地址与写入目的地高速缓冲存储器识别信息保存在相同行存储器中。
[0171] 判定部14b取得保存在数据包接收部13接收到的数据包中保存的数据的存储器6的存储器地址。而且,判定部14b判定与取得的存储器地址相同的存储器地址是否已被保存在写入目的地地址表16a。
[0172] 而且,在与取得的存储器地址相同的存储器地址已被保存在写入目的地地址表16a的情况下,判定部14b执行以下处理。即,判定部14b取得与在写入目的地地址表16a保存的存储器地址建立对应地存储的写入目的地高速缓冲存储器识别信息。而且,判定部
14b判定在接收到的数据包中保存的数据是在取得的写入目的地高速缓冲存储器识别信息所表示的高速缓冲存储器中保存的数据。
[0173] 另一方面,在与取得的存储器地址相同的存储器地址未被保存在写入目的地地址表16a的情况下,判定部14b判定在接收到的数据包中保存的数据是在存储器6中保存的数据。
[0174] 在判定部14b判定为在接收到的数据是在高速缓冲存储器中保存的数据的情况下,保存部15b执行以下处理。即,保存部15b将接收到的数据作为在高速缓冲存储器中保存的数据向具有由判定部14b取得的写入目的地高速缓冲存储器识别信息所表示的高速缓冲存储器的处理器内核发送。例如,判定部14b判定出接收到的数据是在高速缓冲存储器5a中保存的数据的情况下,保存部15b向处理器内核4h发送接收到的数据。
[0175] 另一方面,在判定部14b判定为在接收到的数据包中保存的数据是在存储器6中保存的数据的情况下,保存部15b将接收到的数据作为在存储器6中保存的数据向处理器内核4h~4j发送。
[0176] 如图15中(A)所示,更新部17a从各处理器内核4h~4j接收保存成为查询处理对象的数据的存储器地址。与此同时,更新部17a接收表示各处理器内核4h~4j所具有的各高速缓冲存储器5a~5c的写入目的地高速缓冲存储器识别信息。该情况下,更新部17a将接收到的数据与写入目的地高速缓冲存储器识别信息保存在写入目的地地址表16a所具有的一个存储器行。
[0177] 另外,更新部17a与更新部17相同地,在从各处理器内核4h~4j接收到已将成为查询处理对象的数据保存在高速缓冲存储器中的主旨和存储器地址的情况下,执行以下处理。即,更新部17a从写入目的地地址表16a检索保存有接收到的存储器地址的行存储器,将与检索到的行存储器对应的有效比特更新为“0”。
[0178] 例如,在处理器内核4h执行查询处理的情况下,具有这样的各部的信息处理装置2h执行以下处理。即,信息处理装置2h将保存成为查询处理对象的数据的存储器地址与表示高速缓冲存储器5a的写入目的地高速缓冲存储器识别信息建立对应地保存在写入目的地地址表16a。而且,在从信息处理装置2i等接收到数据包的情况下,信息处理装置2h辨别保存在接收到的数据包中保存的数据的存储器地址是否已被保存在写入目的地地址表
16a。
[0179] 此时,在接收到的数据包中保存的数据是处理器内核4h成为查询处理对象的数据的情况下,保存的存储器地址已被保存在写入目的地地址表16a。因此,信息处理装置2h根据表示与保存接收到的数据的存储器地址建立对应地存储的高速缓冲存储器5a的写入目的地高速缓冲存储器识别信息,判定为进行查询处理的处理器内核是处理器内核4h。而且,信息处理装置2h向处理器内核4h发送接收到的数据并保存在高速缓冲存储器5a中。
[0180] [实施例5的效果]
[0181] 如上所述,信息处理装置2h将保存成为查询处理对象的数据的存储器地址与表示高速缓冲存储器的写入目的地高速缓冲存储器识别信息建立对应地保存在写入目的地地址表16a。而且,信息处理装置2辨别保存接收到的数据包的数据的存储器地址是否已被保存在写入目的地地址表16a,在已被保存的情况下,信息处理装置2执行以下处理。即,信息处理装置2h将接收到的数据保存在建立对应地保存的写入目的地高速缓冲存储器识别信息所表示的高速缓冲存储器中。
[0182] 因此,在接收到作为由各处理器内核4h~4j进行的查询处理对象的数据的情况下,信息处理装置2h能够直接将接收到的数据保存在高速缓冲存储器5a~5c中。因此,在各信息处理装置2h、2i所具有的处理器是具有多个处理器内核的多核处理器的情况下,并行计算机系统1d也能够高效地执行运算处理。
[0183] 另外,信息处理装置2h与其他实施例所涉及的信息处理装置2~2g相同地,在接收到处理器内核4h~4j在运算中未利用的数据时,能够防止在高速缓冲存储器5a~5c中保存的数据的吐出。其结果,并行计算机系统1d能够防止计算处理速度的降低。
[0184] 另外,信息处理装置2h与信息处理装置2f相同地,基于在高速缓冲存储器5a中保存的相同性信息,保持在高速缓冲存储器5a中保存的数据与在存储器6中保存的数据之间的相同性。因此,并行计算机系统1d能够使各信息处理装置2h、2i执行适当的处理。
[0185] 实施例6
[0186] 在实施例6中,对具有多个设置有处理器的信息处理装置的并行计算机系统进行说明,该处理器具有具有各自独立的L1高速缓冲存储器的多个处理器内核与各处理器内核共享的一个L2高速缓冲存储器。图16是用于对实施例3所涉及的并行计算机系统进行说明的图。
[0187] 如图16所示,并行计算机系统1e具有信息处理装置2j、2k等多个信息处理装置。此外,信息处理装置2k等作为执行与信息处理装置2j相同的处理的装置,省略其说明。
[0188] 另外,针对并行计算机系统1e所具有的各部中执行与并行计算机系统1b相同的处理部分赋予相同的附图标记,省略以下的说明。
[0189] 信息处理装置2j具有具备多个处理器内核4k~4m的处理器3e、和各处理器内核4k~4m共享的等级2高速缓冲存储器7。另外,各处理器内核4k~4m分别具有等级1高速缓冲存储器5d~5f。此外,处理器内核4l、4m执行与处理器内核4k相同的处理,省略以下的说明。
[0190] 处理器内核4k与实施例5所涉及的处理器内核4h相同地,在通信装置10d接收到数据作为在等级1高速缓冲存储器5d中保存的数据的情况下,将接收到的数据保存在等级1高速缓冲存储器5d中。另外,在通信装置10d接收到数据作为保存在存储器6中的数据的情况下,处理器内核4k将接收到的数据保存在存储器6中。
[0191] 另外,在将数据保存在等级1高速缓冲存储器5d或者等级2高速缓冲存储器7中的情况下,处理器内核4k执行与实施例3所涉及的处理器内核4d相同的处理。即,处理器内核4k基于第1相同性信息以及第2相同性信息,保持在等级1高速缓冲存储器5d、等级2高速缓冲存储器7以及存储器6中保存的数据的相同性。
[0192] 另外,在执行查询处理的情况下,处理器内核4k向通信装置10d发送保存成为查询处理对象的数据的存储器地址与表示等级1高速缓冲存储器5d的写入目的地高速缓冲存储器识别信息。换言之,处理器内核4k将保存成为查询处理对象的数据的存储器地址与表示等级1高速缓冲存储器5d的写入目的地高速缓冲存储器识别信息建立对应地保存在写入目的地地址表16b。
[0193] 另外,在将成为查询处理对象的数据保存在等级1高速缓冲存储器5d中的情况下,处理器内核4k向通信装置10d发送已将数据保存在等级1高速缓冲存储器5d中的主旨和保存数据的存储器地址。换言之,处理器内核4k从写入目的地地址表16b削除保存成为查询处理对象的数据的存储器地址等。
[0194] 通信装置10d具有写入目的地地址表16b。写入地址表16b与写入目的地地址表16a相同地,建立对应地保存有以下的信息。即,在写入目的地地址表16b建立对应地保存有保存成为查询处理对象的数据的存储器地址和识别各等级1高速缓冲存储器5d~5f的写入目的地高速缓冲存储器识别信息。
[0195] 而且,通信装置10d与通信装置10c相同地,在从信息处理装置2k等其他信息处理装置接收到数据包的情况下,执行以下处理。即,通信装置10d辨别与保存接收到的数据包的存储器地址相同的存储器地址是否已被保存在写入目的地地址表16b。
[0196] 而且,在与保存接收到的数据包的存储器地址相同的存储器地址已被保存在写入目的地地址表16b的情况下,通信装置10d执行以下处理。即,通信装置10d判定具有与和保存接收到的数据包的存储器地址相同的存储器地址建立对应的写入目的地高速缓冲存储器识别信息所表示的等级1高速缓冲存储器的处理器内核。而且,通信装置10d将接收到的数据作为在高速缓冲存储器中保存的数据向判定出的处理器内核发送。
[0197] 另一方面,在与保存接收到的数据包的存储器地址相同的存储器地址未被保存在写入目的地地址表16b的情况下,通信装置10d将接收到的数据作为在存储器6中保存的数据向各处理器内核4k~4f发送。
[0198] 例如,在处理器内核4k执行查询处理的情况下,具有这样的各部的信息处理装置2j执行以下处理。即,信息处理装置2j将保存成为查询处理对象的数据的存储器地址与表示等级1高速缓冲存储器5d的写入目的地高速缓冲存储器识别信息建立对应地保存在写入目的地地址表16b。而且,在从信息处理装置2k等其他信息处理装置接收到数据包的情况下,信息处理装置2j辨别保存在接收到的数据包中保存的数据的存储器地址是否已被保存在写入目的地地址表16b。
[0199] 此时,在接收到的数据包中保存的数据是成为处理器内核4k进行查询处理的对象的数据的情况下,保存的存储器地址已被保存在写入目的地地址表16b。因此,信息处理装置2j根据表示与保存接收到的数据的存储器地址建立对应地存储的等级1高速缓冲存储器5d的写入目的地高速缓冲存储器识别信息,判定进行查询处理的处理器内核是处理器内核4k。而且,信息处理装置2j向处理器内核4k发送接收到的数据并保存在等级1高速缓冲存储器5d中。
[0200] 另外,信息处理装置2j使用在各等级1高速缓冲存储器5d~5f以及等级2高速缓冲存储器7中保存的第1相同性信息以及第2相同性信息,执行以下处理。换言之,信息处理装置2j保持在各等级1高速缓冲存储器5d~5f、等级2高速缓冲存储器7以及存储器6中保存的数据的相同性,其后,将接收到的数据保存在各等级1高速缓冲存储器5d~5f或者存储器6中。
[0201] [实施例6的效果]
[0202] 如上所述,信息处理装置2j将保存成为查询处理对象的数据的存储器地址、表示执行查询处理的处理器内核所具有的等级1高速缓冲存储器的写入目的地高速缓冲存储器识别信息建立对应地存储。而且,在保存接收到的数据的存储器地址与存储的存储器地址一致的情况下,信息处理装置2j将接收到的数据保存在建立对应地存储的写入目的地高速缓冲存储器识别信息所表示的等级1高速缓冲存储器中。因此,并行计算机系统1e能够使各处理器内核4k~4m高效地执行运算处理。
[0203] 另外,在接收到不是查询处理对象的数据的情况下,信息处理装置2j将接收到的数据保存在存储器6中。因此,并行计算机系统1e不会使计算处理速度降低,而能够执行高效的运算处理。
[0204] 另外,信息处理装置2j使用在各等级1高速缓冲存储器5d~5f中保存的第1相同性信息以及在等级2高速缓冲存储器7中保存的第2相同性信息,执行以下处理。即,信息处理装置2j适当地保持在各等级1高速缓冲存储器5d~5f、等级2高速缓冲存储器7以及存储器6中保存的数据的相同性。其结果,并行计算机系统1e能够执行适当的运算处理装置。
[0205] 实施例7
[0206] 以上对本发明的实施例进行了说明,但实施例可以以除上述的实施例以外以各种不同方式来实施。鉴于此,以下,作为实施例7,对本发明包括的其他实施例进行说明。
[0207] (1)并行计算机系统所具有的信息处理装置
[0208] 上述说明中各并行计算机系统1、1c具有具备高速缓冲存储器5的处理器内核4、4g。然而,实施例不仅局限于此,例如,各并行计算机系统1、1c也可以具有具备等级1高速缓冲存储器的处理器内核与具备等级2高速缓冲存储器的处理器。而且,并行计算机系统
1、1c所具有的处理器也可以使用在内核等级1高速缓冲存储器以及等级2高速缓冲存储器中保存的第1相同性信息与第2相同性信息,来保持数据的相干性。
[0209] 即,信息处理装置判定接收到的数据是否是成为查询处理对象的数据,在判定为是成为查询处理对象的数据的情况下,将接收到的数据保存在高速缓冲存储器中。另外,在判定为接收到的数据不是成为查询处理对象的数据的情况下,信息处理装置将接收到的数据保存在主存储器中。换言之,信息处理装置只要是执行这样的处理的信息处理装置即可,能够具有任意的构成。
[0210] (2)并行计算机系统
[0211] 上述的各并行计算机系统1~1e具有分别发挥相同功能的多个信息处理装置。然而,实施例并不局限于此,也可以是具备各实施例中的任意信息处理装置的并行计算机系统。换言之,信息处理装置基于在接收到的数据包是否保存有“1”作为控制信息,来判定接收到的数据包的数据是否是成为查询处理对象的数据,并且判定在写入目的地地址表是否保存有存储器地址。而且,也可以在满足上述任意条件的情况下,信息处理装置判定为是成为查询处理对象的数据。
[0212] 附图标记说明:
[0213] 1~1e...并行计算机系统;2~2k...信息处理装置;3~3e...处理器;4~4m...处理器内核;5~5c...高速缓冲存储器;5d~5f...等级1高速缓冲存储器;6...存储器;7...等级2高速缓冲存储器;10~10d...通信装置;11...数据包生成部;12...数据包发送部;13...数据包接收部;14~14b...判定部;15~15b...保存部;16,16a...写入目的地地址表;17,17a...更新部。