并行計(jì)算機(jī)、節(jié)點(diǎn)裝置以及并行計(jì)算機(jī)的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及并行計(jì)算機(jī)、節(jié)點(diǎn)裝置以及并行計(jì)算機(jī)的控制方法。
【背景技術(shù)】
[0002]存在一種能夠與外部的網(wǎng)絡(luò)進(jìn)行通信的并行計(jì)算機(jī)。圖1表示與外部的網(wǎng)絡(luò)之間收發(fā)數(shù)據(jù)的并行計(jì)算機(jī)的例子。圖1的并行計(jì)算機(jī)IA具有進(jìn)行計(jì)算處理的多個(gè)計(jì)算節(jié)點(diǎn)lla、llb、…、以及同用于與外部裝置進(jìn)行通信的NIC(Network Interface Card:網(wǎng)絡(luò)接口卡)13連接的一個(gè)I/O (Input/Output)節(jié)點(diǎn)12。另外,計(jì)算節(jié)點(diǎn)以及I/O節(jié)點(diǎn)分別具有CPU (Central Processing Unit)以及路由器。而且,計(jì)算節(jié)點(diǎn)11以及I/O節(jié)點(diǎn)12經(jīng)由路由器連接。另外,I/O節(jié)點(diǎn)12的CPU與NIC13連接,并能夠經(jīng)由NIC13與外部網(wǎng)絡(luò)2A進(jìn)行通信。
[0003]另外,作為將并行計(jì)算機(jī)所包含的多個(gè)計(jì)算節(jié)點(diǎn)以及I/O節(jié)點(diǎn)連接起來(lái)的拓?fù)浣Y(jié)構(gòu),已知有網(wǎng)格(mesh)、環(huán)(torus)等。如果在發(fā)送源的計(jì)算節(jié)點(diǎn)與目的地的I/O節(jié)點(diǎn)之間存在能夠取的多個(gè)路徑,則即使在通信路徑上的計(jì)算節(jié)點(diǎn)發(fā)生故障的情況下,并行計(jì)算機(jī)的各計(jì)算節(jié)點(diǎn)也能夠繞過(guò)發(fā)生故障的計(jì)算節(jié)點(diǎn)來(lái)發(fā)送數(shù)據(jù)。
[0004]專(zhuān)利文獻(xiàn)1:日本特開(kāi)平10 - 69471號(hào)公報(bào)
[0005]專(zhuān)利文獻(xiàn)2:日本特開(kāi)2007 - 110240號(hào)公報(bào)
[0006]然而,迂回路徑例如是由對(duì)并行計(jì)算機(jī)的計(jì)算節(jié)點(diǎn)分配處理的管理節(jié)點(diǎn)指示的,I/o節(jié)點(diǎn)的NIC不保持用于對(duì)從外部網(wǎng)絡(luò)接收的數(shù)據(jù)所設(shè)定的迂回路徑。因此,在接收到從外部網(wǎng)絡(luò)向并行計(jì)算機(jī)內(nèi)部的計(jì)算節(jié)點(diǎn)的數(shù)據(jù)的情況下,I/o節(jié)點(diǎn)的NIC無(wú)法對(duì)接收到的數(shù)據(jù)設(shè)定并行計(jì)算機(jī)內(nèi)部的網(wǎng)絡(luò)中的迂回路徑。
【發(fā)明內(nèi)容】
[0007]因此,公開(kāi)的技術(shù)的目的在于,在向并行計(jì)算機(jī)內(nèi)的計(jì)算節(jié)點(diǎn)發(fā)送從外部網(wǎng)絡(luò)接收的數(shù)據(jù)的情況下,即使在通信路徑上的計(jì)算節(jié)點(diǎn)產(chǎn)生不良狀況時(shí),也能夠繞過(guò)產(chǎn)生不良狀況的計(jì)算節(jié)點(diǎn)來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)。
[0008]公開(kāi)的技術(shù)的一方面是具有多個(gè)節(jié)點(diǎn)的并行計(jì)算機(jī)。另外,各個(gè)節(jié)點(diǎn)具有路由器,其直接或者間接地與各個(gè)其它節(jié)點(diǎn)連接;以及網(wǎng)絡(luò)接口,其與并行計(jì)算機(jī)的外部網(wǎng)絡(luò)連接,該網(wǎng)絡(luò)接口具有存儲(chǔ)部,其對(duì)表示與從包含該網(wǎng)絡(luò)接口的節(jié)點(diǎn)至其它節(jié)點(diǎn)的通信路徑對(duì)應(yīng)的迂回路徑的迂回路徑信息進(jìn)行保持;以及接收處理部,在網(wǎng)絡(luò)接口從外部網(wǎng)絡(luò)接收到以該并行計(jì)算機(jī)的節(jié)點(diǎn)為目的地的數(shù)據(jù)的情況下,該接收處理部將與從包含該網(wǎng)絡(luò)接口的節(jié)點(diǎn)至數(shù)據(jù)的目的地節(jié)點(diǎn)的通信路徑對(duì)應(yīng)的迂回路徑信息設(shè)定于數(shù)據(jù),并向目的地節(jié)點(diǎn)發(fā)送設(shè)定有迂回路徑信息的數(shù)據(jù)。
[0009]根據(jù)公開(kāi)的技術(shù),在向并行計(jì)算機(jī)內(nèi)的計(jì)算節(jié)點(diǎn)發(fā)送從外部網(wǎng)絡(luò)接收到的數(shù)據(jù)的情況下,即使在通信路徑上的計(jì)算節(jié)點(diǎn)產(chǎn)生不良狀況時(shí),也能夠繞過(guò)產(chǎn)生不良狀況的計(jì)算節(jié)點(diǎn)來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)。
【附圖說(shuō)明】
[0010]圖1是表示并行計(jì)算機(jī)的一個(gè)例子的圖。
[0011]圖2是用于說(shuō)明二維網(wǎng)格的圖。
[0012]圖3是表不互聯(lián)的一個(gè)例子的圖。
[0013]圖4是用于說(shuō)明互聯(lián)的詳細(xì)內(nèi)容的圖。
[0014]圖5是表不互聯(lián)的其它例子的圖。
[0015]圖6是表不節(jié)點(diǎn)的構(gòu)成的一個(gè)例子的圖。
[0016]圖7A是表不路由器的構(gòu)成的一個(gè)例子的圖。
[0017]圖7B是NIC的功能框圖的一個(gè)例子。
[0018]圖8是表示實(shí)施方式所涉及的數(shù)據(jù)包的構(gòu)成的一個(gè)例子的圖。
[0019]圖9是向外部網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的處理的處理流程的一個(gè)例子。
[0020]圖10是NIC登記迂回路徑的處理的處理流程的一個(gè)例子。
[0021]圖11是表示在地址表中登記的信息的一個(gè)例子的圖。
[0022]圖12是從外部網(wǎng)絡(luò)接收數(shù)據(jù)的處理的處理流程的一個(gè)例子。
[0023]圖13是確認(rèn)數(shù)據(jù)的目的地的處理的處理流程的一個(gè)例子。
[0024]圖14是管理節(jié)點(diǎn)設(shè)定迂回路徑信息的處理的處理流程的一個(gè)例子。
【具體實(shí)施方式】
[0025]以下,參照附圖,對(duì)一實(shí)施方式所涉及的并行計(jì)算機(jī)進(jìn)行說(shuō)明。以下的實(shí)施方式的構(gòu)成是例示,本并行計(jì)算機(jī)并不限于實(shí)施方式的構(gòu)成。
[0026][互聯(lián)的拓?fù)浣Y(jié)構(gòu)]
[0027]首先,對(duì)并行計(jì)算機(jī)的互聯(lián)的拓?fù)浣Y(jié)構(gòu)(即,并行計(jì)算機(jī)的內(nèi)部網(wǎng)絡(luò)的連接方式)進(jìn)行說(shuō)明。并行計(jì)算機(jī)具有多個(gè)計(jì)算節(jié)點(diǎn),各計(jì)算節(jié)點(diǎn)具有CPU、路由器等。而且,各計(jì)算節(jié)點(diǎn)經(jīng)由路由器與其它幾個(gè)計(jì)算節(jié)點(diǎn)連接,并將連接計(jì)算節(jié)點(diǎn)間的內(nèi)部網(wǎng)絡(luò)稱(chēng)為互聯(lián)(Interconnect)。另外,多個(gè)CPU并行地進(jìn)行計(jì)算,并經(jīng)由互聯(lián)相互收發(fā)計(jì)算結(jié)果,或在并行計(jì)算機(jī)內(nèi)的計(jì)算節(jié)點(diǎn)與外部網(wǎng)絡(luò)之間收發(fā)數(shù)據(jù)。
[0028]互聯(lián)的拓?fù)浣Y(jié)構(gòu)能夠基于表示與鄰接的計(jì)算節(jié)點(diǎn)的連接(即,鏈接)的數(shù)量的次數(shù)(degree)、表示計(jì)算節(jié)點(diǎn)間的最大距離的直徑(diameter)、對(duì)稱(chēng)性(symmetry)等進(jìn)行分類(lèi)。如果是各計(jì)算節(jié)點(diǎn)與其它全部計(jì)算節(jié)點(diǎn)連接的完全結(jié)合,則不經(jīng)由其它計(jì)算節(jié)點(diǎn)等而能夠在任意的兩個(gè)計(jì)算節(jié)點(diǎn)間直接進(jìn)行通信。然而,伴隨著計(jì)算節(jié)點(diǎn)數(shù)的增加,完全結(jié)合的安裝變得困難。因此,現(xiàn)實(shí)中,采用將鄰接的計(jì)算節(jié)點(diǎn)連接成網(wǎng)狀的拓?fù)浣Y(jié)構(gòu)即網(wǎng)格(mesh)、將網(wǎng)格中的端的計(jì)算節(jié)點(diǎn)彼此連接而使全部的計(jì)算節(jié)點(diǎn)的鏈接數(shù)相等的拓?fù)浣Y(jié)構(gòu)即環(huán)(torus)等。
[0029]圖2表示二維網(wǎng)格的例子。圖2所示的并行計(jì)算機(jī)IB在圖2中呈網(wǎng)狀地具有表示左右方向的X方向、表示上下方向的Y方向上的各四個(gè),共計(jì)16個(gè)計(jì)算節(jié)點(diǎn)。而且,各計(jì)算節(jié)點(diǎn)與X方向以及Y方向的鄰接的計(jì)算節(jié)點(diǎn)連接。此外,存在于外周部的計(jì)算節(jié)點(diǎn)與存在于其內(nèi)側(cè)的計(jì)算節(jié)點(diǎn)相比連接節(jié)點(diǎn)數(shù)較少。另外,在圖2的例子中,為了便于說(shuō)明,作為計(jì)算節(jié)點(diǎn)的識(shí)別符號(hào)附加了表示X方向以及Y方向的連接順序的2個(gè)連貫的號(hào)碼。
[0030]圖3表示本實(shí)施方式所涉及的拓?fù)浣Y(jié)構(gòu)的一個(gè)例子。圖3的并行計(jì)算機(jī)IC所包含的24個(gè)計(jì)算節(jié)點(diǎn)(也表示為節(jié)點(diǎn)裝置)被分成6個(gè)組IG?6G。各組分別包括4個(gè)計(jì)算節(jié)點(diǎn)O?3,組內(nèi)的4個(gè)計(jì)算節(jié)點(diǎn)O?3以完全結(jié)合連接。另外,在組間,存在于對(duì)應(yīng)的位置上的計(jì)算節(jié)點(diǎn)(在圖3的例子中,組內(nèi)的編號(hào)相同的計(jì)算節(jié)點(diǎn))串聯(lián)連接,形成I維環(huán)。在圖3的例子中,為了便于識(shí)別各計(jì)算節(jié)點(diǎn),將組編號(hào)以及節(jié)點(diǎn)編號(hào)連接起來(lái)而稱(chēng)為計(jì)算節(jié)點(diǎn)IGO?計(jì)算節(jié)點(diǎn)6G3。另外,在圖3的例子中,計(jì)算節(jié)點(diǎn)3G0以及計(jì)算節(jié)點(diǎn)3G1與采用了以太網(wǎng)(注冊(cè)商標(biāo))規(guī)格的外部網(wǎng)絡(luò)2B(以下,僅稱(chēng)為以太網(wǎng)2B)連接。此外,在本實(shí)施方式中,為了便于說(shuō)明,將與外部網(wǎng)絡(luò)可通信地連接的計(jì)算節(jié)點(diǎn)稱(chēng)為I/O節(jié)點(diǎn)。
[0031]在本實(shí)施方式中,至少一個(gè)計(jì)算節(jié)點(diǎn)的路由器具有以太網(wǎng)NIC。此外,也可以是全部的計(jì)算節(jié)點(diǎn)的路由器都具有以太網(wǎng)NIC(即,與外部網(wǎng)絡(luò)連接的網(wǎng)絡(luò)接口)。如果將并行計(jì)算機(jī)具有的多個(gè)計(jì)算節(jié)點(diǎn)的構(gòu)成統(tǒng)一,則能夠抑制計(jì)算節(jié)點(diǎn)的開(kāi)發(fā)、驗(yàn)證所花費(fèi)的工作量。
[0032]接下來(lái),圖4表示圖3中的組3G與以太網(wǎng)2B的連接的詳細(xì)內(nèi)容。在圖4的例子中,組3G包括4個(gè)計(jì)算節(jié)點(diǎn)3Gi(i = 0、1、2、3)。另外,計(jì)算節(jié)點(diǎn)3Gi分別具有CPU3GiC、路由器3G0R以及以太網(wǎng)NIC3GiN。此外,為了便于說(shuō)明,將路由器與以太網(wǎng)NIC連接起來(lái)表示,然而也可以是路由器具有以太網(wǎng)NIC。而且,以太網(wǎng)NIC3G0N以及3G1N與以太網(wǎng)2B連接。這樣,多個(gè)以太網(wǎng)NIC中的至少一部分經(jīng)由開(kāi)關(guān)等以物理方式與外部網(wǎng)絡(luò)(例如,以太網(wǎng))連接。
[0033]另外,與并行計(jì)算機(jī)的內(nèi)部網(wǎng)絡(luò)連接的管理節(jié)點(diǎn)可以切換以太網(wǎng)NIC的有效或者無(wú)效的設(shè)定。在圖4的例子中,虛線(xiàn)表示的以太網(wǎng)NIC3G2N以及3G3N被設(shè)定為無(wú)效,是未作為以太網(wǎng)NIC發(fā)揮作用的狀態(tài)。另外,實(shí)線(xiàn)表示的以太網(wǎng)NIC3G0N以及3G1N的作為以太網(wǎng)NIC的功能被有效化。
[0034]例如,管理節(jié)點(diǎn)也可以與各以太網(wǎng)NIC建立對(duì)應(yīng)地將有效或者無(wú)效的設(shè)定存儲(chǔ)到規(guī)定的注冊(cè)表。而且,也可以是基于該設(shè)定,管理節(jié)點(diǎn)指示使用于各計(jì)算節(jié)點(diǎn)與外部網(wǎng)絡(luò)的通信的以太網(wǎng)NIC。即,通過(guò)管理節(jié)點(diǎn)變更設(shè)定,能夠使各計(jì)算節(jié)點(diǎn)具有的以太網(wǎng)NIC有效化或者無(wú)效化。管理節(jié)點(diǎn)也可以在并行計(jì)算機(jī)的起動(dòng)時(shí)或者使計(jì)算節(jié)點(diǎn)執(zhí)行的處理的分配(也表示為任務(wù)的投入)時(shí),適當(dāng)?shù)剡M(jìn)行以太網(wǎng)NIC的有效化或者無(wú)效化。
[0035]此外,本實(shí)施方式所涉及的管理節(jié)點(diǎn)例如是控制多個(gè)計(jì)算節(jié)點(diǎn)的動(dòng)作的節(jié)點(diǎn)。管理節(jié)點(diǎn)可以是圖3所示的計(jì)算節(jié)點(diǎn)IGO?計(jì)算節(jié)點(diǎn)6G3中的任意一個(gè),例如圖5所示,也可以是與計(jì)算節(jié)點(diǎn)IGO?計(jì)算節(jié)點(diǎn)6G3中的至少一個(gè)計(jì)算節(jié)點(diǎn)連接的其它節(jié)點(diǎn)。圖5所示的管理節(jié)點(diǎn)4與計(jì)算節(jié)點(diǎn)2G2連接。另外,如上述,管理節(jié)點(diǎn)具有圖5未圖示的寄存器,該寄存器能夠與各計(jì)算節(jié)點(diǎn)具有的以太網(wǎng)NIC建立對(duì)應(yīng)地存儲(chǔ)有效或者無(wú)效的設(shè)定。
[0036]此外,圖3?圖5所示的組的數(shù)量、組所包含的計(jì)算節(jié)點(diǎn)的數(shù)量、計(jì)算節(jié)點(diǎn)間的連接的數(shù)量是一個(gè)例子,本實(shí)施方式的并行計(jì)算機(jī)并不限定于此。
[0037][節(jié)點(diǎn)的構(gòu)成]
[0038]圖6表示計(jì)算節(jié)點(diǎn)的構(gòu)成的一個(gè)例子。本實(shí)施方式所涉及的并行計(jì)算機(jī)I的計(jì)算節(jié)點(diǎn)100 (相當(dāng)于圖3以及5的計(jì)算節(jié)點(diǎn)IGO?計(jì)算節(jié)點(diǎn)6G3)具有CPUlOl、存儲(chǔ)器102、網(wǎng)絡(luò)I/F(Interface)103、和路由器104。而且,CPU101、存儲(chǔ)器102、以及網(wǎng)絡(luò)I/F103通過(guò)總線(xiàn)105連接。另外,網(wǎng)絡(luò)I/F103與路由器104連接,路由器104與存在于內(nèi)部網(wǎng)絡(luò)的未圖示的I個(gè)以上的其它計(jì)算節(jié)點(diǎn)連接。并且,也有經(jīng)由路由器104具有的未圖示的網(wǎng)絡(luò)I/F(例如,以太網(wǎng)NIC)與外部網(wǎng)絡(luò)(例如,以太網(wǎng))連接的情況。另外,對(duì)各計(jì)算節(jié)點(diǎn)具有的網(wǎng)絡(luò)I/F103賦予物理地址(例如MAC地址),能夠使用物理地址與外部網(wǎng)絡(luò)進(jìn)行通信。在實(shí)施方式中,物理地址是指預(yù)先分配給通信裝置的固有的地址。此外,上述的管理節(jié)點(diǎn)也能夠成為與例如圖6所示的計(jì)算節(jié)點(diǎn)同樣的構(gòu)成。
[0039]計(jì)算節(jié)點(diǎn)100的CPUlOl例如從未圖示的管理節(jié)點(diǎn)經(jīng)由內(nèi)部網(wǎng)絡(luò)以及路由器104接受任務(wù)的投入,并進(jìn)行運(yùn)算處理。另外,CPUlO