多重处理系统的制作方法

文档序号:6507888阅读:201来源:国知局
多重处理系统的制作方法【专利摘要】本发明的多重处理系统中,无需考虑通信方式或通信路径等的硬件便可在对象之间进行通信;在该多重处理系统中,利用多重处理系统整体构成通信对象节点的树,将应用层内的叶节点以外的其他节点配置在中间件层中,并且沿着树上的节点进行数据包发送;当标题中的发送目的地的地址与自节点的地址一致时,各节点将接收到的数据包作为自节点的数据包加以保存;当该标题中的发送目的地的地址为自节点的子节点地址时,各节点将接收到的该数据包发送至子节点,在其他情况下,各节点将接收到的该数据包发送至该自节点的父节点。【专利说明】多重处理系统【
技术领域
】[0001]本发明涉及多重处理系统(multiprocessingsystem)。【
背景技术
】[0002]为了打破漏电流和耗电量的增加对单核处理器单体的性能提高的限制,而使用多核处理器(multicoreprocessor)或多处理器(multiprocessor)。[0003]在嵌入式系统(embeddedsystem)中,为了提高性能价格比以及降低耗电量而使用非对称多重处理(AMP)系统。在AMP系统中,根据系统来确定每个处理器内核的功能,并利用各个处理器内核执行固有的程序。[0004]此时,多核处理器内的处理器内核之间经由多核通信应用程序接口(MCAPI(注册商标):MulticoreCommunicationsApplicationProgramInterface)、OS(操作系统)(有时不经由操作系统)以及中间件(middleware)进行通信,处理器之间经由连接处理器的PCIe(peripheralcomponentinterconnectexpress、快速外围组件互连)的设备驱动和OS(操作系统)进行通信。[0005]因此,在处理器内核中的用户节点(应用内的对象)之间进行通信时,必须根据硬件结构选择不同的通信方式,因而程序设计方面变复杂。[0006]另外,当因为系统更新而多重处理系统的结构发生改变时,也必须据此改变用户节点间通信的软件结构。[0007]进而,例如在第一处理器内核经由第二处理器内核与第三处理器内核连接时,从软件方面来看,第一处理器内核与第三处理器内核之间无法直接进行通信。【
发明内容】[0008]本发明的一个方面涉及的多重处理系统设有数据包路由部,该数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将第一节点分别配置在与配置有用户节点的存储空间相同的存储空间内的中间件层中;将以该第一节点作为子节点的父节点的对象设为第二节点,并将第二节点配置在配置有任一个第一节点的存储空间内的中间件层中;对于包含该用户节点、第一节点以及第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在该树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,其中,用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象。而且,当该标题中的发送目的地的地址与自节点的地址一致时,该数据包路由部将该数据包作为自节点的数据包加以保存,当该标题中的发送目的地的地址为自节点的子节点地址时,该数据包路由部将该数据包发送至子节点,在其他情况下,该数据包路由部将该数据包发送至该自节点的父节点。[0009]本发明的一个方面涉及的多重处理系统设有数据包路由部,该数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将第一节点分别配置在与配置有用户节点的存储空间相同的存储空间内的中间件层中;将以该第一节点作为子节点的父节点的对象设为第二节点,并将第二节点配置在配置有任一个第一节点的存储空间内的中间件层中;对于包含该用户节点、第一节点以及第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在该树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,其中,用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象。而且,该树中的各用户节点的该数据包路由部设有名称解析表,并在路由选择处理之前进行名称解析处理,其中,在该名称解析表中,各用户节点的名称与其地址呈对应关系;在该名称解析处理中,在取代该标题中的发送目的地的地址或发送源地址而使用名称的情况下,当该名称解析表中存在该名称时,将该名称转换为地址并利用该地址取代该标题中的名称,当该名称解析表中不存在该名称时,通知操作系统发生异常错误。[0010]本发明的一个方面涉及的多重处理系统设有数据包路由部,该数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将第一节点分别配置在与配置有用户节点的存储空间相同的存储空间内的中间件层中;将以该第一节点作为子节点的父节点的对象设为第二节点,并将第二节点配置在配置有任一个第一节点的存储空间内的中间件层中;对于包含该用户节点、第一节点以及第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在该树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,其中,用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象。而且,该树中的根节点以外的其他节点的该数据包路由部不具有名称解析表,在取代该标题中的发送目的地的地址或发送源地址而使用名称时,将该数据包发送至自节点的父节点;该根节点的该数据包路由部设有名称解析表,并在路由选择处理之前进行名称解析处理,其中,在该名称解析表中,各用户节点的名称与地址呈对应关系;在该名称解析处理中,在取代该标题中的发送目的地的地址或发送源地址而使用名称的情况下,当该名称解析表中存在该名称时,将该名称转换为地址并利用该地址取代该标题中的名称,当该名称解析表中不存在该名称时,通知操作系统发生异常错误。[0011]本发明的一个方面涉及的多重处理系统设有数据包路由部,该数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将第一节点分别配置在与配置有用户节点的存储空间相同的存储空间内的中间件层中;将以该第一节点作为子节点的父节点的对象设为第二节点,并将第二节点配置在配置有任一个第一节点的存储空间内的中间件层中;对于包含该用户节点、第一节点以及第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在该树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,其中,用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象;该树中的用户节点以外的其他节点的该数据包路由部设有名称解析表,其中,在该名称解析表中,自节点及其所有子代节点的名称与地址呈对应关系。而且,当取代该标题中的发送目的地的地址或发送源地址而使用名称时,各用户节点的该数据包路由部将该数据包发送至自节点的父节点;该树中的用户节点以外的其他节点的该数据包路由部在路由选择处理之前进行名称解析处理;在该名称解析处理中,在取代该标题中的发送目的地的地址或发送源地址而使用名称的情况下,当该名称解析表中存在该名称时,将该名称转换为地址并利用该地址取代该标题中的名称,当该名称解析表中不存在该名称但自节点具有父节点时,将该数据包发送至该父节点,当该名称解析表中不存在该名称且自节点不具有父节点时,通知操作系统发生异常错误。[0012]本发明的一个方面涉及的多重处理系统设有数据包路由部,该数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将第一节点分别配置在与配置有用户节点的存储空间相同的存储空间内的中间件层中;将以该第一节点作为子节点的父节点的对象设为第二节点,并将第二节点配置在配置有任一个第一节点的存储空间内的中间件层中;对于包含该用户节点、第一节点以及第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在该树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,其中,用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象。而且,该树中的各节点的该数据包路由部在路由选择处理之前进行名称解析处理;在该名称解析处理中,在取代该标题中的发送目的地的地址或发送源地址而使用名称的情况下,当该名称解析表中存在该名称时,将该名称转换为地址并利用该地址取代该标题中的名称,当该名称解析表中不存在该名称、或者自节点不具有该名称解析表时,若该自节点具有父节点则将该数据包发送至该父节点,若该自节点不具有父节点则通知操作系统发生异常错误。[0013](发明效果)[0014]根据上述结构,利用多重处理系统整体构成通信对象节点的树,并将用户节点以外的其他节点配置在中间件层中,对该树中的各节点设定能够根据值来区分父子关系的地址,并且在该树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,因此能够发挥下述效果,即,相对于各种结构的多重处理系统,能够以比较简单的结构,并且,无需考虑通信方式或通信路径等的硬件便可在用户节点间进行通信。[0015]另外,当该标题中的发送目的地的地址与自节点的地址一致时,各节点的数据包路由部将该数据包作为自节点的数据加以保存,当该标题中的发送目的地的地址为自节点的子节点地址时,各节点的数据包路由部将该数据包发送至子节点,在其他情况下,各节点的数据包路由部将该数据包发送至该自节点的父节点,因此能够发挥下述效果,即,能够使数据包的路由选择变得统一,从而能够适用于各种形态的用户节点间通信。[0016]另外,根据上述结构,参照名称解析表将数据包的标题中的发送源和发送目的地的名称转换为地址,因此能够发挥下述效果,即,即使通信对象节点的配置不同,也无需改变软件结构便可在对象之间进行通信。[0017]本发明的其他目的、特征性结构以及效果,通过对照权利要求书和说明书附图的记载阅读以下的说明便可了解。【专利附图】【附图说明】[0018]图1是表示本发明实施例1的多重处理系统的概略结构图。[0019]图2是从应用层至硬件层为止的概略层次结构图。[0020]图3是作为本发明实施例1涉及的用户节点间通信对象的节点的树图。[0021]图4是用户节点间通信中的发送对象数据包的格式的简图。[0022]图5是表示数据的分包处理的概略流程图。[0023]图6是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。[0024]图7中的(A)和⑶分别是表示图3的节点NlO和节点NOO的路由表的图。[0025]图8是本发明的实施例2涉及的通信对象节点的树图。[0026]图9是表示适用本发明实施例3的多重处理系统的概略结构图。[0027]图10是与图9对应的通信对象节点的树图。[0028]图11是本发明的实施例4的通信对象节点的树图。[0029]图12是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。[0030]图13中的(A)?(C)分别是图11的节点N110、NlOO以及N000的路由表的概略结构图。[0031]图14是发送数据包存储部的概略说明图。[0032]图15是发送数据包存储部的概略说明图。[0033]图16是关于配置在同一存储空间内的节点NlO和NOO的数据包收发的功能框图。[0034]图17中的㈧是表示图3中的叶节点或根节点的名称解析表的图,⑶?⑶分别是表示图3中的节点N10、N20以及N30的名称解析表的图。[0035]图18是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。[0036]图19是表示名称解析表的作成步骤的概略流程图。[0037]图20是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。[0038]图21是关于配置在同一存储空间内的节点NlO和NOO的数据包收发的功能框图。【具体实施方式】[0039]实施例1[0040]图1是表示本发明的实施例1的多重处理系统(multiprocessingsystem)的简图。[0041]在该多重处理系统中,多核处理器01与单核处理器02之间通过PCIe(peripheralcomponentinterconnectexpress、快速外围组件互连)连接。多核处理器01设有处理器内核10和处理器内核20,且处理器内核10和处理器内核20之间通过未图示的内部总线连接。单核处理器02的处理器内核30与多核处理器01的内部总线之间通过PCIe连接。[0042]图2表示从应用层至硬件层为止的概略层次结构。[0043]在OS(操作系统)层以下的层中,与现有技术同样地,处理器内核10与处理器内核20之间通过上述的MCAPI(MulticoreCommunicationsApplicationProgramInterface、多核通信应用程序接口)进行通信,处理器内核10与处理器内核30之间以及处理器内核20与处理器内核30之间通过PCIe进行通信。[0044]在本实施例1中,通过具备下述对象间通信机制,存用户节点(usernode)(作为用户应用内的对象的节点)之间进行通信时,能够以统一的方式进行通信,而无需选择MCAPI和PCIe的通信方式、即无需考虑通信对象在硬件上的位置。[0045]在图3中,作为叶节点(leafnode)的用户节点Nll和N12都是配置在与处理器内核10连接(能够通过处理器内核10访问)的存储空间内的应用层内的对象。上述对象既可以属于互不相同的应用也可以属于同一应用。这一点在以下的说明中也是同样的。[0046]同样地,作为叶节点的用户节点N21和N22都是配置在与处理器内核20连接的存储空间内的应用层内的对象。另外,作为叶节点的用户节点N31和N32都是配置在与处理器内核30连接的存储空间内的应用层内的对象。[0047]上述六个对象之间的通信路径具有6X5/2=15种,当通信对象的数量增加时该通信路径的数量也增加。另外,当欲在存储空间互不相同的应用层内的对象之间直接进行通信时,则该结构不易广义化。[0048]因此,通过组合图3所示的树状结构的节点间通信,从而能够在任意的叶节点之间进行通信。即,通过在以边缘(edge)连接的父子节点之间依次发送数据包(packet),从而能够在应用层的用户节点之间进行通信。以边缘连接的节点之间互相知道对方的存在,从而能够在上述节点之间发送数据。[0049]节点N10、N20以及N30分别是配置在与图1的处理器内核10、20以及30连接的存储空间内的中间件层(middlewarelayer)内的通信对象。另外,根节点NOO为虚拟节点(virtualnode),且是配置在与处理器内核10、20以及30中的任一个(优选为预计处理器间通信量最大的处理器内核)连接的存储空间内的中间件层内的通信对象。[0050]配置在同一存储空间内的应用层内的对象之间可以容易地进行直接通信,但是,这些对象有可能因为将来的系统变更而被配置在不同的存储空间内,因此,也可以形成为无论对象是否配置在同一存储空间内都统一地使用图3的树状结构进行通信。[0051]叶节点(发送源和发送目的地的节点)仅与其父节点(parentnode)连接,因而发送目的地必然是父节点。叶节点以外的其他节点(中间节点)参照路由表(routingtable)并根据自节点的地址和发送目的地的地址而确定一个接下来应该发送且经由边缘邻接的节点。此时,当按照满足下述条件的方式设定节点地址时,由于参照路由表的次数减少,因而能够提高处理的速度,其中,上述条件是指:能够根据地址值(addressvalue)而判断节点间的父子关系、是否为叶节点、或者是否为根节点。[0052]在将图3中的节点Nij的地址设为[i,j]时,按照满足上述条件的方式设定ij。SP,当i古O、j古O时,节点Nij是深度为2的叶节点,其父节点为j=O的节点,其父节点的父节点为i=O的根节点N00。根节点没有父节点。根节点以外的其他节点的父节点为一个(上升的边缘为一个),因而不用选择父节点。[0053]当例如分别以4位表示1、j时,则节点地址[i,j]为8位,最大可以表示256个节点。[0054]接着,对于在叶节点之间发送数据的例子进行说明。以下,将自节点的地址设为[i,j],将发送目的地的地址设为[i2,j2]。[0055]例如,在从节点Nll向节点NI2发送数据时,由于节点Nll没有子节点,因此,将数据从节点Nll发送至j=O的父节点NlO。由于节点NlO与作为其子节点的发送目的地节点N12连接,因此,节点NlO将该数据发送至节点N12。[0056]接着,在从节点Nll向节点N32发送数据时,由于节点Nll没有子节点,因此,将数据从节点Nll发送至j=O的父节点N10。由于i古i2从而节点NlO的子节点中没有发送目的地节点N32,因此,将数据发送至i=O的作为父节点的根节点N00。然后,将数据从根节点NOO发送至发送目的地节点N32的将j2设为O的节点N30。接着,将数据发送至j2=2的子节点N32。[0057]一般来说,自节点Nij中按照以下的规则对发送目的地节点Ni2j2的数据包进行路由选择(routing)。[0058](I)当i=i2、j=j2时,作为自节点的数据加以接收。[0059](2)当自节点为根节点(i=O、j=O)时,若在路由表中存在子节点的地址CA=[i2,O],则将数据发送至该子节点。当自节点是深度为I的节点(i古0、j=O)时,若在路由表中存在发送目的地的子节点的地址CA=[i2,j2],则将数据发送至该子节点。[0060](3)在其他情况下,当具有父节点时、即自节点并非根节点时,将数据发送至父节点的地址PA,S卩,当自节点为叶节点(i古O、j古O)时,将数据发送至父节点的地址PA=[i,O],当自节点是深度为I的节点(i古O、j=O)时,将数据发送至父节点的地址PA=[0,O]、即根节点。[0061]当从多个叶节点向一个发送目的地并行地发送数据时,必须在发送目的地对这些数据加以区分。因此,在发送对象数据的标题(header)中不仅包含有发送目的地节点的地址还包含有发送源节点的地址。另外,在将受硬件或软件限制的各节点一次可发送的最大数据量中的最小值设为DSmax的情况下,当所发送数据的大小超过DSmax时实施分包处理,其中,该分包处理是指:将数据加以分割以使包括标题在内的数据量不超过DSmax,并且分别对分割后的各数据附加上标题。该情况下,为了能够判断数据包之间的关系,而对标题赋予与IP协议同样的数据包序列号(下一个数据包序列号=当前的数据包序列号+当前数据包的有效载荷(payload)的字节数)。[0062]图4表示该多重处理系统中所使用的数据包的格式,在对有效载荷附加上作为标题的发送目的地和发送源的节点地址以及数据包序列号之后形成数据包。[0063]分包处理和解包处理仅在应用层的叶节点中执行。[0064]图5是表示数据的分包处理的概略流程图。以下,括弧内的内容为图中的步骤标识符号。[0065](步骤S0)当DS=(发送对象数据的数据量)+(标题的数据量)呈DS>DSmax时进入步骤SI,否则进入步骤S2。[0066](步骤SI)按照分割后的各数据的DS(DSmax的方式分割数据。[0067](步骤S2)分别对被分割或者未分割的数据赋予图4所示那样的标题从而形成数据包。[0068](步骤S3)将上述数据包存储在发送缓冲器中。[0069]图6是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理(routingprocess)的概略流程图。图3中的各节点(对象)具有该处理的程序。[0070]各节点设有发送队列(sendqueue),并且,该处理是根据发送队列从空状态变为被追加了一个元素的状态时发生的事件而开始执行的。[0071]每次从该发送队列提取出顶层元素(topelement)都要执行步骤SlO?S18的处理。[0072](步骤S10)从数据包标题中取得发送目的地的地址DA和自节点的地址SA。[0073](步骤Sll)当发送目的地的地址DA与自节点的地址SA相同(i=i2、j=j2)时进入步骤S12,否则进入步骤S13。[0074](步骤S12)将该数据包存储在自节点的接收缓冲器中,并进入步骤S19。[0075](步骤S13)根据发送目的地的地址DA的值逻辑性地判断发送目的地的地址DA是否为自节点的子代节点(i=0、0<i2,或者,i=i2、j=0、0<J2)的地址。当判断结果为“是”时进入步骤S14,否则进入步骤S16。[0076](步骤S14)当自节点的路由表中作为子节点地址而存在包含步骤S13中的子代节点在内的、自节点的子节点的地址CA(CA=[i2,0]或者CA=[i2,j2])时,进入步骤S15,否则进入步骤S18。[0077](步骤S15)将数据包发送至在步骤S14中判断为存在于自节点的路由表中的子节点的地址CA,并进入步骤S19。[0078](步骤S16)当具有父节点时、即自节点并非根节点时进入步骤S17,否则进入步骤S18。[0079](步骤S17)将数据包发送至父节点的地址PA(当i古0、j古O时PA=[i,0],当i关O、j=O时PA=[0,0]),并进入步骤S19。[0080](步骤S18)通知OS(操作系统)发生异常错误并将该数据包毁掉。当在应用侧未对该错误进行处理时应用停止,当在该处理中忽视错误时,进入步骤S19。[0081](步骤S19)当在上述发送队列中存在顶层元素时,返回至步骤S10,否则结束图6的处理。[0082]在步骤S15或步骤S17中,参照路由表选择通信接口方式,并据此改变发送目的地的地址后发送。即,通过在中间件层中进行该处理,从而在应用层中只要仅使用地址[i,j]即可。[0083]图7中的(A)和⑶分别表示图3中的节点NlO和NOO的路由表。在各路由表中,“NULL”表示没有值。另外,子节点接口(I/F)方式和父节点接口方式分别表示从自节点朝向子节点以及从自节点朝向父节点的接口方式,当其值为O时表示在同一存储空间内发送数据包(数据包或者其参考(reference)的移动),当其值为I时表示同一处理器内的处理器内核之间通过MCAPI发送数据包,当其值为2时表示不同处理器之间通过PCIe发送数据包。[0084]当存在多个子节点时,利用分隔符号“/”将各子节点接口方式分开记载。子节点和父节点的接口属性是以上述方式进行通信时所需的属性值,当该值为NULL时表示利用既定方法发送数据包。另外,当父节点/子节点的接口方式的值为NULL时,表示不存在该父节点/子节点。[0085]在图7(B)中,当子节点接口方式的值为I或2时,子节点接口属性分别记载为Xl或Y1。该Xl和Yl为参考值,属性被记载在分别参考Xl和Yl的数据块(结构体、struct)中。[0086]路由表通过例如相对于处理器以对话的方式设定程序并将其转换为XML文件来作成。[0087]根据本实施例1,利用多重处理系统整体构成通信对象节点的树,且将应用层内的叶节点以外的其他节点配置在中间件层中,并且沿着树上的节点进行数据包发送,因而能够发挥下述效果,即,相对于各种结构的多重处理系统,能够以比较简单的结构,并且,无需考虑通信方式或通信路径等的硬件便可在用户节点之间进行通信。[0088]实施例2[0089]图8表示本发明的实施例2涉及的通信对象节点树。[0090]在该树中,在图3中的深度为I和2的节点之间插入了接口节点(interfacenode),该接口节点用于简化与应用层的叶节点之间的通信步骤。一般来说,在将节点树的深度设为η时,节点地址的位数([]内被“,”分开的数字的个数)为η,在图8所示的树中,η=3。与实施例1同样地,节点Nijk的地址为[i,j,k]。[0091]深度为O和I的节点N000,N100、N200以及N300分别与图3中的节点N00、N10、N20以及N30相比仅其地址不同。[0092]一般来说,自节点Nijk中按照以下的规则对发送目的地节点Ni2j2k2的数据包进行路由选择。[0093](Ia)当i=i2、j=j2、k=k2时,作为自节点的数据加以接收。[0094](2a)当自节点为根节点(i=0、j=0、k=O)时,若在路由表中存在子节点地址CA=[i2,0,0],则将数据发送至该子节点。当自节点是深度为I的节点(i古O、j=O、k=O)时,若在路由表中存在子节点地址CA=[i2,j2,0],则将数据发送至该子节点。当自节点是深度为2的节点(i幸0、j幸0、k=O)时,若在路由表中存在子节点地址CA=[?2,j2,k2],则将数据发送至该子节点。[0095](3a)在其他情况下,当具有父节点时、即自节点并非根节点时,将数据发送至父节点的地址PA,即,当自节点为叶节点αΦO、jΦ0、kΦ0)时,将数据发送至父节点的地址PA=[i,j,O],当自节点是深度为2的节点(i古O、j古O、k=O)时,将数据发送至父节点的地址PA=[i,O,O],当自节点是深度为I的节点(i古O、j=O、k=O)时,将数据发送至父节点的地址PA=[0,O,O]、即根节点。[0096]关于图6的路由选择处理,考虑到上述(Ia)~(3a)的规则便可容易地理解,故省略其说明。[0097]分包处理和解包处理是在上述接口节点中执行。该接口节点也执行图6的路由选择处理。[0098]其他方面与上述实施例1相同。[0099]实施例3[0100]图9是表示适用本发明的实施例3的多重处理系统的简图。[0101]该多重处理系统设有四个多核处理器100、200、300以及400。多核处理器100的处理器内核110、120、130以及140之间通过内部总线连接,多核处理器200的处理器内核210,220,230以及240之间通过内部总线连接,多核处理器300的处理器内核310、320、330以及340之间通过内部总线连接,多核处理器400的处理器内核410、420、430以及440之间通过内部总线连接。多核处理器100、200、300以及400之间通过PCIe连接。[0102]与上述同样地,各处理器内的处理器内核之间通过MCAPI进行通信,不同处理器之间通过PCIe进行通信。[0103]图10表示与图9对应的通信对象节点树。[0104]节点Nijk的地址为[i,j,k]。所有节点Nijk中的、ijk与图9中的元件符号一致的节点是与该元件对应的节点。另外,例如像节点NllO与处理器内核110那样,ijk与图9中的处理器内核的符号一致的节点,与实施例1同样地是配置在与处理器内核ijk连接的存储空间内的中间件层内的通信对象。[0105]在该树中,将深度为I的节点设为与处理器对应的虚拟节点进行配置,该节点成为各处理器的子树(subtree)的根节点。该深度为I的节点减少根节点N000侧的边缘数从而避免在根节点N000中数据包混杂在一起,并且在各处理器中并行处理路由选择。即,该深度为I的节点是用于达成该目的的接口节点。[0106]各虚拟节点是配置在与其子节点中的任一个相同的存储空间内的中间件层内的通信对象。例如,节点N000和NlOO是配置在与节点NllO相同的存储空间内的中间件层内的通信对象。[0107]与图3的情况同样地,深度为3的叶节点为用户节点。[0108]其他方面与实施例1相同。[0109]在AMP(asymmetricmultiprocessing、非对称多重处理)中,为了提高性能价格比(costperformance)且降低耗电量而使用各种结构的多重处理系统,另外,该多重处理系统的结构在系统更新时也会发生改变。但是,从以上的实施例1?3可知,本发明的多重处理系统中的对象间通信机制是以统一的方式进行通信而与系统结构无关,并且,与硬件结构或OS(操作系统)的种类无关地能够在用户节点之间进行通信。[0110]实施例4[0111]图11表示本发明的实施例4的通信对象节点树。[0112]实施例4的硬件结构与图9相同。在该树中,将深度为2的节点中的、与同一处理器内的任意两个处理器内核对应的节点之间通过边缘加以连接,从而能够在这些节点之间直接进行通信,这一点与图10中的树不同。[0113]图12是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。图11中的各节点分别独立地具有该处理的程序。[0114]各节点设有发送队列,并且,该处理是根据发送队列从空状态变为被追加了一个元素的状态时发生的事件而开始执行的。[0115]每次从该发送队列提取出顶层元素时都进行步骤SlO?S18的处理。[0116]图12的处理与图6的处理的不同之处在于:与朝向兄弟节点(siblingnode)的数据包发送相对应地在步骤SII与步骤S13之间追加了步骤S20,进而追加了与之相关的步骤S21和步骤S22。接下来,对于该不同之处进行说明。[0117]当在步骤Sll中判断为“否”时进入步骤S20。[0118](步骤S20)当根据发送目的地的地址DA的值逻辑性地判断出发送目的地的地址DA为自节点的兄弟节点的子代节点(发送目的地节点的上代节点为自节点的兄弟节点)的地址时,进入步骤S21,否则进入步骤S13。更加具体来说,如下那样来判断发送目的地的地址DA是否为自节点的兄弟节点的子代节点的地址。[0119]S卩,当自节点是深度为I的节点(i古O、j=O、k=O)时,若在路由表中存在兄弟节点的地址BA=[i2,0,0],则将数据发送至该兄弟节点。当自节点是深度为2的节点(i古O、j古O、k=O)时,若在路由表中存在兄弟节点的地址BA=[i2,j2,0],则将数据发送至该兄弟节点。[0120](步骤S21)当自节点的路由表中包含有兄弟节点的地址BA时进入步骤S22,否则进入步骤S13。[0121](步骤S22)参照自节点的路由表来确定发送方式并将发送目的地的地址变更为该方式的地址,并将数据包发送至兄弟节点的地址BA,然后进入步骤S19。[0122]图13中的(A)?(C)分别表示图11中的节点N110、节点NlOO以及根节点N000的路由表。该路由表的结构是,针对兄弟节点而将与节点连接的兄弟节点的地址、与该节点进行通信的接口方式以及接口属性追加到图7的路由表中。[0123]实施例5[0124]在实施例5中,在图10的树中,通过将虚拟节点配置在配置有该虚拟节点的多个子节点的存储空间内,从而在同一存储空间内能够从任意的节点上升到根节点。即,通过将虚拟节点N000分别配置在与各处理器内核连接的存储空间内,并将深度为I的各虚拟节点分别配置在与配置有该虚拟节点的各子节点的存储空间相同的存储空间内,从而在从任意的节点向根节点上升时,这些节点都存在于同一存储空间内(发送缓冲器也存在于与该节点相同的存储空间内)。由于根据位置的不同而发送方式也不同,因此,对于各虚拟节点来说即使其地址相同也具有单独的路由表。[0125]从根节点起的下移是在进行下述动作的同时下移,其中,上述动作是指:在向该根节点的子节点(虚拟节点)发送数据包时,将数据包发送至具有同一地址的多个子节点中的、配置有发送目的地节点的存储空间内的子节点(按照该方式确定路由表),然后仅沿着该存储空间内的节点将数据包发送至发送目的地节点。[0126]由此,由于在同一存储空间内的数据包发送处理的比例增大,因而能够提高发送处理的速度。[0127]根据本实施例5,无需像图11那样将同一处理器内的处理器内核之间作为兄弟节点加以连接,能够通过更加简单且统一的结构与图11大致同样地发送数据包。[0128]另外,上述实施例1、2以及4也可以形成为与本实施例相同的结构。[0129]实施例6[0130]关于同一存储空间内的数据包的发送,通过将数据包配置在共享存储器内,从而实际上不用发送数据包,只要仅将数据包的参考从节点的发送队列移动至下一个节点的接收队列即可。[0131]例如如图14所示,在共享存储器内分割出应用11用的发送缓冲器11S。而且,同一存储空间内的各节点、例如图3中的节点Nll具有图14中的发送队列N11-14,图3中的节点NlO具有图14中的发送队列N10-14。[0132]各发送队列内的元素是将发送缓冲器IlS内的一个数据包的顶层地址和字节数作为参考加以保存。在提取出发送队列N11-14的顶层元素EA,并将发送缓冲器IlS内的与该顶层元素EA对应的数据包A发送至节点NlO时,实际上并非将数据包发送出去,而是在图6的步骤S17中如图15所示那样将该顶层元素EA追加(移动)至发送队列N10-14的末尾。由此,逻辑上来说已将数据包从节点Nll发送至节点N10。[0133]图16是关于配置在同一存储空间IOM内的节点Nil、NlO以及NOO的数据包收发的功能框图。存储空间IOM与图1的处理器内核10连接。在图16中,利用同一符号表示各节点中的相互对应的结构元件,以下将节点Nij的元素pq记载为Nij-pq。[0134]节点Nll是应用11内的对象,节点Nll的分包部13按照图5的流程对存储在发送缓冲器IlS中的数据进行分包,并如上述那样将该数据包的参考追加在发送队列N11-14的末尾。[0135]当发送队列N11-14从空状态变为被追加了一个元素的状态时,数据包收发控制部N11-15根据该事件的发生开始执行图6的处理。在上述步骤S17中,数据包收发控制部N11-15提取出发送队列N11-14的顶层元素并将其追加在发送队列N10-14的末尾。同样地,当发送队列N10-14从空状态变为被追加了一个元素的状态时,数据包收发控制部N10-15根据该事件的发生开始执行图6的处理,在上述步骤S17中,数据包收发控制部N10-15提取出发送队列N10-14的顶层元素并将其追加在发送队列N00-14的末尾。[0136]当发送队列N00-14从空状态变为被追加了一个元素的状态时,数据包收发控制部N00-15根据该事件的发生开始执行图6的处理,在步骤S15中,数据包收发控制部N00-15提取出发送队列N00-14的顶层元素,并参照路由表16,在发送接口方式的值为I或2时根据与之对应的接口属性的值变更地址,并经由通信部19将数据包发送至其他处理器内核。该通信部19由图2中的OS(操作系统)层、驱动层以及硬件层构成。[0137]另一方面,由OS(操作系统)层经由驱动层接收从图3中的节点N20或N30发送至节点NOO的数据包,并将该数据包存储在接收缓冲器IlRO中,并将该情况通知给数据包收发控制部N00-15。数据包收发控制部N00-15据此开始执行图6的处理,在步骤S15中将所存储的上述数据包的参考追加在发送队列N10-14的末尾。同样地,数据包收发控制部N10-15根据上述事件的发生开始执行图6的处理,在步骤S15中提取出发送队列N10-14的顶层元素并将其追加在发送队列N11-14的末尾。[0138]数据包收发控制部N11-15根据上述事件的发生开始执行图6的处理,在图6的步骤S12中提取出发送队列N11-14的顶层元素,并且经由数据包重新排列/解包部18将该数据包存储在接收缓冲器IlR内。此时,数据包重新排列/解包部18读出根据数据包的参考确定的接收缓冲器IlRO内的多个接收数据包并将其按照发送源地址加以分类,进而将数据包按照数据包序列号重新进行排列,并将各数据包的标题删除且将有效载荷之间连接起来,然后将该一系列数据存储在接收缓冲器IlR中。[0139]其他方面与上述实施例1相同。[0140]实施例7[0141]本发明的实施例7的多重处理系统具有与实施例1相同的结构(图1?图4),并且执行与实施例1相同的数据分包处理(图5)。[0142]在图3中,当因为软件或硬件的更新而树内的叶节点的位置发生变更时,必须与其对应地变更通信对象的地址。为了解决该问题,如各叶节点的下方所示,取代地址而使用与该节点地址对应的名称。[0143]图17中的(A)表示用于将各叶节点的名称转换为地址的名称解析表(nameresolutiontable)40A。名称解析表的配置方法有下述(A)?(C)三种。[0144](A)仅使各叶节点具有该名称解析表40A(至少在同一存储空间内具有一个名称解析表40A,由叶节点参照该名称解析表40A)。[0145]在发送源节点中,当数据包的标题中取代地址而使用名称时,参照名称解析表40A将标题内的名称转换为地址(名称解析)。根据该方法,可以在数据包的发送源节点中进行名称解析,但是,系统整体的内存使用量与叶节点的数量成比例地增加。[0146](B)仅使根节点具有名称解析表40A。[0147]该情况下,必须将数据包发送至根节点进行名称解析。[0148](C)使叶节点以外的其他各节点具有与该节点及其子代节点相关的名称解析表。[0149]具体来说,使图3的节点NOO具有图17中的(A)所示的名称解析表40A,使深度为I的节点N10、N20以及N30分别具有图17中的⑶?⑶所示的名称解析表40B?40D。在具有名称解析表的各节点中,当名称未被解析时尝试进行名称解析,若能够解析则对名称进行解析,若无法解析则将数据包发送至父节点。[0150]图18是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。图3中的各节点(对象)具有该处理的程序。名称解析表的配置可以是上述(A)?(C)中的任一种。[0151]各节点具有发送队列,该处理是根据发送队列从空状态变为被追加了一个元素的状态时发生的事件而开始执行的。[0152]每次从该发送队列中提取出顶层元素时都进行步骤SllO以后的处理。[0153](步骤SI10)从数据包标题取得发送目的地的地址DA和自节点的地址SA、或者发送目的地和自节点的名称。[0154](步骤SI11)当所取得的是发送源和发送目的地的地址时进入步骤SI15,当所取得的是名称时进入步骤S112。[0155](步骤S112)当自节点的名称解析表中存在与所取得的名称一致的名称时,将该名称转换为地址并更改标题的内容。当自节点不具有名称解析表时视为不存在一致的名称。[0156](步骤S113)当发送目的地的名称已被解析完毕时进入步骤S115,否则进入步骤S114。[0157](步骤S114)当自节点为根节点时进入步骤S11C,否则进入步骤S11B。[0158](步骤SI15)当发送目的地的地址DA与自节点的地址SA相同(i=i2、j=j2)时进入步骤S116,否则进入步骤S117。[0159](步骤SI16)将该数据包存储在自节点的接收缓冲器中,并进入步骤SI1D。[0160](步骤S117)根据发送目的地的地址DA的值逻辑性地判断发送目的地的地址DA是否为自节点的子代节点(i=0、0<i2,或者,i=i2、j=0、0<J2)的地址。当判断为“是”时进入步骤SI18,否则进入步骤S11A。[0161](步骤S118)当自节点的路由表中作为子节点地址而存在包含步骤S117中的子代节点在内的、自节点的子节点的地址CA(CA=[i2,0]或者CA=[i2,J2])时进入步骤S119,否则进入步骤S11C。[0162](步骤S119)将数据包发送至步骤S118中判断为存在于自节点的路由表中的子节点地址CA,并进入步骤S11D。[0163](步骤S11A)当具有父节点时、即自节点并非根节点时进入步骤S11B,否则进入步HfSiic0[0164](步骤S11B)将数据包发送至父节点的地址PA(当i古O、j古O时PA=[i,0],当i古O、j=O时PA=[0,0]),并进入步骤S11D。[0165](步骤S11C)通知OS(操作系统)发生异常错误并将该数据包毁掉。当在应用侧未对该错误进行处理时应用停止,当在该处理中忽视错误时进入步骤S11D。[0166](步骤S11D)当在上述发送队列中存在顶层元素时返回至步骤S110,否则结束图18的处理。[0167]在步骤SI19或者步骤SllB中,参照路由表选择通信接口方式,并据此变更发送目的地的地址后进行发送。即,通过在中间件层中进行该处理,从而在应用层中只要仅使用地址[i,j]即可。路由表也可以使用例如图8中的㈧和(B)所示的路由表。[0168]图19是表示自动作成名称解析表并将其自动分配至叶节点以外的其他节点的步骤的概略流程图。该处理在多重处理系统的初始化处理中执行。[0169](步骤S120)确定各节点的地址。例如,在图3中,按照处理器内核检测顺序来确定与各处理器内核对应的节点N10、N20、N30的地址,并将作为上述节点的父节点的根节点的地址设为[0,0]。根节点配置在第一个检测到的处理器内核的存储空间内,或者,由用户来选择处理器内核并将根节点配置在该处理器内核的存储空间内。将各应用中声明(declaration)的叶节点作为与其处于同一存储空间内的父节点N10、N20或者N30的子节点,并根据与图3相同的方法来确定其地址。[0170](步骤S121)各叶节点中使应用中声明的叶节点的名称与步骤S120中确定的地址相对应。[0171](步骤S122)各叶节点发送数据包,其中,该数据包的发送目的地的地址为根节点地址[O,O]、发送源地址为自节点的地址、并且有效载荷中包含有目节点的名称。[0172](步骤S123)根节点接收步骤S122中发送来的数据包,并作成图17中的㈧?(D)所示的名称解析表40A?40D。[0173](步骤S124)根节点将名称解析表40A作为自节点用的名称解析表加以保存,并将名称解析表40B?40D分别发送至节点N10、N20、N30。节点N10、N20、N30分别将接收到的名称解析表作为自节点用的名称解析表加以保存。[0174]根据本实施例7,利用多重处理系统整体构成通信对象节点的树,且将应用层内的叶节点以外的其他节点配置在中间件层中,并且沿着树上的节点进行数据包发送,因此能够发挥下述效果,即,相对于各种结构的多重处理系统,能够以比较简单的结构,并且,无需考虑通信方式或通信路径等的硬件便可在用户节点之间进行通信。[0175]另外,由于在叶节点之间可以取代地址而使用名称来发送数据包,因此能够发挥下述效果,即,即使因为软件或硬件的更新而树内的叶节点的位置发生改变,也无需与此对应地改变通信对象的地址。[0176]实施例8[0177]在本发明的实施例8的多重处理系统中,按照实施例2中的(Ia)?(3a)的规则执行实施例7中的路由选择处理(图18)。本发明实施例8的多重处理系统的其他结构和动作与实施例7相同。[0178]实施例9[0179]本发明的实施例9的多重处理系统具有与实施例3相同的结构(图9)。本发明实施例9的多重处理系统的其他结构和动作与实施例7相同。[0180]实施例10[0181]本发明的实施例10的通信对象节点树与图11所示的树相同。[0182]实施例10的硬件结构与图9相同。在该树中,将深度为2的节点中的、与同一处理器内的任意两个处理器内核对应的节点之间通过边缘加以连接,从而能够在这些节点之间直接进行通信,这一点与图10中的树不同。[0183]图20是表示叶节点以外的其他任意节点将其发送缓冲器内的数据包发送至下一个节点时的路由选择处理的概略流程图。图11中的各节点分别独立地具有该处理的程序。[0184]各节点具有发送队列,该处理是根据发送队列从空状态变为被追加了一个元素的状态时发生的事件而开始执行的。[0185]每次从该发送队列中提取出顶层元素时都进行步骤SllO以后的处理。[0186]图20的处理与图18的处理的不同之处在于:与朝向兄弟节点的数据包的发送相对应而在步骤SI15与步骤SI17之间追加了步骤S130,进而追加了与之相关的步骤S131和步骤S132。接下来,对于该不同之处进行说明。[0187]当在步骤S115中判断为“否”时,进入步骤S130。[0188](步骤S130)当根据发送目的地的地址DA的值逻辑性地判断出发送目的地的地址DA是自节点的兄弟节点的子代节点(发送目的地节点的上代节点为自节点的兄弟节点)的地址时,进入步骤S131,否则进入步骤S117。[0189]更加具体来说,如下那样判断发送目的地的地址DA是否为自节点的兄弟节点的子代节点的地址。S卩,当自节点是深度为I的节点Q幸0、j=0、k=O)时,若在自节点的路由表中存在兄弟节点的地址BA=[i2,0,0],则将数据发送至该兄弟节点。当自节点是深度为2的节点(iΦ0、jΦ0、k=0)时,若在自节点的路由表中存在兄弟节点的地址BA=[i2,j2,0],则将数据发送至该兄弟节点。[0190](步骤S131)当自节点的路由表中包含有兄弟节点的地址BA时,进入步骤S132,否则进入步骤SI17。[0191](步骤S132)参照自节点的路由表来确定发送方式,将发送目的地的地址变更为该方式的地址,并将数据包发送至兄弟节点的地址BA,然后进入步骤S11D。路由表也可以使用例如图13中的⑷?(C)所示的路由表。[0192]本发明实施例10的多重处理系统的其他结构和动作与实施例9相同。[0193]实施例11[0194]在实施例11中,通过在图10的树中将虚拟节点配置在分别配置有该虚拟节点的多个子节点的存储空间内,从而在同一存储空间内能够从任意的节点上升至根节点。即,通过将虚拟节点N000分别配置在与各处理器内核连接的存储空间内,将深度为I的各虚拟节点分别配置在与分别配置有该虚拟节点的子节点的存储空间相同的存储空间内,从而在从任意的节点上升至根节点时,这些节点都存在于同一存储空间内(发送缓冲器也存在于与该节点相同的存储空间内)。由于即使地址相同但其发送方式也根据位置的不同而不同,因此,各虚拟节点具有单独的路由表。[0195]从根节点起的下移是在进行下述动作的同时下移,其中,上述动作是指:在向根节点的子节点(虚拟节点)发送数据包时,将数据包发送至具有同一地址的多个子节点中的、配置有发送目的地节点的存储空间内的子节点,然后仅沿着该存储空间内的节点将数据包发送至发送目的地节点。[0196]由此,由于同一存储空间内的数据包发送处理的比例变大,因而能够提高发送处理的速度。[0197]其他方面与实施例9相同。[0198]根据本实施例11,无需像图11那样将同一处理器内的处理器内核之间作为兄弟节点加以连接,通过更加简单且统一的结构便可与图11大致同样地发送数据包。[0199]另外,上述实施例7、8以及10也可以形成为与本实施例相同的结构。[0200]实施例12[0201]关于同一存储空间内的数据包发送,通过将数据包配置在共享存储器内,从而实际上不用发送数据包,只要仅将数据包的参考从节点的发送队列移动至下一个节点的接收队列中即可。[0202]例如如图14所示,在共享存储器内分割出应用11用的发送缓冲器11S。而且,同一存储空间的各节点、例如图3中的节点Nll具有图14的发送队列N11-14,图3中的节点NlO具有图14的发送队列N10-14。[0203]各发送队列内的元素是将发送缓冲器IlS内的一个数据包的顶层地址和字节数作为参考加以保存。在提取出发送队列N11-14的顶层元素EA,并将发送缓冲器IlS内的与该顶层元素EA对应的数据包A发送至节点NlO时,实际上并非将数据包发送出去,而是在图18的步骤SllB中如图15所示那样将该顶层元素EA追加(移动)至发送队列N10-14的末尾。由此,从逻辑上来说已将数据包从节点Nll发送至节点N10。[0204]图21是关于配置在同一存储空间IOM内的节点Nil、NlO以及NOO的数据包收发的功能框图。存储空间IOM与图1中的处理器内核10连接。在图21中,利用同一符号表示各节点中的相互对应的结构元件,以下将节点Nij的元素pq记载为Nij-pq。[0205]节点NII是应用11内的对象,节点NII的分包部13按照图5的流程对存储在发送缓冲器IlS中的数据进行分包,并如上述那样将该数据包的参考追加至发送队列N11-14的末尾。[0206]当发送队列N11-14从空状态变为被追加了一个元素的状态时,数据包收发控制部N11-15根据该事件的发生开始执行图18的处理。在上述步骤SllB中,数据包收发控制部N11-15提取出发送队列N11-14的顶层元素并将其追加至发送队列N10-14的末尾。同样地,当发送队列N10-14从空状态变为被追加了一个元素的状态时,数据包收发控制部N10-15根据该事件的发生开始执行图18的处理,在上述步骤SllB中提取出发送队列N10-14的顶层元素并将其追加至发送队列N00-14的末尾。[0207]当发送队列N00-14从空状态变为被追加了一个元素的状态时,数据包收发控制部N00-15根据该事件的发生而开始执行图18的处理,在步骤S119中提取出发送队列N00-14的顶层元素,并且参照路由表16,在发送接口方式的值为I或2时根据与之对应的接口属性的值变更地址,并经由通信部19将数据包发送至其他处理器内核。该通信部19由图2中的OS(操作系统)层、驱动层以及硬件层构成。[0208]另一方面,由OS(操作系统)层经由驱动层接收从图3中的节点N20或N30发送至节点NOO的数据包并将其存储在接收缓冲器IlRO中,并将该情况通知给数据包收发控制部N00-15。数据包收发控制部N00-15据此开始执行图18的处理,在步骤SI19中将所存储的上述数据包的参考追加至发送队列N10-14的末尾。同样地,数据包收发控制部N10-15根据上述事件的发生开始执行图18的处理,在步骤S119中提取出发送队列N10-14的顶层元素并将其追加至发送队列N11-14的末尾。[0209]数据包收发控制部N11-15根据该事件的发生开始执行图18的处理,在图18的步骤S116中提取出发送队列N11-14的顶层元素,并经由数据包重新排列/解包部18将该数据包存储在接收缓冲器IlR中。此时,数据包重新排列/解包部18读出根据数据包的参考确定的接收缓冲器IlRO内的多个接收数据包,并将其按照发送源地址加以分类,进而将数据包按照数据包序列号重新排列,并将各数据包的标题删除且将有效载荷之间加以连接,然后将该一系列数据存储在接收缓冲器IlR中。[0210]其他方面与上述实施例7相同。[0211]以上,对于本发明的适宜的实施例进行了说明,但是,本发明除此之外还包含有各种变形例,可实现上述实施例中所述的各结构元件的功能的其他结构、本领域技术人员能够由上述结构或功能想到的其他结构也包含在本发明中。[0212]例如,图14的发送缓冲器IlS也可以是多个处理器内核之间的共享存储器,该情况下,关于分别在上述多个处理器内核内动作的用户节点之间的通信,也只要仅发送数据包的参考即可。[0213]也可以形成为仅在与应用层的叶节点直接连接的中间件层的节点中进行分包处理和解包处理。即,也可以形成为:在发送侧的叶节点中指定发送目的地和发送源的地址,并将数据发送至高度为I的节点,而在接收侧的叶节点中接收标题被删除且有效载荷被连接的数据。该情况下,在用户节点中无需考虑数据包。[0214]另外,也可以构成为:在图6中,仅在叶节点中执行步骤Sll和步骤S12,且在根节点中不执行步骤S16和S17。这一点在图12中也是同样的,进而也可以构成为:在图12中,仅在兄弟节点之间通过边缘被连接的深度的节点中执行步骤S20、S21以及S22。[0215]另外,也可以构成为:在图18中,仅在叶节点中执行步骤S115和S116,且在根节点中不执行步骤SllA和SllB。这一点在图20也是同样的,进而也可以构成为:在图20中,仅在兄弟节点之间通过边缘被连接的深度的节点中执行步骤S130、S131以及S132。[0216]在上述各实施例中,对于多核处理器内的处理器内核之间的通信使用MCAPI的情况进行了说明,但是,可以构成为经由多个处理器内核可浏览的高速缓冲存储器上的区域在处理器内核之间进行通信,也可以构成为选择使用多个通信方式中的一种。[0217]另外,上述实施例5也可以同样地适用于上述实施例2?4中。[0218]进而,上述实施例11也可以同样地适用于上述实施例8?10中。[0219]进而,本发明不仅适用于非对称多重处理系统,还可以适用于对称多重处理系统中。【权利要求】1.一种多重处理系统,其特征在于,所述多重处理系统设有数据包路由部,其中,所述数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将所述第一节点分别配置在与配置有所述用户节点的存储空间相同的存储空间内的中间件层中;将以所述第一节点作为子节点的父节点的对象设为第二节点,并将所述第二节点配置在配置有任一个所述第一节点的存储空间内的中间件层中;对于包含所述用户节点、所述第一节点以及所述第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在所述树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,所述用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象,当所述标题中的发送目的地的地址与自节点的地址一致时,所述数据包路由部将所述数据包作为自节点的数据包加以保存,当所述标题中的发送目的地的地址为自节点的子节点地址时,所述数据包路由部将所述数据包发送至子节点,在其他情况下,所述数据包路由部将所述数据包发送至所述自节点的父节点。2.如权利要求1所述的多重处理系统,其特征在于,所述第二节点为根节点。3.如权利要求1所述的多重处理系统,其特征在于,所述第二节点配置在各个处理器中,所述树进而作为根节点而设有以各个所述第二节点为子节点的父节点的对象,并且,所述根节点配置在配置有任一个所述第二节点的存储空间内的中间件层中。4.如权利要求1所述的多重处理系统,其特征在于,各节点具有路由表,其中,所述路由表中登记有自节点的地址、所述自节点的所有子节点的地址、向下一个节点发送数据包的数据包发送方式、以及用于以所述数据包发送方式向所述下一个节点发送数据包的属性,所述下一个节点是与配置有所述自节点的存储空间不同的存储空间内的节点,各数据包路由部参照所述自节点的路由表对所述数据包进行路由选择。5.如权利要求2所述的多重处理系统,其特征在于,所述根节点配置在分别与多个所述处理器内核连接的存储空间内,在向父节点发送所述数据包时,与所述根节点连接的各节点的数据包路由部将所述数据包发送至与自节点处于同一存储空间内的根节点。6.如权利要求1~5中任一项所述的多重处理系统,其特征在于,在向与自节点处于同一存储空间内的节点发送所述数据包时,所述数据包路由部仅将所述数据包的参考发送至所述节点。7.一种多重处理系统,其特征在于,所述多重处理系统设有数据包路由部,其中,所述数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将所述第一节点分别配置在与配置有所述用户节点的存储空间相同的存储空间内的中间件层中;将以所述第一节点作为子节点的父节点的对象设为第二节点,并将所述第二节点配置在配置有任一个所述第一节点的存储空间内的中间件层中;对于包含所述用户节点、所述第一节点以及所述第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在所述树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,所述用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象,所述树中的各用户节点的所述数据包路由部具有名称解析表,并在路由选择处理之前进行名称解析处理,其中,在所述名称解析表中,各用户节点的名称与其地址呈对应关系,在所述名称解析处理中,在取代所述标题中的发送目的地的地址或发送源地址而使用名称的情况下,当所述名称解析表中存在所述名称时,将所述名称转换为地址并利用所述地址取代所述标题中的名称,当所述名称解析表中不存在所述名称时,通知操作系统发生异常错误。8.一种多重处理系统,其特征在于,所述多重处理系统设有数据包路由部,其中,所述数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将所述第一节点分别配置在与配置有所述用户节点的存储空间相同的存储空间内的中间件层中;将以所述第一节点作为子节点的父节点的对象设为第二节点,并将所述第二节点配置在配置有任一个所述第一节点的存储空间内的中间件层中;对于包含所述用户节点、所述第一节点以及所述第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在所述树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,所述用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象,所述树中的根节点以外的其他节点的所述数据包路由部不具有名称解析表,在取代所述标题中的发送目的地的地址或发送源地址而使用名称的情况下,将所述数据包发送至自节点的父节点,所述根节点的所述数据包路由部设有名称解析表,并在路由选择处理之前进行名称解析处理,其中,在所述名称解析表中,各用户节点的名称与地址呈对应关系,在所述名称解析处理中,在取代所述标题中的发送目的地的地址或发送源地址而使用名称的情况下,当所述名称解析表中存在所述名称时,将所述名称转换为地址并利用所述地址取代所述标题中的名称,当所述名称解析表中不存存所述名称时,通知操作系统发生异常错误。9.一种多重处理系统,其特征在于,所述多重处理系统设有数据包路由部,其中,所述数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将所述第一节点分别配置在与配置有所述用户节点的存储空间相同的存储空间内的中间件层中;将以所述第一节点作为子节点的父节点的对象设为第二节点,并将所述第二节点配置在配置有任一个所述第一节点的存储空间内的中间件层中;对于包含所述用户节点、所述第一节点以及所述第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在所述树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,所述用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象,所述树中的用户节点以外的其他节点的所述数据包路由部设有名称解析表,其中,在所述名称解析表中,自节点及其所有子代节点的名称与地址呈对应关系,当取代所述标题中的发送目的地的地址或发送源地址而使用名称时,各用户节点的所述数据包路由部将所述数据包发送至自节点的父节点,所述树中的用户节点以外的其他节点的所述数据包路由部在路由选择处理之前进行名称解析处理,在所述名称解析处理中,在取代所述标题中的发送目的地的地址或发送源地址而使用名称的情况下,当所述名称解析表中存在所述名称时,将所述名称转换为地址并利用所述地址取代所述标题中的名称,当所述名称解析表中不存在所述名称但自节点具有父节点时,将所述数据包发送至所述父节点,当所述名称解析表中不存在所述名称且自节点不具有所述父节点时,通知操作系统发生异常错误。10.一种多重处理系统,其特征在于,所述多重处理系统设有数据包路由部,其中,所述数据包路由部将以用户节点作为子节点的父节点的对象设为第一节点,并将所述第一节点分别配置在与配置有所述用户节点的存储空间相同的存储空间内的中间件层中;将以所述第一节点作为子节点的父节点的对象设为第二节点,并将所述第二节点配置在配置有任一个所述第一节点的存储空间内的中间件层中;对于包含所述用户节点、所述第一节点以及所述第二节点的树中的各节点设定能够根据值来区分父子关系的地址,并且在所述树中的父子节点之间对标题中包含有发送目的地的地址和发送源地址的数据包进行路由选择,所述用户节点是分别与多个处理器内核连接的存储空间内的应用层的对象,所述树中的各用户节点的所述数据包路由部具有名称解析表,并在路由选择处理之前进行名称解析处理,其中,在所述名称解析表中,各用户节点的名称与其地址呈对应关系,在所述名称解析处理中,在取代所述标题中的发送目的地的地址或发送源地址而使用名称的情况下,当所述名称解析表中存在所述名称时,将所述名称转换为地址并利用所述地址取代所述标题中的名称,当所述名称解析表中不存在所述名称、或者自节点不具有所述名称解析表时,若所述自节点具有父节点则将所述数据包发送至所述父节点,若所述自节点不具有父节点则通知操作系统发生异常错误。11.如权利要求7~10中任一项所述的多重处理系统,其特征在于,所述树中的各节点的所述数据包路由部在所述路由选择处理中,在所述标题中的发送目的地的地址与自节点的地址一致时将所述数据包作为自节点的数据包加以保存,在所述标题中的发送目的地的地址为自节点的子节点地址时将所述数据包发送至子节点,其他情况下将所述数据包发送至所述自节点的父节点。12.如权利要求11所述的多重处理系统,其特征在于,所述第二节点为根节点。13.如权利要求11所述的多重处理系统,其特征在于,所述第二节点配置在各个处理器中,所述树进而作为根节点而设有以各个所述第二节点作为子节点的父节点的对象,并且,所述根节点配置在配置有任一个所述第二节点的存储空间内的中间件层中。14.如权利要求11所述的多重处理系统,其特征在于,所述树中的各节点具有路由表,在所述路由表中,登记有自节点的地址和所述自节点的所有子节点的地址,进而还登记有向下一个节点发送数据包的数据包发送方式、和用于以所述数据包发送方式向所述下一个节点发送数据包的属性,其中,所述下一个节点是与配置有所述自节点的存储空间不同的存储空间内的节点,各数据包路由部参照所述自节点的路由表对所述数据包进行路由选择。15.如权利要求11所述的多重处理系统,其特征在于,所述树内的根节点配置在分别与多个所述处理器内核连接的存储空间内,在向父节点发送所述数据包时,所述树内的根节点以外的其他各节点的数据包路由部将所述数据包发送至与自节点处于同一存储空间内的根节点。16.如权利要求11所述的多重处理系统,其特征在于,在向与自节点处于同一存储空间内的节点发送所述数据包时,所述树内的各节点的数据包路由部仅将所述数据包的参考发送至所述节点。【文档编号】G06F15/173GK103678246SQ201310357252【公开日】2014年3月26日申请日期:2013年8月15日优先权日:2012年8月29日【发明者】远藤航申请人:京瓷办公信息系统株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1