多重處理系統(tǒng)的制作方法【專利摘要】本發(fā)明的多重處理系統(tǒng)中,無需考慮通信方式或通信路徑等的硬件便可在對象之間進(jìn)行通信;在該多重處理系統(tǒng)中,利用多重處理系統(tǒng)整體構(gòu)成通信對象節(jié)點的樹,將應(yīng)用層內(nèi)的葉節(jié)點以外的其他節(jié)點配置在中間件層中,并且沿著樹上的節(jié)點進(jìn)行數(shù)據(jù)包發(fā)送;當(dāng)標(biāo)題中的發(fā)送目的地的地址與自節(jié)點的地址一致時,各節(jié)點將接收到的數(shù)據(jù)包作為自節(jié)點的數(shù)據(jù)包加以保存;當(dāng)該標(biāo)題中的發(fā)送目的地的地址為自節(jié)點的子節(jié)點地址時,各節(jié)點將接收到的該數(shù)據(jù)包發(fā)送至子節(jié)點,在其他情況下,各節(jié)點將接收到的該數(shù)據(jù)包發(fā)送至該自節(jié)點的父節(jié)點?!緦@f明】多重處理系統(tǒng)【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及多重處理系統(tǒng)(multiprocessingsystem)?!?br>背景技術(shù):
】[0002]為了打破漏電流和耗電量的增加對單核處理器單體的性能提高的限制,而使用多核處理器(multicoreprocessor)或多處理器(multiprocessor)。[0003]在嵌入式系統(tǒng)(embeddedsystem)中,為了提高性能價格比以及降低耗電量而使用非對稱多重處理(AMP)系統(tǒng)。在AMP系統(tǒng)中,根據(jù)系統(tǒng)來確定每個處理器內(nèi)核的功能,并利用各個處理器內(nèi)核執(zhí)行固有的程序。[0004]此時,多核處理器內(nèi)的處理器內(nèi)核之間經(jīng)由多核通信應(yīng)用程序接口(MCAPI(注冊商標(biāo)):MulticoreCommunicationsApplicationProgramInterface)、OS(操作系統(tǒng))(有時不經(jīng)由操作系統(tǒng))以及中間件(middleware)進(jìn)行通信,處理器之間經(jīng)由連接處理器的PCIe(peripheralcomponentinterconnectexpress、快速外圍組件互連)的設(shè)備驅(qū)動和OS(操作系統(tǒng))進(jìn)行通信。[0005]因此,在處理器內(nèi)核中的用戶節(jié)點(應(yīng)用內(nèi)的對象)之間進(jìn)行通信時,必須根據(jù)硬件結(jié)構(gòu)選擇不同的通信方式,因而程序設(shè)計方面變復(fù)雜。[0006]另外,當(dāng)因為系統(tǒng)更新而多重處理系統(tǒng)的結(jié)構(gòu)發(fā)生改變時,也必須據(jù)此改變用戶節(jié)點間通信的軟件結(jié)構(gòu)。[0007]進(jìn)而,例如在第一處理器內(nèi)核經(jīng)由第二處理器內(nèi)核與第三處理器內(nèi)核連接時,從軟件方面來看,第一處理器內(nèi)核與第三處理器內(nèi)核之間無法直接進(jìn)行通信?!?br/>發(fā)明內(nèi)容】[0008]本發(fā)明的一個方面涉及的多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,該數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將第一節(jié)點分別配置在與配置有用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以該第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將第二節(jié)點配置在配置有任一個第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含該用戶節(jié)點、第一節(jié)點以及第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在該樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,其中,用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象。而且,當(dāng)該標(biāo)題中的發(fā)送目的地的地址與自節(jié)點的地址一致時,該數(shù)據(jù)包路由部將該數(shù)據(jù)包作為自節(jié)點的數(shù)據(jù)包加以保存,當(dāng)該標(biāo)題中的發(fā)送目的地的地址為自節(jié)點的子節(jié)點地址時,該數(shù)據(jù)包路由部將該數(shù)據(jù)包發(fā)送至子節(jié)點,在其他情況下,該數(shù)據(jù)包路由部將該數(shù)據(jù)包發(fā)送至該自節(jié)點的父節(jié)點。[0009]本發(fā)明的一個方面涉及的多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,該數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將第一節(jié)點分別配置在與配置有用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以該第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將第二節(jié)點配置在配置有任一個第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含該用戶節(jié)點、第一節(jié)點以及第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在該樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,其中,用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象。而且,該樹中的各用戶節(jié)點的該數(shù)據(jù)包路由部設(shè)有名稱解析表,并在路由選擇處理之前進(jìn)行名稱解析處理,其中,在該名稱解析表中,各用戶節(jié)點的名稱與其地址呈對應(yīng)關(guān)系;在該名稱解析處理中,在取代該標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)該名稱解析表中存在該名稱時,將該名稱轉(zhuǎn)換為地址并利用該地址取代該標(biāo)題中的名稱,當(dāng)該名稱解析表中不存在該名稱時,通知操作系統(tǒng)發(fā)生異常錯誤。[0010]本發(fā)明的一個方面涉及的多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,該數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將第一節(jié)點分別配置在與配置有用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以該第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將第二節(jié)點配置在配置有任一個第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含該用戶節(jié)點、第一節(jié)點以及第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在該樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,其中,用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象。而且,該樹中的根節(jié)點以外的其他節(jié)點的該數(shù)據(jù)包路由部不具有名稱解析表,在取代該標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱時,將該數(shù)據(jù)包發(fā)送至自節(jié)點的父節(jié)點;該根節(jié)點的該數(shù)據(jù)包路由部設(shè)有名稱解析表,并在路由選擇處理之前進(jìn)行名稱解析處理,其中,在該名稱解析表中,各用戶節(jié)點的名稱與地址呈對應(yīng)關(guān)系;在該名稱解析處理中,在取代該標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)該名稱解析表中存在該名稱時,將該名稱轉(zhuǎn)換為地址并利用該地址取代該標(biāo)題中的名稱,當(dāng)該名稱解析表中不存在該名稱時,通知操作系統(tǒng)發(fā)生異常錯誤。[0011]本發(fā)明的一個方面涉及的多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,該數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將第一節(jié)點分別配置在與配置有用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以該第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將第二節(jié)點配置在配置有任一個第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含該用戶節(jié)點、第一節(jié)點以及第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在該樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,其中,用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象;該樹中的用戶節(jié)點以外的其他節(jié)點的該數(shù)據(jù)包路由部設(shè)有名稱解析表,其中,在該名稱解析表中,自節(jié)點及其所有子代節(jié)點的名稱與地址呈對應(yīng)關(guān)系。而且,當(dāng)取代該標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱時,各用戶節(jié)點的該數(shù)據(jù)包路由部將該數(shù)據(jù)包發(fā)送至自節(jié)點的父節(jié)點;該樹中的用戶節(jié)點以外的其他節(jié)點的該數(shù)據(jù)包路由部在路由選擇處理之前進(jìn)行名稱解析處理;在該名稱解析處理中,在取代該標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)該名稱解析表中存在該名稱時,將該名稱轉(zhuǎn)換為地址并利用該地址取代該標(biāo)題中的名稱,當(dāng)該名稱解析表中不存在該名稱但自節(jié)點具有父節(jié)點時,將該數(shù)據(jù)包發(fā)送至該父節(jié)點,當(dāng)該名稱解析表中不存在該名稱且自節(jié)點不具有父節(jié)點時,通知操作系統(tǒng)發(fā)生異常錯誤。[0012]本發(fā)明的一個方面涉及的多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,該數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將第一節(jié)點分別配置在與配置有用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以該第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將第二節(jié)點配置在配置有任一個第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含該用戶節(jié)點、第一節(jié)點以及第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在該樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,其中,用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象。而且,該樹中的各節(jié)點的該數(shù)據(jù)包路由部在路由選擇處理之前進(jìn)行名稱解析處理;在該名稱解析處理中,在取代該標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)該名稱解析表中存在該名稱時,將該名稱轉(zhuǎn)換為地址并利用該地址取代該標(biāo)題中的名稱,當(dāng)該名稱解析表中不存在該名稱、或者自節(jié)點不具有該名稱解析表時,若該自節(jié)點具有父節(jié)點則將該數(shù)據(jù)包發(fā)送至該父節(jié)點,若該自節(jié)點不具有父節(jié)點則通知操作系統(tǒng)發(fā)生異常錯誤。[0013](發(fā)明效果)[0014]根據(jù)上述結(jié)構(gòu),利用多重處理系統(tǒng)整體構(gòu)成通信對象節(jié)點的樹,并將用戶節(jié)點以外的其他節(jié)點配置在中間件層中,對該樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在該樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,因此能夠發(fā)揮下述效果,即,相對于各種結(jié)構(gòu)的多重處理系統(tǒng),能夠以比較簡單的結(jié)構(gòu),并且,無需考慮通信方式或通信路徑等的硬件便可在用戶節(jié)點間進(jìn)行通信。[0015]另外,當(dāng)該標(biāo)題中的發(fā)送目的地的地址與自節(jié)點的地址一致時,各節(jié)點的數(shù)據(jù)包路由部將該數(shù)據(jù)包作為自節(jié)點的數(shù)據(jù)加以保存,當(dāng)該標(biāo)題中的發(fā)送目的地的地址為自節(jié)點的子節(jié)點地址時,各節(jié)點的數(shù)據(jù)包路由部將該數(shù)據(jù)包發(fā)送至子節(jié)點,在其他情況下,各節(jié)點的數(shù)據(jù)包路由部將該數(shù)據(jù)包發(fā)送至該自節(jié)點的父節(jié)點,因此能夠發(fā)揮下述效果,即,能夠使數(shù)據(jù)包的路由選擇變得統(tǒng)一,從而能夠適用于各種形態(tài)的用戶節(jié)點間通信。[0016]另外,根據(jù)上述結(jié)構(gòu),參照名稱解析表將數(shù)據(jù)包的標(biāo)題中的發(fā)送源和發(fā)送目的地的名稱轉(zhuǎn)換為地址,因此能夠發(fā)揮下述效果,即,即使通信對象節(jié)點的配置不同,也無需改變軟件結(jié)構(gòu)便可在對象之間進(jìn)行通信。[0017]本發(fā)明的其他目的、特征性結(jié)構(gòu)以及效果,通過對照權(quán)利要求書和說明書附圖的記載閱讀以下的說明便可了解。【專利附圖】【附圖說明】[0018]圖1是表示本發(fā)明實施例1的多重處理系統(tǒng)的概略結(jié)構(gòu)圖。[0019]圖2是從應(yīng)用層至硬件層為止的概略層次結(jié)構(gòu)圖。[0020]圖3是作為本發(fā)明實施例1涉及的用戶節(jié)點間通信對象的節(jié)點的樹圖。[0021]圖4是用戶節(jié)點間通信中的發(fā)送對象數(shù)據(jù)包的格式的簡圖。[0022]圖5是表示數(shù)據(jù)的分包處理的概略流程圖。[0023]圖6是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。[0024]圖7中的(A)和⑶分別是表示圖3的節(jié)點NlO和節(jié)點NOO的路由表的圖。[0025]圖8是本發(fā)明的實施例2涉及的通信對象節(jié)點的樹圖。[0026]圖9是表示適用本發(fā)明實施例3的多重處理系統(tǒng)的概略結(jié)構(gòu)圖。[0027]圖10是與圖9對應(yīng)的通信對象節(jié)點的樹圖。[0028]圖11是本發(fā)明的實施例4的通信對象節(jié)點的樹圖。[0029]圖12是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。[0030]圖13中的(A)?(C)分別是圖11的節(jié)點N110、NlOO以及N000的路由表的概略結(jié)構(gòu)圖。[0031]圖14是發(fā)送數(shù)據(jù)包存儲部的概略說明圖。[0032]圖15是發(fā)送數(shù)據(jù)包存儲部的概略說明圖。[0033]圖16是關(guān)于配置在同一存儲空間內(nèi)的節(jié)點NlO和NOO的數(shù)據(jù)包收發(fā)的功能框圖。[0034]圖17中的㈧是表示圖3中的葉節(jié)點或根節(jié)點的名稱解析表的圖,⑶?⑶分別是表示圖3中的節(jié)點N10、N20以及N30的名稱解析表的圖。[0035]圖18是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。[0036]圖19是表示名稱解析表的作成步驟的概略流程圖。[0037]圖20是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。[0038]圖21是關(guān)于配置在同一存儲空間內(nèi)的節(jié)點NlO和NOO的數(shù)據(jù)包收發(fā)的功能框圖?!揪唧w實施方式】[0039]實施例1[0040]圖1是表示本發(fā)明的實施例1的多重處理系統(tǒng)(multiprocessingsystem)的簡圖。[0041]在該多重處理系統(tǒng)中,多核處理器01與單核處理器02之間通過PCIe(peripheralcomponentinterconnectexpress、快速外圍組件互連)連接。多核處理器01設(shè)有處理器內(nèi)核10和處理器內(nèi)核20,且處理器內(nèi)核10和處理器內(nèi)核20之間通過未圖示的內(nèi)部總線連接。單核處理器02的處理器內(nèi)核30與多核處理器01的內(nèi)部總線之間通過PCIe連接。[0042]圖2表示從應(yīng)用層至硬件層為止的概略層次結(jié)構(gòu)。[0043]在OS(操作系統(tǒng))層以下的層中,與現(xiàn)有技術(shù)同樣地,處理器內(nèi)核10與處理器內(nèi)核20之間通過上述的MCAPI(MulticoreCommunicationsApplicationProgramInterface、多核通信應(yīng)用程序接口)進(jìn)行通信,處理器內(nèi)核10與處理器內(nèi)核30之間以及處理器內(nèi)核20與處理器內(nèi)核30之間通過PCIe進(jìn)行通信。[0044]在本實施例1中,通過具備下述對象間通信機制,存用戶節(jié)點(usernode)(作為用戶應(yīng)用內(nèi)的對象的節(jié)點)之間進(jìn)行通信時,能夠以統(tǒng)一的方式進(jìn)行通信,而無需選擇MCAPI和PCIe的通信方式、即無需考慮通信對象在硬件上的位置。[0045]在圖3中,作為葉節(jié)點(leafnode)的用戶節(jié)點Nll和N12都是配置在與處理器內(nèi)核10連接(能夠通過處理器內(nèi)核10訪問)的存儲空間內(nèi)的應(yīng)用層內(nèi)的對象。上述對象既可以屬于互不相同的應(yīng)用也可以屬于同一應(yīng)用。這一點在以下的說明中也是同樣的。[0046]同樣地,作為葉節(jié)點的用戶節(jié)點N21和N22都是配置在與處理器內(nèi)核20連接的存儲空間內(nèi)的應(yīng)用層內(nèi)的對象。另外,作為葉節(jié)點的用戶節(jié)點N31和N32都是配置在與處理器內(nèi)核30連接的存儲空間內(nèi)的應(yīng)用層內(nèi)的對象。[0047]上述六個對象之間的通信路徑具有6X5/2=15種,當(dāng)通信對象的數(shù)量增加時該通信路徑的數(shù)量也增加。另外,當(dāng)欲在存儲空間互不相同的應(yīng)用層內(nèi)的對象之間直接進(jìn)行通信時,則該結(jié)構(gòu)不易廣義化。[0048]因此,通過組合圖3所示的樹狀結(jié)構(gòu)的節(jié)點間通信,從而能夠在任意的葉節(jié)點之間進(jìn)行通信。即,通過在以邊緣(edge)連接的父子節(jié)點之間依次發(fā)送數(shù)據(jù)包(packet),從而能夠在應(yīng)用層的用戶節(jié)點之間進(jìn)行通信。以邊緣連接的節(jié)點之間互相知道對方的存在,從而能夠在上述節(jié)點之間發(fā)送數(shù)據(jù)。[0049]節(jié)點N10、N20以及N30分別是配置在與圖1的處理器內(nèi)核10、20以及30連接的存儲空間內(nèi)的中間件層(middlewarelayer)內(nèi)的通信對象。另外,根節(jié)點NOO為虛擬節(jié)點(virtualnode),且是配置在與處理器內(nèi)核10、20以及30中的任一個(優(yōu)選為預(yù)計處理器間通信量最大的處理器內(nèi)核)連接的存儲空間內(nèi)的中間件層內(nèi)的通信對象。[0050]配置在同一存儲空間內(nèi)的應(yīng)用層內(nèi)的對象之間可以容易地進(jìn)行直接通信,但是,這些對象有可能因為將來的系統(tǒng)變更而被配置在不同的存儲空間內(nèi),因此,也可以形成為無論對象是否配置在同一存儲空間內(nèi)都統(tǒng)一地使用圖3的樹狀結(jié)構(gòu)進(jìn)行通信。[0051]葉節(jié)點(發(fā)送源和發(fā)送目的地的節(jié)點)僅與其父節(jié)點(parentnode)連接,因而發(fā)送目的地必然是父節(jié)點。葉節(jié)點以外的其他節(jié)點(中間節(jié)點)參照路由表(routingtable)并根據(jù)自節(jié)點的地址和發(fā)送目的地的地址而確定一個接下來應(yīng)該發(fā)送且經(jīng)由邊緣鄰接的節(jié)點。此時,當(dāng)按照滿足下述條件的方式設(shè)定節(jié)點地址時,由于參照路由表的次數(shù)減少,因而能夠提高處理的速度,其中,上述條件是指:能夠根據(jù)地址值(addressvalue)而判斷節(jié)點間的父子關(guān)系、是否為葉節(jié)點、或者是否為根節(jié)點。[0052]在將圖3中的節(jié)點Nij的地址設(shè)為[i,j]時,按照滿足上述條件的方式設(shè)定ij。SP,當(dāng)i古O、j古O時,節(jié)點Nij是深度為2的葉節(jié)點,其父節(jié)點為j=O的節(jié)點,其父節(jié)點的父節(jié)點為i=O的根節(jié)點N00。根節(jié)點沒有父節(jié)點。根節(jié)點以外的其他節(jié)點的父節(jié)點為一個(上升的邊緣為一個),因而不用選擇父節(jié)點。[0053]當(dāng)例如分別以4位表示1、j時,則節(jié)點地址[i,j]為8位,最大可以表示256個節(jié)點。[0054]接著,對于在葉節(jié)點之間發(fā)送數(shù)據(jù)的例子進(jìn)行說明。以下,將自節(jié)點的地址設(shè)為[i,j],將發(fā)送目的地的地址設(shè)為[i2,j2]。[0055]例如,在從節(jié)點Nll向節(jié)點NI2發(fā)送數(shù)據(jù)時,由于節(jié)點Nll沒有子節(jié)點,因此,將數(shù)據(jù)從節(jié)點Nll發(fā)送至j=O的父節(jié)點NlO。由于節(jié)點NlO與作為其子節(jié)點的發(fā)送目的地節(jié)點N12連接,因此,節(jié)點NlO將該數(shù)據(jù)發(fā)送至節(jié)點N12。[0056]接著,在從節(jié)點Nll向節(jié)點N32發(fā)送數(shù)據(jù)時,由于節(jié)點Nll沒有子節(jié)點,因此,將數(shù)據(jù)從節(jié)點Nll發(fā)送至j=O的父節(jié)點N10。由于i古i2從而節(jié)點NlO的子節(jié)點中沒有發(fā)送目的地節(jié)點N32,因此,將數(shù)據(jù)發(fā)送至i=O的作為父節(jié)點的根節(jié)點N00。然后,將數(shù)據(jù)從根節(jié)點NOO發(fā)送至發(fā)送目的地節(jié)點N32的將j2設(shè)為O的節(jié)點N30。接著,將數(shù)據(jù)發(fā)送至j2=2的子節(jié)點N32。[0057]一般來說,自節(jié)點Nij中按照以下的規(guī)則對發(fā)送目的地節(jié)點Ni2j2的數(shù)據(jù)包進(jìn)行路由選擇(routing)。[0058](I)當(dāng)i=i2、j=j2時,作為自節(jié)點的數(shù)據(jù)加以接收。[0059](2)當(dāng)自節(jié)點為根節(jié)點(i=O、j=O)時,若在路由表中存在子節(jié)點的地址CA=[i2,O],則將數(shù)據(jù)發(fā)送至該子節(jié)點。當(dāng)自節(jié)點是深度為I的節(jié)點(i古0、j=O)時,若在路由表中存在發(fā)送目的地的子節(jié)點的地址CA=[i2,j2],則將數(shù)據(jù)發(fā)送至該子節(jié)點。[0060](3)在其他情況下,當(dāng)具有父節(jié)點時、即自節(jié)點并非根節(jié)點時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA,S卩,當(dāng)自節(jié)點為葉節(jié)點(i古O、j古O)時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA=[i,O],當(dāng)自節(jié)點是深度為I的節(jié)點(i古O、j=O)時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA=[0,O]、即根節(jié)點。[0061]當(dāng)從多個葉節(jié)點向一個發(fā)送目的地并行地發(fā)送數(shù)據(jù)時,必須在發(fā)送目的地對這些數(shù)據(jù)加以區(qū)分。因此,在發(fā)送對象數(shù)據(jù)的標(biāo)題(header)中不僅包含有發(fā)送目的地節(jié)點的地址還包含有發(fā)送源節(jié)點的地址。另外,在將受硬件或軟件限制的各節(jié)點一次可發(fā)送的最大數(shù)據(jù)量中的最小值設(shè)為DSmax的情況下,當(dāng)所發(fā)送數(shù)據(jù)的大小超過DSmax時實施分包處理,其中,該分包處理是指:將數(shù)據(jù)加以分割以使包括標(biāo)題在內(nèi)的數(shù)據(jù)量不超過DSmax,并且分別對分割后的各數(shù)據(jù)附加上標(biāo)題。該情況下,為了能夠判斷數(shù)據(jù)包之間的關(guān)系,而對標(biāo)題賦予與IP協(xié)議同樣的數(shù)據(jù)包序列號(下一個數(shù)據(jù)包序列號=當(dāng)前的數(shù)據(jù)包序列號+當(dāng)前數(shù)據(jù)包的有效載荷(payload)的字節(jié)數(shù))。[0062]圖4表示該多重處理系統(tǒng)中所使用的數(shù)據(jù)包的格式,在對有效載荷附加上作為標(biāo)題的發(fā)送目的地和發(fā)送源的節(jié)點地址以及數(shù)據(jù)包序列號之后形成數(shù)據(jù)包。[0063]分包處理和解包處理僅在應(yīng)用層的葉節(jié)點中執(zhí)行。[0064]圖5是表示數(shù)據(jù)的分包處理的概略流程圖。以下,括弧內(nèi)的內(nèi)容為圖中的步驟標(biāo)識符號。[0065](步驟S0)當(dāng)DS=(發(fā)送對象數(shù)據(jù)的數(shù)據(jù)量)+(標(biāo)題的數(shù)據(jù)量)呈DS>DSmax時進(jìn)入步驟SI,否則進(jìn)入步驟S2。[0066](步驟SI)按照分割后的各數(shù)據(jù)的DS(DSmax的方式分割數(shù)據(jù)。[0067](步驟S2)分別對被分割或者未分割的數(shù)據(jù)賦予圖4所示那樣的標(biāo)題從而形成數(shù)據(jù)包。[0068](步驟S3)將上述數(shù)據(jù)包存儲在發(fā)送緩沖器中。[0069]圖6是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理(routingprocess)的概略流程圖。圖3中的各節(jié)點(對象)具有該處理的程序。[0070]各節(jié)點設(shè)有發(fā)送隊列(sendqueue),并且,該處理是根據(jù)發(fā)送隊列從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時發(fā)生的事件而開始執(zhí)行的。[0071]每次從該發(fā)送隊列提取出頂層元素(topelement)都要執(zhí)行步驟SlO?S18的處理。[0072](步驟S10)從數(shù)據(jù)包標(biāo)題中取得發(fā)送目的地的地址DA和自節(jié)點的地址SA。[0073](步驟Sll)當(dāng)發(fā)送目的地的地址DA與自節(jié)點的地址SA相同(i=i2、j=j2)時進(jìn)入步驟S12,否則進(jìn)入步驟S13。[0074](步驟S12)將該數(shù)據(jù)包存儲在自節(jié)點的接收緩沖器中,并進(jìn)入步驟S19。[0075](步驟S13)根據(jù)發(fā)送目的地的地址DA的值邏輯性地判斷發(fā)送目的地的地址DA是否為自節(jié)點的子代節(jié)點(i=0、0<i2,或者,i=i2、j=0、0<J2)的地址。當(dāng)判斷結(jié)果為“是”時進(jìn)入步驟S14,否則進(jìn)入步驟S16。[0076](步驟S14)當(dāng)自節(jié)點的路由表中作為子節(jié)點地址而存在包含步驟S13中的子代節(jié)點在內(nèi)的、自節(jié)點的子節(jié)點的地址CA(CA=[i2,0]或者CA=[i2,j2])時,進(jìn)入步驟S15,否則進(jìn)入步驟S18。[0077](步驟S15)將數(shù)據(jù)包發(fā)送至在步驟S14中判斷為存在于自節(jié)點的路由表中的子節(jié)點的地址CA,并進(jìn)入步驟S19。[0078](步驟S16)當(dāng)具有父節(jié)點時、即自節(jié)點并非根節(jié)點時進(jìn)入步驟S17,否則進(jìn)入步驟S18。[0079](步驟S17)將數(shù)據(jù)包發(fā)送至父節(jié)點的地址PA(當(dāng)i古0、j古O時PA=[i,0],當(dāng)i關(guān)O、j=O時PA=[0,0]),并進(jìn)入步驟S19。[0080](步驟S18)通知OS(操作系統(tǒng))發(fā)生異常錯誤并將該數(shù)據(jù)包毀掉。當(dāng)在應(yīng)用側(cè)未對該錯誤進(jìn)行處理時應(yīng)用停止,當(dāng)在該處理中忽視錯誤時,進(jìn)入步驟S19。[0081](步驟S19)當(dāng)在上述發(fā)送隊列中存在頂層元素時,返回至步驟S10,否則結(jié)束圖6的處理。[0082]在步驟S15或步驟S17中,參照路由表選擇通信接口方式,并據(jù)此改變發(fā)送目的地的地址后發(fā)送。即,通過在中間件層中進(jìn)行該處理,從而在應(yīng)用層中只要僅使用地址[i,j]即可。[0083]圖7中的(A)和⑶分別表示圖3中的節(jié)點NlO和NOO的路由表。在各路由表中,“NULL”表示沒有值。另外,子節(jié)點接口(I/F)方式和父節(jié)點接口方式分別表示從自節(jié)點朝向子節(jié)點以及從自節(jié)點朝向父節(jié)點的接口方式,當(dāng)其值為O時表示在同一存儲空間內(nèi)發(fā)送數(shù)據(jù)包(數(shù)據(jù)包或者其參考(reference)的移動),當(dāng)其值為I時表示同一處理器內(nèi)的處理器內(nèi)核之間通過MCAPI發(fā)送數(shù)據(jù)包,當(dāng)其值為2時表示不同處理器之間通過PCIe發(fā)送數(shù)據(jù)包。[0084]當(dāng)存在多個子節(jié)點時,利用分隔符號“/”將各子節(jié)點接口方式分開記載。子節(jié)點和父節(jié)點的接口屬性是以上述方式進(jìn)行通信時所需的屬性值,當(dāng)該值為NULL時表示利用既定方法發(fā)送數(shù)據(jù)包。另外,當(dāng)父節(jié)點/子節(jié)點的接口方式的值為NULL時,表示不存在該父節(jié)點/子節(jié)點。[0085]在圖7(B)中,當(dāng)子節(jié)點接口方式的值為I或2時,子節(jié)點接口屬性分別記載為Xl或Y1。該Xl和Yl為參考值,屬性被記載在分別參考Xl和Yl的數(shù)據(jù)塊(結(jié)構(gòu)體、struct)中。[0086]路由表通過例如相對于處理器以對話的方式設(shè)定程序并將其轉(zhuǎn)換為XML文件來作成。[0087]根據(jù)本實施例1,利用多重處理系統(tǒng)整體構(gòu)成通信對象節(jié)點的樹,且將應(yīng)用層內(nèi)的葉節(jié)點以外的其他節(jié)點配置在中間件層中,并且沿著樹上的節(jié)點進(jìn)行數(shù)據(jù)包發(fā)送,因而能夠發(fā)揮下述效果,即,相對于各種結(jié)構(gòu)的多重處理系統(tǒng),能夠以比較簡單的結(jié)構(gòu),并且,無需考慮通信方式或通信路徑等的硬件便可在用戶節(jié)點之間進(jìn)行通信。[0088]實施例2[0089]圖8表示本發(fā)明的實施例2涉及的通信對象節(jié)點樹。[0090]在該樹中,在圖3中的深度為I和2的節(jié)點之間插入了接口節(jié)點(interfacenode),該接口節(jié)點用于簡化與應(yīng)用層的葉節(jié)點之間的通信步驟。一般來說,在將節(jié)點樹的深度設(shè)為η時,節(jié)點地址的位數(shù)([]內(nèi)被“,”分開的數(shù)字的個數(shù))為η,在圖8所示的樹中,η=3。與實施例1同樣地,節(jié)點Nijk的地址為[i,j,k]。[0091]深度為O和I的節(jié)點N000,N100、N200以及N300分別與圖3中的節(jié)點N00、N10、N20以及N30相比僅其地址不同。[0092]一般來說,自節(jié)點Nijk中按照以下的規(guī)則對發(fā)送目的地節(jié)點Ni2j2k2的數(shù)據(jù)包進(jìn)行路由選擇。[0093](Ia)當(dāng)i=i2、j=j2、k=k2時,作為自節(jié)點的數(shù)據(jù)加以接收。[0094](2a)當(dāng)自節(jié)點為根節(jié)點(i=0、j=0、k=O)時,若在路由表中存在子節(jié)點地址CA=[i2,0,0],則將數(shù)據(jù)發(fā)送至該子節(jié)點。當(dāng)自節(jié)點是深度為I的節(jié)點(i古O、j=O、k=O)時,若在路由表中存在子節(jié)點地址CA=[i2,j2,0],則將數(shù)據(jù)發(fā)送至該子節(jié)點。當(dāng)自節(jié)點是深度為2的節(jié)點(i幸0、j幸0、k=O)時,若在路由表中存在子節(jié)點地址CA=[?2,j2,k2],則將數(shù)據(jù)發(fā)送至該子節(jié)點。[0095](3a)在其他情況下,當(dāng)具有父節(jié)點時、即自節(jié)點并非根節(jié)點時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA,即,當(dāng)自節(jié)點為葉節(jié)點αΦO、jΦ0、kΦ0)時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA=[i,j,O],當(dāng)自節(jié)點是深度為2的節(jié)點(i古O、j古O、k=O)時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA=[i,O,O],當(dāng)自節(jié)點是深度為I的節(jié)點(i古O、j=O、k=O)時,將數(shù)據(jù)發(fā)送至父節(jié)點的地址PA=[0,O,O]、即根節(jié)點。[0096]關(guān)于圖6的路由選擇處理,考慮到上述(Ia)~(3a)的規(guī)則便可容易地理解,故省略其說明。[0097]分包處理和解包處理是在上述接口節(jié)點中執(zhí)行。該接口節(jié)點也執(zhí)行圖6的路由選擇處理。[0098]其他方面與上述實施例1相同。[0099]實施例3[0100]圖9是表示適用本發(fā)明的實施例3的多重處理系統(tǒng)的簡圖。[0101]該多重處理系統(tǒng)設(shè)有四個多核處理器100、200、300以及400。多核處理器100的處理器內(nèi)核110、120、130以及140之間通過內(nèi)部總線連接,多核處理器200的處理器內(nèi)核210,220,230以及240之間通過內(nèi)部總線連接,多核處理器300的處理器內(nèi)核310、320、330以及340之間通過內(nèi)部總線連接,多核處理器400的處理器內(nèi)核410、420、430以及440之間通過內(nèi)部總線連接。多核處理器100、200、300以及400之間通過PCIe連接。[0102]與上述同樣地,各處理器內(nèi)的處理器內(nèi)核之間通過MCAPI進(jìn)行通信,不同處理器之間通過PCIe進(jìn)行通信。[0103]圖10表示與圖9對應(yīng)的通信對象節(jié)點樹。[0104]節(jié)點Nijk的地址為[i,j,k]。所有節(jié)點Nijk中的、ijk與圖9中的元件符號一致的節(jié)點是與該元件對應(yīng)的節(jié)點。另外,例如像節(jié)點NllO與處理器內(nèi)核110那樣,ijk與圖9中的處理器內(nèi)核的符號一致的節(jié)點,與實施例1同樣地是配置在與處理器內(nèi)核ijk連接的存儲空間內(nèi)的中間件層內(nèi)的通信對象。[0105]在該樹中,將深度為I的節(jié)點設(shè)為與處理器對應(yīng)的虛擬節(jié)點進(jìn)行配置,該節(jié)點成為各處理器的子樹(subtree)的根節(jié)點。該深度為I的節(jié)點減少根節(jié)點N000側(cè)的邊緣數(shù)從而避免在根節(jié)點N000中數(shù)據(jù)包混雜在一起,并且在各處理器中并行處理路由選擇。即,該深度為I的節(jié)點是用于達(dá)成該目的的接口節(jié)點。[0106]各虛擬節(jié)點是配置在與其子節(jié)點中的任一個相同的存儲空間內(nèi)的中間件層內(nèi)的通信對象。例如,節(jié)點N000和NlOO是配置在與節(jié)點NllO相同的存儲空間內(nèi)的中間件層內(nèi)的通信對象。[0107]與圖3的情況同樣地,深度為3的葉節(jié)點為用戶節(jié)點。[0108]其他方面與實施例1相同。[0109]在AMP(asymmetricmultiprocessing、非對稱多重處理)中,為了提高性能價格比(costperformance)且降低耗電量而使用各種結(jié)構(gòu)的多重處理系統(tǒng),另外,該多重處理系統(tǒng)的結(jié)構(gòu)在系統(tǒng)更新時也會發(fā)生改變。但是,從以上的實施例1?3可知,本發(fā)明的多重處理系統(tǒng)中的對象間通信機制是以統(tǒng)一的方式進(jìn)行通信而與系統(tǒng)結(jié)構(gòu)無關(guān),并且,與硬件結(jié)構(gòu)或OS(操作系統(tǒng))的種類無關(guān)地能夠在用戶節(jié)點之間進(jìn)行通信。[0110]實施例4[0111]圖11表示本發(fā)明的實施例4的通信對象節(jié)點樹。[0112]實施例4的硬件結(jié)構(gòu)與圖9相同。在該樹中,將深度為2的節(jié)點中的、與同一處理器內(nèi)的任意兩個處理器內(nèi)核對應(yīng)的節(jié)點之間通過邊緣加以連接,從而能夠在這些節(jié)點之間直接進(jìn)行通信,這一點與圖10中的樹不同。[0113]圖12是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。圖11中的各節(jié)點分別獨立地具有該處理的程序。[0114]各節(jié)點設(shè)有發(fā)送隊列,并且,該處理是根據(jù)發(fā)送隊列從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時發(fā)生的事件而開始執(zhí)行的。[0115]每次從該發(fā)送隊列提取出頂層元素時都進(jìn)行步驟SlO?S18的處理。[0116]圖12的處理與圖6的處理的不同之處在于:與朝向兄弟節(jié)點(siblingnode)的數(shù)據(jù)包發(fā)送相對應(yīng)地在步驟SII與步驟S13之間追加了步驟S20,進(jìn)而追加了與之相關(guān)的步驟S21和步驟S22。接下來,對于該不同之處進(jìn)行說明。[0117]當(dāng)在步驟Sll中判斷為“否”時進(jìn)入步驟S20。[0118](步驟S20)當(dāng)根據(jù)發(fā)送目的地的地址DA的值邏輯性地判斷出發(fā)送目的地的地址DA為自節(jié)點的兄弟節(jié)點的子代節(jié)點(發(fā)送目的地節(jié)點的上代節(jié)點為自節(jié)點的兄弟節(jié)點)的地址時,進(jìn)入步驟S21,否則進(jìn)入步驟S13。更加具體來說,如下那樣來判斷發(fā)送目的地的地址DA是否為自節(jié)點的兄弟節(jié)點的子代節(jié)點的地址。[0119]S卩,當(dāng)自節(jié)點是深度為I的節(jié)點(i古O、j=O、k=O)時,若在路由表中存在兄弟節(jié)點的地址BA=[i2,0,0],則將數(shù)據(jù)發(fā)送至該兄弟節(jié)點。當(dāng)自節(jié)點是深度為2的節(jié)點(i古O、j古O、k=O)時,若在路由表中存在兄弟節(jié)點的地址BA=[i2,j2,0],則將數(shù)據(jù)發(fā)送至該兄弟節(jié)點。[0120](步驟S21)當(dāng)自節(jié)點的路由表中包含有兄弟節(jié)點的地址BA時進(jìn)入步驟S22,否則進(jìn)入步驟S13。[0121](步驟S22)參照自節(jié)點的路由表來確定發(fā)送方式并將發(fā)送目的地的地址變更為該方式的地址,并將數(shù)據(jù)包發(fā)送至兄弟節(jié)點的地址BA,然后進(jìn)入步驟S19。[0122]圖13中的(A)?(C)分別表示圖11中的節(jié)點N110、節(jié)點NlOO以及根節(jié)點N000的路由表。該路由表的結(jié)構(gòu)是,針對兄弟節(jié)點而將與節(jié)點連接的兄弟節(jié)點的地址、與該節(jié)點進(jìn)行通信的接口方式以及接口屬性追加到圖7的路由表中。[0123]實施例5[0124]在實施例5中,在圖10的樹中,通過將虛擬節(jié)點配置在配置有該虛擬節(jié)點的多個子節(jié)點的存儲空間內(nèi),從而在同一存儲空間內(nèi)能夠從任意的節(jié)點上升到根節(jié)點。即,通過將虛擬節(jié)點N000分別配置在與各處理器內(nèi)核連接的存儲空間內(nèi),并將深度為I的各虛擬節(jié)點分別配置在與配置有該虛擬節(jié)點的各子節(jié)點的存儲空間相同的存儲空間內(nèi),從而在從任意的節(jié)點向根節(jié)點上升時,這些節(jié)點都存在于同一存儲空間內(nèi)(發(fā)送緩沖器也存在于與該節(jié)點相同的存儲空間內(nèi))。由于根據(jù)位置的不同而發(fā)送方式也不同,因此,對于各虛擬節(jié)點來說即使其地址相同也具有單獨的路由表。[0125]從根節(jié)點起的下移是在進(jìn)行下述動作的同時下移,其中,上述動作是指:在向該根節(jié)點的子節(jié)點(虛擬節(jié)點)發(fā)送數(shù)據(jù)包時,將數(shù)據(jù)包發(fā)送至具有同一地址的多個子節(jié)點中的、配置有發(fā)送目的地節(jié)點的存儲空間內(nèi)的子節(jié)點(按照該方式確定路由表),然后僅沿著該存儲空間內(nèi)的節(jié)點將數(shù)據(jù)包發(fā)送至發(fā)送目的地節(jié)點。[0126]由此,由于在同一存儲空間內(nèi)的數(shù)據(jù)包發(fā)送處理的比例增大,因而能夠提高發(fā)送處理的速度。[0127]根據(jù)本實施例5,無需像圖11那樣將同一處理器內(nèi)的處理器內(nèi)核之間作為兄弟節(jié)點加以連接,能夠通過更加簡單且統(tǒng)一的結(jié)構(gòu)與圖11大致同樣地發(fā)送數(shù)據(jù)包。[0128]另外,上述實施例1、2以及4也可以形成為與本實施例相同的結(jié)構(gòu)。[0129]實施例6[0130]關(guān)于同一存儲空間內(nèi)的數(shù)據(jù)包的發(fā)送,通過將數(shù)據(jù)包配置在共享存儲器內(nèi),從而實際上不用發(fā)送數(shù)據(jù)包,只要僅將數(shù)據(jù)包的參考從節(jié)點的發(fā)送隊列移動至下一個節(jié)點的接收隊列即可。[0131]例如如圖14所示,在共享存儲器內(nèi)分割出應(yīng)用11用的發(fā)送緩沖器11S。而且,同一存儲空間內(nèi)的各節(jié)點、例如圖3中的節(jié)點Nll具有圖14中的發(fā)送隊列N11-14,圖3中的節(jié)點NlO具有圖14中的發(fā)送隊列N10-14。[0132]各發(fā)送隊列內(nèi)的元素是將發(fā)送緩沖器IlS內(nèi)的一個數(shù)據(jù)包的頂層地址和字節(jié)數(shù)作為參考加以保存。在提取出發(fā)送隊列N11-14的頂層元素EA,并將發(fā)送緩沖器IlS內(nèi)的與該頂層元素EA對應(yīng)的數(shù)據(jù)包A發(fā)送至節(jié)點NlO時,實際上并非將數(shù)據(jù)包發(fā)送出去,而是在圖6的步驟S17中如圖15所示那樣將該頂層元素EA追加(移動)至發(fā)送隊列N10-14的末尾。由此,邏輯上來說已將數(shù)據(jù)包從節(jié)點Nll發(fā)送至節(jié)點N10。[0133]圖16是關(guān)于配置在同一存儲空間IOM內(nèi)的節(jié)點Nil、NlO以及NOO的數(shù)據(jù)包收發(fā)的功能框圖。存儲空間IOM與圖1的處理器內(nèi)核10連接。在圖16中,利用同一符號表示各節(jié)點中的相互對應(yīng)的結(jié)構(gòu)元件,以下將節(jié)點Nij的元素pq記載為Nij-pq。[0134]節(jié)點Nll是應(yīng)用11內(nèi)的對象,節(jié)點Nll的分包部13按照圖5的流程對存儲在發(fā)送緩沖器IlS中的數(shù)據(jù)進(jìn)行分包,并如上述那樣將該數(shù)據(jù)包的參考追加在發(fā)送隊列N11-14的末尾。[0135]當(dāng)發(fā)送隊列N11-14從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時,數(shù)據(jù)包收發(fā)控制部N11-15根據(jù)該事件的發(fā)生開始執(zhí)行圖6的處理。在上述步驟S17中,數(shù)據(jù)包收發(fā)控制部N11-15提取出發(fā)送隊列N11-14的頂層元素并將其追加在發(fā)送隊列N10-14的末尾。同樣地,當(dāng)發(fā)送隊列N10-14從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時,數(shù)據(jù)包收發(fā)控制部N10-15根據(jù)該事件的發(fā)生開始執(zhí)行圖6的處理,在上述步驟S17中,數(shù)據(jù)包收發(fā)控制部N10-15提取出發(fā)送隊列N10-14的頂層元素并將其追加在發(fā)送隊列N00-14的末尾。[0136]當(dāng)發(fā)送隊列N00-14從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時,數(shù)據(jù)包收發(fā)控制部N00-15根據(jù)該事件的發(fā)生開始執(zhí)行圖6的處理,在步驟S15中,數(shù)據(jù)包收發(fā)控制部N00-15提取出發(fā)送隊列N00-14的頂層元素,并參照路由表16,在發(fā)送接口方式的值為I或2時根據(jù)與之對應(yīng)的接口屬性的值變更地址,并經(jīng)由通信部19將數(shù)據(jù)包發(fā)送至其他處理器內(nèi)核。該通信部19由圖2中的OS(操作系統(tǒng))層、驅(qū)動層以及硬件層構(gòu)成。[0137]另一方面,由OS(操作系統(tǒng))層經(jīng)由驅(qū)動層接收從圖3中的節(jié)點N20或N30發(fā)送至節(jié)點NOO的數(shù)據(jù)包,并將該數(shù)據(jù)包存儲在接收緩沖器IlRO中,并將該情況通知給數(shù)據(jù)包收發(fā)控制部N00-15。數(shù)據(jù)包收發(fā)控制部N00-15據(jù)此開始執(zhí)行圖6的處理,在步驟S15中將所存儲的上述數(shù)據(jù)包的參考追加在發(fā)送隊列N10-14的末尾。同樣地,數(shù)據(jù)包收發(fā)控制部N10-15根據(jù)上述事件的發(fā)生開始執(zhí)行圖6的處理,在步驟S15中提取出發(fā)送隊列N10-14的頂層元素并將其追加在發(fā)送隊列N11-14的末尾。[0138]數(shù)據(jù)包收發(fā)控制部N11-15根據(jù)上述事件的發(fā)生開始執(zhí)行圖6的處理,在圖6的步驟S12中提取出發(fā)送隊列N11-14的頂層元素,并且經(jīng)由數(shù)據(jù)包重新排列/解包部18將該數(shù)據(jù)包存儲在接收緩沖器IlR內(nèi)。此時,數(shù)據(jù)包重新排列/解包部18讀出根據(jù)數(shù)據(jù)包的參考確定的接收緩沖器IlRO內(nèi)的多個接收數(shù)據(jù)包并將其按照發(fā)送源地址加以分類,進(jìn)而將數(shù)據(jù)包按照數(shù)據(jù)包序列號重新進(jìn)行排列,并將各數(shù)據(jù)包的標(biāo)題刪除且將有效載荷之間連接起來,然后將該一系列數(shù)據(jù)存儲在接收緩沖器IlR中。[0139]其他方面與上述實施例1相同。[0140]實施例7[0141]本發(fā)明的實施例7的多重處理系統(tǒng)具有與實施例1相同的結(jié)構(gòu)(圖1?圖4),并且執(zhí)行與實施例1相同的數(shù)據(jù)分包處理(圖5)。[0142]在圖3中,當(dāng)因為軟件或硬件的更新而樹內(nèi)的葉節(jié)點的位置發(fā)生變更時,必須與其對應(yīng)地變更通信對象的地址。為了解決該問題,如各葉節(jié)點的下方所示,取代地址而使用與該節(jié)點地址對應(yīng)的名稱。[0143]圖17中的(A)表示用于將各葉節(jié)點的名稱轉(zhuǎn)換為地址的名稱解析表(nameresolutiontable)40A。名稱解析表的配置方法有下述(A)?(C)三種。[0144](A)僅使各葉節(jié)點具有該名稱解析表40A(至少在同一存儲空間內(nèi)具有一個名稱解析表40A,由葉節(jié)點參照該名稱解析表40A)。[0145]在發(fā)送源節(jié)點中,當(dāng)數(shù)據(jù)包的標(biāo)題中取代地址而使用名稱時,參照名稱解析表40A將標(biāo)題內(nèi)的名稱轉(zhuǎn)換為地址(名稱解析)。根據(jù)該方法,可以在數(shù)據(jù)包的發(fā)送源節(jié)點中進(jìn)行名稱解析,但是,系統(tǒng)整體的內(nèi)存使用量與葉節(jié)點的數(shù)量成比例地增加。[0146](B)僅使根節(jié)點具有名稱解析表40A。[0147]該情況下,必須將數(shù)據(jù)包發(fā)送至根節(jié)點進(jìn)行名稱解析。[0148](C)使葉節(jié)點以外的其他各節(jié)點具有與該節(jié)點及其子代節(jié)點相關(guān)的名稱解析表。[0149]具體來說,使圖3的節(jié)點NOO具有圖17中的(A)所示的名稱解析表40A,使深度為I的節(jié)點N10、N20以及N30分別具有圖17中的⑶?⑶所示的名稱解析表40B?40D。在具有名稱解析表的各節(jié)點中,當(dāng)名稱未被解析時嘗試進(jìn)行名稱解析,若能夠解析則對名稱進(jìn)行解析,若無法解析則將數(shù)據(jù)包發(fā)送至父節(jié)點。[0150]圖18是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。圖3中的各節(jié)點(對象)具有該處理的程序。名稱解析表的配置可以是上述(A)?(C)中的任一種。[0151]各節(jié)點具有發(fā)送隊列,該處理是根據(jù)發(fā)送隊列從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時發(fā)生的事件而開始執(zhí)行的。[0152]每次從該發(fā)送隊列中提取出頂層元素時都進(jìn)行步驟SllO以后的處理。[0153](步驟SI10)從數(shù)據(jù)包標(biāo)題取得發(fā)送目的地的地址DA和自節(jié)點的地址SA、或者發(fā)送目的地和自節(jié)點的名稱。[0154](步驟SI11)當(dāng)所取得的是發(fā)送源和發(fā)送目的地的地址時進(jìn)入步驟SI15,當(dāng)所取得的是名稱時進(jìn)入步驟S112。[0155](步驟S112)當(dāng)自節(jié)點的名稱解析表中存在與所取得的名稱一致的名稱時,將該名稱轉(zhuǎn)換為地址并更改標(biāo)題的內(nèi)容。當(dāng)自節(jié)點不具有名稱解析表時視為不存在一致的名稱。[0156](步驟S113)當(dāng)發(fā)送目的地的名稱已被解析完畢時進(jìn)入步驟S115,否則進(jìn)入步驟S114。[0157](步驟S114)當(dāng)自節(jié)點為根節(jié)點時進(jìn)入步驟S11C,否則進(jìn)入步驟S11B。[0158](步驟SI15)當(dāng)發(fā)送目的地的地址DA與自節(jié)點的地址SA相同(i=i2、j=j2)時進(jìn)入步驟S116,否則進(jìn)入步驟S117。[0159](步驟SI16)將該數(shù)據(jù)包存儲在自節(jié)點的接收緩沖器中,并進(jìn)入步驟SI1D。[0160](步驟S117)根據(jù)發(fā)送目的地的地址DA的值邏輯性地判斷發(fā)送目的地的地址DA是否為自節(jié)點的子代節(jié)點(i=0、0<i2,或者,i=i2、j=0、0<J2)的地址。當(dāng)判斷為“是”時進(jìn)入步驟SI18,否則進(jìn)入步驟S11A。[0161](步驟S118)當(dāng)自節(jié)點的路由表中作為子節(jié)點地址而存在包含步驟S117中的子代節(jié)點在內(nèi)的、自節(jié)點的子節(jié)點的地址CA(CA=[i2,0]或者CA=[i2,J2])時進(jìn)入步驟S119,否則進(jìn)入步驟S11C。[0162](步驟S119)將數(shù)據(jù)包發(fā)送至步驟S118中判斷為存在于自節(jié)點的路由表中的子節(jié)點地址CA,并進(jìn)入步驟S11D。[0163](步驟S11A)當(dāng)具有父節(jié)點時、即自節(jié)點并非根節(jié)點時進(jìn)入步驟S11B,否則進(jìn)入步HfSiic0[0164](步驟S11B)將數(shù)據(jù)包發(fā)送至父節(jié)點的地址PA(當(dāng)i古O、j古O時PA=[i,0],當(dāng)i古O、j=O時PA=[0,0]),并進(jìn)入步驟S11D。[0165](步驟S11C)通知OS(操作系統(tǒng))發(fā)生異常錯誤并將該數(shù)據(jù)包毀掉。當(dāng)在應(yīng)用側(cè)未對該錯誤進(jìn)行處理時應(yīng)用停止,當(dāng)在該處理中忽視錯誤時進(jìn)入步驟S11D。[0166](步驟S11D)當(dāng)在上述發(fā)送隊列中存在頂層元素時返回至步驟S110,否則結(jié)束圖18的處理。[0167]在步驟SI19或者步驟SllB中,參照路由表選擇通信接口方式,并據(jù)此變更發(fā)送目的地的地址后進(jìn)行發(fā)送。即,通過在中間件層中進(jìn)行該處理,從而在應(yīng)用層中只要僅使用地址[i,j]即可。路由表也可以使用例如圖8中的㈧和(B)所示的路由表。[0168]圖19是表示自動作成名稱解析表并將其自動分配至葉節(jié)點以外的其他節(jié)點的步驟的概略流程圖。該處理在多重處理系統(tǒng)的初始化處理中執(zhí)行。[0169](步驟S120)確定各節(jié)點的地址。例如,在圖3中,按照處理器內(nèi)核檢測順序來確定與各處理器內(nèi)核對應(yīng)的節(jié)點N10、N20、N30的地址,并將作為上述節(jié)點的父節(jié)點的根節(jié)點的地址設(shè)為[0,0]。根節(jié)點配置在第一個檢測到的處理器內(nèi)核的存儲空間內(nèi),或者,由用戶來選擇處理器內(nèi)核并將根節(jié)點配置在該處理器內(nèi)核的存儲空間內(nèi)。將各應(yīng)用中聲明(declaration)的葉節(jié)點作為與其處于同一存儲空間內(nèi)的父節(jié)點N10、N20或者N30的子節(jié)點,并根據(jù)與圖3相同的方法來確定其地址。[0170](步驟S121)各葉節(jié)點中使應(yīng)用中聲明的葉節(jié)點的名稱與步驟S120中確定的地址相對應(yīng)。[0171](步驟S122)各葉節(jié)點發(fā)送數(shù)據(jù)包,其中,該數(shù)據(jù)包的發(fā)送目的地的地址為根節(jié)點地址[O,O]、發(fā)送源地址為自節(jié)點的地址、并且有效載荷中包含有目節(jié)點的名稱。[0172](步驟S123)根節(jié)點接收步驟S122中發(fā)送來的數(shù)據(jù)包,并作成圖17中的㈧?(D)所示的名稱解析表40A?40D。[0173](步驟S124)根節(jié)點將名稱解析表40A作為自節(jié)點用的名稱解析表加以保存,并將名稱解析表40B?40D分別發(fā)送至節(jié)點N10、N20、N30。節(jié)點N10、N20、N30分別將接收到的名稱解析表作為自節(jié)點用的名稱解析表加以保存。[0174]根據(jù)本實施例7,利用多重處理系統(tǒng)整體構(gòu)成通信對象節(jié)點的樹,且將應(yīng)用層內(nèi)的葉節(jié)點以外的其他節(jié)點配置在中間件層中,并且沿著樹上的節(jié)點進(jìn)行數(shù)據(jù)包發(fā)送,因此能夠發(fā)揮下述效果,即,相對于各種結(jié)構(gòu)的多重處理系統(tǒng),能夠以比較簡單的結(jié)構(gòu),并且,無需考慮通信方式或通信路徑等的硬件便可在用戶節(jié)點之間進(jìn)行通信。[0175]另外,由于在葉節(jié)點之間可以取代地址而使用名稱來發(fā)送數(shù)據(jù)包,因此能夠發(fā)揮下述效果,即,即使因為軟件或硬件的更新而樹內(nèi)的葉節(jié)點的位置發(fā)生改變,也無需與此對應(yīng)地改變通信對象的地址。[0176]實施例8[0177]在本發(fā)明的實施例8的多重處理系統(tǒng)中,按照實施例2中的(Ia)?(3a)的規(guī)則執(zhí)行實施例7中的路由選擇處理(圖18)。本發(fā)明實施例8的多重處理系統(tǒng)的其他結(jié)構(gòu)和動作與實施例7相同。[0178]實施例9[0179]本發(fā)明的實施例9的多重處理系統(tǒng)具有與實施例3相同的結(jié)構(gòu)(圖9)。本發(fā)明實施例9的多重處理系統(tǒng)的其他結(jié)構(gòu)和動作與實施例7相同。[0180]實施例10[0181]本發(fā)明的實施例10的通信對象節(jié)點樹與圖11所示的樹相同。[0182]實施例10的硬件結(jié)構(gòu)與圖9相同。在該樹中,將深度為2的節(jié)點中的、與同一處理器內(nèi)的任意兩個處理器內(nèi)核對應(yīng)的節(jié)點之間通過邊緣加以連接,從而能夠在這些節(jié)點之間直接進(jìn)行通信,這一點與圖10中的樹不同。[0183]圖20是表示葉節(jié)點以外的其他任意節(jié)點將其發(fā)送緩沖器內(nèi)的數(shù)據(jù)包發(fā)送至下一個節(jié)點時的路由選擇處理的概略流程圖。圖11中的各節(jié)點分別獨立地具有該處理的程序。[0184]各節(jié)點具有發(fā)送隊列,該處理是根據(jù)發(fā)送隊列從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時發(fā)生的事件而開始執(zhí)行的。[0185]每次從該發(fā)送隊列中提取出頂層元素時都進(jìn)行步驟SllO以后的處理。[0186]圖20的處理與圖18的處理的不同之處在于:與朝向兄弟節(jié)點的數(shù)據(jù)包的發(fā)送相對應(yīng)而在步驟SI15與步驟SI17之間追加了步驟S130,進(jìn)而追加了與之相關(guān)的步驟S131和步驟S132。接下來,對于該不同之處進(jìn)行說明。[0187]當(dāng)在步驟S115中判斷為“否”時,進(jìn)入步驟S130。[0188](步驟S130)當(dāng)根據(jù)發(fā)送目的地的地址DA的值邏輯性地判斷出發(fā)送目的地的地址DA是自節(jié)點的兄弟節(jié)點的子代節(jié)點(發(fā)送目的地節(jié)點的上代節(jié)點為自節(jié)點的兄弟節(jié)點)的地址時,進(jìn)入步驟S131,否則進(jìn)入步驟S117。[0189]更加具體來說,如下那樣判斷發(fā)送目的地的地址DA是否為自節(jié)點的兄弟節(jié)點的子代節(jié)點的地址。S卩,當(dāng)自節(jié)點是深度為I的節(jié)點Q幸0、j=0、k=O)時,若在自節(jié)點的路由表中存在兄弟節(jié)點的地址BA=[i2,0,0],則將數(shù)據(jù)發(fā)送至該兄弟節(jié)點。當(dāng)自節(jié)點是深度為2的節(jié)點(iΦ0、jΦ0、k=0)時,若在自節(jié)點的路由表中存在兄弟節(jié)點的地址BA=[i2,j2,0],則將數(shù)據(jù)發(fā)送至該兄弟節(jié)點。[0190](步驟S131)當(dāng)自節(jié)點的路由表中包含有兄弟節(jié)點的地址BA時,進(jìn)入步驟S132,否則進(jìn)入步驟SI17。[0191](步驟S132)參照自節(jié)點的路由表來確定發(fā)送方式,將發(fā)送目的地的地址變更為該方式的地址,并將數(shù)據(jù)包發(fā)送至兄弟節(jié)點的地址BA,然后進(jìn)入步驟S11D。路由表也可以使用例如圖13中的⑷?(C)所示的路由表。[0192]本發(fā)明實施例10的多重處理系統(tǒng)的其他結(jié)構(gòu)和動作與實施例9相同。[0193]實施例11[0194]在實施例11中,通過在圖10的樹中將虛擬節(jié)點配置在分別配置有該虛擬節(jié)點的多個子節(jié)點的存儲空間內(nèi),從而在同一存儲空間內(nèi)能夠從任意的節(jié)點上升至根節(jié)點。即,通過將虛擬節(jié)點N000分別配置在與各處理器內(nèi)核連接的存儲空間內(nèi),將深度為I的各虛擬節(jié)點分別配置在與分別配置有該虛擬節(jié)點的子節(jié)點的存儲空間相同的存儲空間內(nèi),從而在從任意的節(jié)點上升至根節(jié)點時,這些節(jié)點都存在于同一存儲空間內(nèi)(發(fā)送緩沖器也存在于與該節(jié)點相同的存儲空間內(nèi))。由于即使地址相同但其發(fā)送方式也根據(jù)位置的不同而不同,因此,各虛擬節(jié)點具有單獨的路由表。[0195]從根節(jié)點起的下移是在進(jìn)行下述動作的同時下移,其中,上述動作是指:在向根節(jié)點的子節(jié)點(虛擬節(jié)點)發(fā)送數(shù)據(jù)包時,將數(shù)據(jù)包發(fā)送至具有同一地址的多個子節(jié)點中的、配置有發(fā)送目的地節(jié)點的存儲空間內(nèi)的子節(jié)點,然后僅沿著該存儲空間內(nèi)的節(jié)點將數(shù)據(jù)包發(fā)送至發(fā)送目的地節(jié)點。[0196]由此,由于同一存儲空間內(nèi)的數(shù)據(jù)包發(fā)送處理的比例變大,因而能夠提高發(fā)送處理的速度。[0197]其他方面與實施例9相同。[0198]根據(jù)本實施例11,無需像圖11那樣將同一處理器內(nèi)的處理器內(nèi)核之間作為兄弟節(jié)點加以連接,通過更加簡單且統(tǒng)一的結(jié)構(gòu)便可與圖11大致同樣地發(fā)送數(shù)據(jù)包。[0199]另外,上述實施例7、8以及10也可以形成為與本實施例相同的結(jié)構(gòu)。[0200]實施例12[0201]關(guān)于同一存儲空間內(nèi)的數(shù)據(jù)包發(fā)送,通過將數(shù)據(jù)包配置在共享存儲器內(nèi),從而實際上不用發(fā)送數(shù)據(jù)包,只要僅將數(shù)據(jù)包的參考從節(jié)點的發(fā)送隊列移動至下一個節(jié)點的接收隊列中即可。[0202]例如如圖14所示,在共享存儲器內(nèi)分割出應(yīng)用11用的發(fā)送緩沖器11S。而且,同一存儲空間的各節(jié)點、例如圖3中的節(jié)點Nll具有圖14的發(fā)送隊列N11-14,圖3中的節(jié)點NlO具有圖14的發(fā)送隊列N10-14。[0203]各發(fā)送隊列內(nèi)的元素是將發(fā)送緩沖器IlS內(nèi)的一個數(shù)據(jù)包的頂層地址和字節(jié)數(shù)作為參考加以保存。在提取出發(fā)送隊列N11-14的頂層元素EA,并將發(fā)送緩沖器IlS內(nèi)的與該頂層元素EA對應(yīng)的數(shù)據(jù)包A發(fā)送至節(jié)點NlO時,實際上并非將數(shù)據(jù)包發(fā)送出去,而是在圖18的步驟SllB中如圖15所示那樣將該頂層元素EA追加(移動)至發(fā)送隊列N10-14的末尾。由此,從邏輯上來說已將數(shù)據(jù)包從節(jié)點Nll發(fā)送至節(jié)點N10。[0204]圖21是關(guān)于配置在同一存儲空間IOM內(nèi)的節(jié)點Nil、NlO以及NOO的數(shù)據(jù)包收發(fā)的功能框圖。存儲空間IOM與圖1中的處理器內(nèi)核10連接。在圖21中,利用同一符號表示各節(jié)點中的相互對應(yīng)的結(jié)構(gòu)元件,以下將節(jié)點Nij的元素pq記載為Nij-pq。[0205]節(jié)點NII是應(yīng)用11內(nèi)的對象,節(jié)點NII的分包部13按照圖5的流程對存儲在發(fā)送緩沖器IlS中的數(shù)據(jù)進(jìn)行分包,并如上述那樣將該數(shù)據(jù)包的參考追加至發(fā)送隊列N11-14的末尾。[0206]當(dāng)發(fā)送隊列N11-14從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時,數(shù)據(jù)包收發(fā)控制部N11-15根據(jù)該事件的發(fā)生開始執(zhí)行圖18的處理。在上述步驟SllB中,數(shù)據(jù)包收發(fā)控制部N11-15提取出發(fā)送隊列N11-14的頂層元素并將其追加至發(fā)送隊列N10-14的末尾。同樣地,當(dāng)發(fā)送隊列N10-14從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時,數(shù)據(jù)包收發(fā)控制部N10-15根據(jù)該事件的發(fā)生開始執(zhí)行圖18的處理,在上述步驟SllB中提取出發(fā)送隊列N10-14的頂層元素并將其追加至發(fā)送隊列N00-14的末尾。[0207]當(dāng)發(fā)送隊列N00-14從空狀態(tài)變?yōu)楸蛔芳恿艘粋€元素的狀態(tài)時,數(shù)據(jù)包收發(fā)控制部N00-15根據(jù)該事件的發(fā)生而開始執(zhí)行圖18的處理,在步驟S119中提取出發(fā)送隊列N00-14的頂層元素,并且參照路由表16,在發(fā)送接口方式的值為I或2時根據(jù)與之對應(yīng)的接口屬性的值變更地址,并經(jīng)由通信部19將數(shù)據(jù)包發(fā)送至其他處理器內(nèi)核。該通信部19由圖2中的OS(操作系統(tǒng))層、驅(qū)動層以及硬件層構(gòu)成。[0208]另一方面,由OS(操作系統(tǒng))層經(jīng)由驅(qū)動層接收從圖3中的節(jié)點N20或N30發(fā)送至節(jié)點NOO的數(shù)據(jù)包并將其存儲在接收緩沖器IlRO中,并將該情況通知給數(shù)據(jù)包收發(fā)控制部N00-15。數(shù)據(jù)包收發(fā)控制部N00-15據(jù)此開始執(zhí)行圖18的處理,在步驟SI19中將所存儲的上述數(shù)據(jù)包的參考追加至發(fā)送隊列N10-14的末尾。同樣地,數(shù)據(jù)包收發(fā)控制部N10-15根據(jù)上述事件的發(fā)生開始執(zhí)行圖18的處理,在步驟S119中提取出發(fā)送隊列N10-14的頂層元素并將其追加至發(fā)送隊列N11-14的末尾。[0209]數(shù)據(jù)包收發(fā)控制部N11-15根據(jù)該事件的發(fā)生開始執(zhí)行圖18的處理,在圖18的步驟S116中提取出發(fā)送隊列N11-14的頂層元素,并經(jīng)由數(shù)據(jù)包重新排列/解包部18將該數(shù)據(jù)包存儲在接收緩沖器IlR中。此時,數(shù)據(jù)包重新排列/解包部18讀出根據(jù)數(shù)據(jù)包的參考確定的接收緩沖器IlRO內(nèi)的多個接收數(shù)據(jù)包,并將其按照發(fā)送源地址加以分類,進(jìn)而將數(shù)據(jù)包按照數(shù)據(jù)包序列號重新排列,并將各數(shù)據(jù)包的標(biāo)題刪除且將有效載荷之間加以連接,然后將該一系列數(shù)據(jù)存儲在接收緩沖器IlR中。[0210]其他方面與上述實施例7相同。[0211]以上,對于本發(fā)明的適宜的實施例進(jìn)行了說明,但是,本發(fā)明除此之外還包含有各種變形例,可實現(xiàn)上述實施例中所述的各結(jié)構(gòu)元件的功能的其他結(jié)構(gòu)、本領(lǐng)域技術(shù)人員能夠由上述結(jié)構(gòu)或功能想到的其他結(jié)構(gòu)也包含在本發(fā)明中。[0212]例如,圖14的發(fā)送緩沖器IlS也可以是多個處理器內(nèi)核之間的共享存儲器,該情況下,關(guān)于分別在上述多個處理器內(nèi)核內(nèi)動作的用戶節(jié)點之間的通信,也只要僅發(fā)送數(shù)據(jù)包的參考即可。[0213]也可以形成為僅在與應(yīng)用層的葉節(jié)點直接連接的中間件層的節(jié)點中進(jìn)行分包處理和解包處理。即,也可以形成為:在發(fā)送側(cè)的葉節(jié)點中指定發(fā)送目的地和發(fā)送源的地址,并將數(shù)據(jù)發(fā)送至高度為I的節(jié)點,而在接收側(cè)的葉節(jié)點中接收標(biāo)題被刪除且有效載荷被連接的數(shù)據(jù)。該情況下,在用戶節(jié)點中無需考慮數(shù)據(jù)包。[0214]另外,也可以構(gòu)成為:在圖6中,僅在葉節(jié)點中執(zhí)行步驟Sll和步驟S12,且在根節(jié)點中不執(zhí)行步驟S16和S17。這一點在圖12中也是同樣的,進(jìn)而也可以構(gòu)成為:在圖12中,僅在兄弟節(jié)點之間通過邊緣被連接的深度的節(jié)點中執(zhí)行步驟S20、S21以及S22。[0215]另外,也可以構(gòu)成為:在圖18中,僅在葉節(jié)點中執(zhí)行步驟S115和S116,且在根節(jié)點中不執(zhí)行步驟SllA和SllB。這一點在圖20也是同樣的,進(jìn)而也可以構(gòu)成為:在圖20中,僅在兄弟節(jié)點之間通過邊緣被連接的深度的節(jié)點中執(zhí)行步驟S130、S131以及S132。[0216]在上述各實施例中,對于多核處理器內(nèi)的處理器內(nèi)核之間的通信使用MCAPI的情況進(jìn)行了說明,但是,可以構(gòu)成為經(jīng)由多個處理器內(nèi)核可瀏覽的高速緩沖存儲器上的區(qū)域在處理器內(nèi)核之間進(jìn)行通信,也可以構(gòu)成為選擇使用多個通信方式中的一種。[0217]另外,上述實施例5也可以同樣地適用于上述實施例2?4中。[0218]進(jìn)而,上述實施例11也可以同樣地適用于上述實施例8?10中。[0219]進(jìn)而,本發(fā)明不僅適用于非對稱多重處理系統(tǒng),還可以適用于對稱多重處理系統(tǒng)中?!緳?quán)利要求】1.一種多重處理系統(tǒng),其特征在于,所述多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,其中,所述數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將所述第一節(jié)點分別配置在與配置有所述用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以所述第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將所述第二節(jié)點配置在配置有任一個所述第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含所述用戶節(jié)點、所述第一節(jié)點以及所述第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在所述樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,所述用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象,當(dāng)所述標(biāo)題中的發(fā)送目的地的地址與自節(jié)點的地址一致時,所述數(shù)據(jù)包路由部將所述數(shù)據(jù)包作為自節(jié)點的數(shù)據(jù)包加以保存,當(dāng)所述標(biāo)題中的發(fā)送目的地的地址為自節(jié)點的子節(jié)點地址時,所述數(shù)據(jù)包路由部將所述數(shù)據(jù)包發(fā)送至子節(jié)點,在其他情況下,所述數(shù)據(jù)包路由部將所述數(shù)據(jù)包發(fā)送至所述自節(jié)點的父節(jié)點。2.如權(quán)利要求1所述的多重處理系統(tǒng),其特征在于,所述第二節(jié)點為根節(jié)點。3.如權(quán)利要求1所述的多重處理系統(tǒng),其特征在于,所述第二節(jié)點配置在各個處理器中,所述樹進(jìn)而作為根節(jié)點而設(shè)有以各個所述第二節(jié)點為子節(jié)點的父節(jié)點的對象,并且,所述根節(jié)點配置在配置有任一個所述第二節(jié)點的存儲空間內(nèi)的中間件層中。4.如權(quán)利要求1所述的多重處理系統(tǒng),其特征在于,各節(jié)點具有路由表,其中,所述路由表中登記有自節(jié)點的地址、所述自節(jié)點的所有子節(jié)點的地址、向下一個節(jié)點發(fā)送數(shù)據(jù)包的數(shù)據(jù)包發(fā)送方式、以及用于以所述數(shù)據(jù)包發(fā)送方式向所述下一個節(jié)點發(fā)送數(shù)據(jù)包的屬性,所述下一個節(jié)點是與配置有所述自節(jié)點的存儲空間不同的存儲空間內(nèi)的節(jié)點,各數(shù)據(jù)包路由部參照所述自節(jié)點的路由表對所述數(shù)據(jù)包進(jìn)行路由選擇。5.如權(quán)利要求2所述的多重處理系統(tǒng),其特征在于,所述根節(jié)點配置在分別與多個所述處理器內(nèi)核連接的存儲空間內(nèi),在向父節(jié)點發(fā)送所述數(shù)據(jù)包時,與所述根節(jié)點連接的各節(jié)點的數(shù)據(jù)包路由部將所述數(shù)據(jù)包發(fā)送至與自節(jié)點處于同一存儲空間內(nèi)的根節(jié)點。6.如權(quán)利要求1~5中任一項所述的多重處理系統(tǒng),其特征在于,在向與自節(jié)點處于同一存儲空間內(nèi)的節(jié)點發(fā)送所述數(shù)據(jù)包時,所述數(shù)據(jù)包路由部僅將所述數(shù)據(jù)包的參考發(fā)送至所述節(jié)點。7.一種多重處理系統(tǒng),其特征在于,所述多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,其中,所述數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將所述第一節(jié)點分別配置在與配置有所述用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以所述第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將所述第二節(jié)點配置在配置有任一個所述第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含所述用戶節(jié)點、所述第一節(jié)點以及所述第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在所述樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,所述用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象,所述樹中的各用戶節(jié)點的所述數(shù)據(jù)包路由部具有名稱解析表,并在路由選擇處理之前進(jìn)行名稱解析處理,其中,在所述名稱解析表中,各用戶節(jié)點的名稱與其地址呈對應(yīng)關(guān)系,在所述名稱解析處理中,在取代所述標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)所述名稱解析表中存在所述名稱時,將所述名稱轉(zhuǎn)換為地址并利用所述地址取代所述標(biāo)題中的名稱,當(dāng)所述名稱解析表中不存在所述名稱時,通知操作系統(tǒng)發(fā)生異常錯誤。8.一種多重處理系統(tǒng),其特征在于,所述多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,其中,所述數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將所述第一節(jié)點分別配置在與配置有所述用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以所述第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將所述第二節(jié)點配置在配置有任一個所述第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含所述用戶節(jié)點、所述第一節(jié)點以及所述第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在所述樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,所述用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象,所述樹中的根節(jié)點以外的其他節(jié)點的所述數(shù)據(jù)包路由部不具有名稱解析表,在取代所述標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,將所述數(shù)據(jù)包發(fā)送至自節(jié)點的父節(jié)點,所述根節(jié)點的所述數(shù)據(jù)包路由部設(shè)有名稱解析表,并在路由選擇處理之前進(jìn)行名稱解析處理,其中,在所述名稱解析表中,各用戶節(jié)點的名稱與地址呈對應(yīng)關(guān)系,在所述名稱解析處理中,在取代所述標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)所述名稱解析表中存在所述名稱時,將所述名稱轉(zhuǎn)換為地址并利用所述地址取代所述標(biāo)題中的名稱,當(dāng)所述名稱解析表中不存存所述名稱時,通知操作系統(tǒng)發(fā)生異常錯誤。9.一種多重處理系統(tǒng),其特征在于,所述多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,其中,所述數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將所述第一節(jié)點分別配置在與配置有所述用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以所述第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將所述第二節(jié)點配置在配置有任一個所述第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含所述用戶節(jié)點、所述第一節(jié)點以及所述第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在所述樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,所述用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象,所述樹中的用戶節(jié)點以外的其他節(jié)點的所述數(shù)據(jù)包路由部設(shè)有名稱解析表,其中,在所述名稱解析表中,自節(jié)點及其所有子代節(jié)點的名稱與地址呈對應(yīng)關(guān)系,當(dāng)取代所述標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱時,各用戶節(jié)點的所述數(shù)據(jù)包路由部將所述數(shù)據(jù)包發(fā)送至自節(jié)點的父節(jié)點,所述樹中的用戶節(jié)點以外的其他節(jié)點的所述數(shù)據(jù)包路由部在路由選擇處理之前進(jìn)行名稱解析處理,在所述名稱解析處理中,在取代所述標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)所述名稱解析表中存在所述名稱時,將所述名稱轉(zhuǎn)換為地址并利用所述地址取代所述標(biāo)題中的名稱,當(dāng)所述名稱解析表中不存在所述名稱但自節(jié)點具有父節(jié)點時,將所述數(shù)據(jù)包發(fā)送至所述父節(jié)點,當(dāng)所述名稱解析表中不存在所述名稱且自節(jié)點不具有所述父節(jié)點時,通知操作系統(tǒng)發(fā)生異常錯誤。10.一種多重處理系統(tǒng),其特征在于,所述多重處理系統(tǒng)設(shè)有數(shù)據(jù)包路由部,其中,所述數(shù)據(jù)包路由部將以用戶節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第一節(jié)點,并將所述第一節(jié)點分別配置在與配置有所述用戶節(jié)點的存儲空間相同的存儲空間內(nèi)的中間件層中;將以所述第一節(jié)點作為子節(jié)點的父節(jié)點的對象設(shè)為第二節(jié)點,并將所述第二節(jié)點配置在配置有任一個所述第一節(jié)點的存儲空間內(nèi)的中間件層中;對于包含所述用戶節(jié)點、所述第一節(jié)點以及所述第二節(jié)點的樹中的各節(jié)點設(shè)定能夠根據(jù)值來區(qū)分父子關(guān)系的地址,并且在所述樹中的父子節(jié)點之間對標(biāo)題中包含有發(fā)送目的地的地址和發(fā)送源地址的數(shù)據(jù)包進(jìn)行路由選擇,所述用戶節(jié)點是分別與多個處理器內(nèi)核連接的存儲空間內(nèi)的應(yīng)用層的對象,所述樹中的各用戶節(jié)點的所述數(shù)據(jù)包路由部具有名稱解析表,并在路由選擇處理之前進(jìn)行名稱解析處理,其中,在所述名稱解析表中,各用戶節(jié)點的名稱與其地址呈對應(yīng)關(guān)系,在所述名稱解析處理中,在取代所述標(biāo)題中的發(fā)送目的地的地址或發(fā)送源地址而使用名稱的情況下,當(dāng)所述名稱解析表中存在所述名稱時,將所述名稱轉(zhuǎn)換為地址并利用所述地址取代所述標(biāo)題中的名稱,當(dāng)所述名稱解析表中不存在所述名稱、或者自節(jié)點不具有所述名稱解析表時,若所述自節(jié)點具有父節(jié)點則將所述數(shù)據(jù)包發(fā)送至所述父節(jié)點,若所述自節(jié)點不具有父節(jié)點則通知操作系統(tǒng)發(fā)生異常錯誤。11.如權(quán)利要求7~10中任一項所述的多重處理系統(tǒng),其特征在于,所述樹中的各節(jié)點的所述數(shù)據(jù)包路由部在所述路由選擇處理中,在所述標(biāo)題中的發(fā)送目的地的地址與自節(jié)點的地址一致時將所述數(shù)據(jù)包作為自節(jié)點的數(shù)據(jù)包加以保存,在所述標(biāo)題中的發(fā)送目的地的地址為自節(jié)點的子節(jié)點地址時將所述數(shù)據(jù)包發(fā)送至子節(jié)點,其他情況下將所述數(shù)據(jù)包發(fā)送至所述自節(jié)點的父節(jié)點。12.如權(quán)利要求11所述的多重處理系統(tǒng),其特征在于,所述第二節(jié)點為根節(jié)點。13.如權(quán)利要求11所述的多重處理系統(tǒng),其特征在于,所述第二節(jié)點配置在各個處理器中,所述樹進(jìn)而作為根節(jié)點而設(shè)有以各個所述第二節(jié)點作為子節(jié)點的父節(jié)點的對象,并且,所述根節(jié)點配置在配置有任一個所述第二節(jié)點的存儲空間內(nèi)的中間件層中。14.如權(quán)利要求11所述的多重處理系統(tǒng),其特征在于,所述樹中的各節(jié)點具有路由表,在所述路由表中,登記有自節(jié)點的地址和所述自節(jié)點的所有子節(jié)點的地址,進(jìn)而還登記有向下一個節(jié)點發(fā)送數(shù)據(jù)包的數(shù)據(jù)包發(fā)送方式、和用于以所述數(shù)據(jù)包發(fā)送方式向所述下一個節(jié)點發(fā)送數(shù)據(jù)包的屬性,其中,所述下一個節(jié)點是與配置有所述自節(jié)點的存儲空間不同的存儲空間內(nèi)的節(jié)點,各數(shù)據(jù)包路由部參照所述自節(jié)點的路由表對所述數(shù)據(jù)包進(jìn)行路由選擇。15.如權(quán)利要求11所述的多重處理系統(tǒng),其特征在于,所述樹內(nèi)的根節(jié)點配置在分別與多個所述處理器內(nèi)核連接的存儲空間內(nèi),在向父節(jié)點發(fā)送所述數(shù)據(jù)包時,所述樹內(nèi)的根節(jié)點以外的其他各節(jié)點的數(shù)據(jù)包路由部將所述數(shù)據(jù)包發(fā)送至與自節(jié)點處于同一存儲空間內(nèi)的根節(jié)點。16.如權(quán)利要求11所述的多重處理系統(tǒng),其特征在于,在向與自節(jié)點處于同一存儲空間內(nèi)的節(jié)點發(fā)送所述數(shù)據(jù)包時,所述樹內(nèi)的各節(jié)點的數(shù)據(jù)包路由部僅將所述數(shù)據(jù)包的參考發(fā)送至所述節(jié)點。【文檔編號】G06F15/173GK103678246SQ201310357252【公開日】2014年3月26日申請日期:2013年8月15日優(yōu)先權(quán)日:2012年8月29日【發(fā)明者】遠(yuǎn)藤航申請人:京瓷辦公信息系統(tǒng)株式會社