專利名稱:信息處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過進行了網(wǎng)絡(luò)連接的多個計算機分擔(dān)執(zhí)行由多個任務(wù)(Job ) 構(gòu)成的大規(guī)模運算處理的信息處理系統(tǒng)。
技術(shù)背景作為基于計算機的信息處理的高效率化技術(shù)之一,存在分散處理。分散處 理是以多個設(shè)備執(zhí)行任務(wù),并列地進行處理的技術(shù)。特別是作為以多個設(shè)備分擔(dān)處理的技術(shù),存在被稱為多元系統(tǒng)和網(wǎng)格計算(Grid Computing)等技術(shù)。其中,多元系統(tǒng)是當(dāng)設(shè)備出現(xiàn)故障等問題時,出于保護至此所處理的數(shù)據(jù)、 或繼續(xù)進行提供中的服務(wù)的目的而使用的技術(shù)。因此,在多元系統(tǒng)中以多個設(shè) 備執(zhí)行同一處理。另一方面,網(wǎng)格計算代表性地是以網(wǎng)絡(luò)連接多個計算機和存儲介質(zhì),虛擬 地用作大規(guī)模高性能的計算機的技術(shù)。例如,通過以多個計算機分擔(dān)執(zhí)行需要 大量計算的運算處理,可以實質(zhì)上快速求得運算結(jié)果。然而,為了以多個計算機分擔(dān)執(zhí)行運算處理,需要向各設(shè)備分配任務(wù)的功 能。所述功能一般通過被稱為負荷平衡器(load balancer)或負荷分散(load sharing)軟件的工具來實現(xiàn)。接著,說明網(wǎng)格計算中的負荷平衡器的一般使用方法。圖7是使用網(wǎng)格計 算技術(shù)而構(gòu)建的現(xiàn)有信息處理系統(tǒng)的概略結(jié)構(gòu)圖。所述信息處理系統(tǒng)如圖7 所示,具備客戶機H0、主節(jié)點(master node) 120、四個節(jié)點130a、 130b、 130c、 130d。這些i殳備110、 120、 130a、 130b、 130c、 130d通過網(wǎng)絡(luò)連接。 客戶機110是大規(guī)模運算的請求源。例如客戶機110向主節(jié)點120請求由1000個任務(wù)構(gòu)成的大規(guī)模運算。在此,所謂"任務(wù),,是一個運算的單位。例如是以 "z=x+y"的運算來求得"z"。并且,此時使代入x和y的變量為n組。即,在一個任務(wù)中,進行依存于所代入的變量的數(shù)量的數(shù)量的運算。因此,雖然任 務(wù)數(shù)為1000個,但總體的運算數(shù)達到其幾十倍、幾百倍的數(shù)量。在此,由客戶機110向主節(jié)點120請求的大規(guī)模運算,被存儲在規(guī)定的存 儲裝置中。該大規(guī)模運算的數(shù)據(jù)原本從與客戶機110通過網(wǎng)絡(luò)連接的其它計算 機發(fā)送、或者通過負責(zé)人使用客戶機110的輸入裝置而輸入。此時,存在大規(guī) 模運算的數(shù)據(jù)在已被分割為規(guī)定數(shù)量(例如1000個)任務(wù)的狀態(tài)下被發(fā)送或 輸入的情況、或者沒有被分割為規(guī)定數(shù)量的任務(wù)的狀態(tài)下被發(fā)送或輸入的情況 等。在后一種情況下,客戶機110根據(jù)規(guī)定的規(guī)則,將該發(fā)送或輸入的大規(guī)模 運算的數(shù)據(jù)分割為規(guī)定數(shù)量的任務(wù)。以下,在本說明書中,只要不事先說明, 便對大規(guī)模運算的數(shù)據(jù)從最初被分割為1000個任務(wù)的狀態(tài)下被發(fā)送或輸入到客戶機的案例進行說明。主節(jié)點120是實現(xiàn)負荷平衡器的功能的計算機,進行向各節(jié)點130a、130b、 130c、 130d分配任務(wù)的處理。關(guān)于該任務(wù)分配技術(shù),提出了根據(jù)各節(jié)點的性 能和負荷狀況等,以適當(dāng)數(shù)量向該節(jié)點發(fā)送適當(dāng)大小的任務(wù)的技術(shù)(例如參照 專利文獻l、專利文獻2)。另外,各節(jié)點130a、 130b、 130c、 103d是進行通 過主節(jié)點120分配的任務(wù)的運算處理的計算機。首先,客戶機110,當(dāng)接收到由1000個任務(wù)構(gòu)成的大規(guī)模運算的數(shù)據(jù)時, 將該1000個任務(wù)發(fā)送至主節(jié)點120。接著,主節(jié)點120將該接收到的1000個 任務(wù)分配至各節(jié)點130a、 130b、 130c、 130d。各節(jié)點130a、 130b、 130c、 130d 進行從主節(jié)點120發(fā)送的任務(wù)的運算處理,在該處理結(jié)束后向主節(jié)點120報告 該任務(wù)已結(jié)束。當(dāng)接收到所述報告時,若還存在未分配的未處理任務(wù),則主節(jié) 點120將該任務(wù)發(fā)送至該節(jié)點。于是,主節(jié)點120通過重復(fù)進行向各節(jié)點發(fā)送 未處理的任務(wù)的處理、和接收表示任務(wù)已結(jié)束的報告的處理,使四個節(jié)點130a、 130b、 130c、 130d執(zhí)行全部任務(wù)的運算處理。另夕卜,主節(jié)點120只限于實現(xiàn)將從客戶機IIO請求的任務(wù)高效地分配至各 節(jié)點130a、 130b、 130c、 130d的功能,對于各節(jié)點130a、 130b、 130c、 130d 中的運算處理結(jié)果不實施任何數(shù)據(jù)處理。即,前提是各節(jié)點130a、 130b、 130c、 130d中的運算處理結(jié)果最終匯集到作為大規(guī)模運算的請求源的客戶機110。因 此,例如當(dāng)從各節(jié)點130a、 130b、 130c、 130d返回運算處理結(jié)果時,主節(jié)點 120需要將該運算處理結(jié)果發(fā)送至客戶機110。專利文獻1:日本專利申請公開平7 - 219907號公報專利文獻2:日本專利申請公開2002 - 269062號公報 發(fā)明內(nèi)容如上所述,主節(jié)點監(jiān)視其管理下的各節(jié)點的處理狀況.負荷狀況,同時進行將任務(wù)逐個適當(dāng)分配然后發(fā)送至各節(jié)點的任務(wù)分配處理。然而,當(dāng)主節(jié)點管 理下的節(jié)點數(shù)增多時,存在當(dāng)進行任務(wù)分配處理時,在主節(jié)點中即使僅監(jiān)視各 節(jié)點的處理狀況 負荷狀況也會產(chǎn)生相當(dāng)大負荷的問題。而且,主節(jié)點根據(jù)各 節(jié)點的處理狀況'負荷狀況來進行用于向適當(dāng)節(jié)點分配適量任務(wù)的最適當(dāng)化處 理,^f旦該最適當(dāng)化處理也成為高負荷。另外,當(dāng)從客戶機向主節(jié)點請求的任務(wù)數(shù)增多時,在主節(jié)點中頻繁地發(fā)生 將從各節(jié)點返回的運算處理數(shù)據(jù)發(fā)送至客戶機的處理。因此,在主節(jié)點中有時 與運算處理結(jié)果的發(fā)送相對應(yīng)的負荷提高,主節(jié)點進行的原本最重要的處理、 即任務(wù)分配處理的處理速度降低。而且,即使節(jié)點的數(shù)量不是特別多,由于請求的任務(wù)的數(shù)量增加,在主節(jié) 點中,進行任務(wù)的分配處理時選擇適當(dāng)任務(wù)的負荷增大,同時,額外地產(chǎn)生了 和維持與客戶機的連接來監(jiān)視來自客戶機的處理結(jié)果的請求相對應(yīng)的負荷。另 外,同樣地,對于客戶機而言,由于向主節(jié)點請求的任務(wù)數(shù)增加,監(jiān)視任務(wù)處 理結(jié)果的負荷也增加。為了解決這些問題,理想的是例如實現(xiàn)具有可以進行主節(jié)點自身的負荷控 制的結(jié)構(gòu)的信息處理系統(tǒng)。本發(fā)明是根據(jù)上述情況而提出的發(fā)明,目的在于提供一種信息處理系統(tǒng), 其可以減輕主節(jié)點的過負荷,使主節(jié)點可以高效地進行作為其本來功能的向各 節(jié)點分配任務(wù)的處理。用于實現(xiàn)上述目的的第一形態(tài)的發(fā)明,其特征在于,在通過以網(wǎng)絡(luò)連接請 求由多個任務(wù)構(gòu)成的大規(guī)模運算的處理的客戶機、執(zhí)行各任務(wù)的處理的多個節(jié) 點、以及將從所述客戶機請求的多個任務(wù)的處理分配給所述各節(jié)點的主節(jié)點而 構(gòu)成的信息處理系統(tǒng)中,所述客戶機將存儲單元中存儲的、構(gòu)成所述大規(guī)模運 算的多個任務(wù)劃分為若干塊,以所述塊為單位以所述主節(jié)點始終對規(guī)定數(shù)量以 下的任務(wù)進行分配處理的方式,向所述主節(jié)點請求任務(wù)的處理。第二形態(tài)的發(fā)明的特征在于,在第一形態(tài)的發(fā)明的信息處理系統(tǒng)中,所述客戶機將構(gòu)成所述大規(guī)模運算的多個任務(wù)中的規(guī)定數(shù)量的任務(wù)作為第1塊,將其它任務(wù)分別作為第n塊(n=2, 3, ..., N),并且,最初向所述主節(jié)點請求 作為所述第1塊的規(guī)定數(shù)量的任務(wù)的處理,每當(dāng)從所述主節(jié)點發(fā)送表示針對一 個任務(wù)處理已結(jié)束的通知時,向所述主節(jié)點請求尚未請求處理的所述塊中的規(guī) 定的一個塊的處理。第三形態(tài)的發(fā)明的特征在于,在第 一 或第二形態(tài)的發(fā)明的信息處理系統(tǒng) 中,所述客戶機針對構(gòu)成所述大規(guī)模運算的多個任務(wù)估計各任務(wù)的處理的負 荷,根據(jù)該估計而得的結(jié)果,按照從負荷較重的任務(wù)到負荷較輕的任務(wù)的順序, 向所述主節(jié)點請求各任務(wù)的處理。用于實現(xiàn)上述目的的第四形態(tài)的發(fā)明的計算機可讀取的記錄介質(zhì),記錄了 用于使計算機實現(xiàn)第一、第二或第三形態(tài)的發(fā)明中的任意一項所述的信息處理 系統(tǒng)的功能的程序。用于實現(xiàn)上述目的的第五形態(tài)的發(fā)明的程序,用于使計算機實現(xiàn)第一、第 二或第三形態(tài)的發(fā)明中任意 一 項所述的信息處理系統(tǒng)的功能。用于實現(xiàn)上述目的的第六形態(tài)的發(fā)明,是一種向負荷平tf器請求由多個任 務(wù)構(gòu)成的大規(guī)模運算的處理的信息處理裝置,其特征在于,具備分組處理單 元,將存儲單元中存儲的、構(gòu)成所述大規(guī)模運算的多個任務(wù),根據(jù)所述存儲單 元中存儲的分組規(guī)則信息而匯集為若干個任務(wù)組;以及管理單元,針對通過所 述分組處理單元生成的多個任務(wù)組,以向所述負荷平衡器請求處理的任務(wù)組的 數(shù)量始終在規(guī)定數(shù)量以下的方式,向所述負荷平衡器請求任務(wù)組的處理。第七形態(tài)的發(fā)明的特征在于,在第六形態(tài)的信息處理裝置中,還具備負荷 估計單元,針對通過所述分組處理單元生成的多個任務(wù)組,根據(jù)所述存儲單元 中存儲的負荷估計規(guī)則信息來估計各任務(wù)組的處理的負荷,所述管理單元根據(jù) 通過所述負荷估計單元而取得的、針對各任務(wù)組的處理的負荷的估計結(jié)果,按 照從負荷較重的任務(wù)組到負荷較輕的任務(wù)組的順序,向所述負荷平衡器請求各 任務(wù)組的處理。用于實現(xiàn)上述目的的第八形態(tài)的發(fā)明的程序,使計算機實現(xiàn)第六或第七形 態(tài)的發(fā)明中任意一項所述的信息處理裝置的功能。在第一形態(tài)的發(fā)明中,客戶機將構(gòu)成大規(guī)模運算的多個任務(wù)劃分為若干塊,以塊為單位以主節(jié)點始終對規(guī)定數(shù)量以下的任務(wù)進行分配處理的方式,向 主節(jié)點請求任務(wù)的處理。由此,客戶機可以不像以往那樣將全部任務(wù)的處理匯 集起來向主節(jié)點請求,而將多個任務(wù)劃分為包含小規(guī)模任務(wù)的若干塊,以塊為 單位每次少量地向主節(jié)點請求。在此,在從1到上述規(guī)定數(shù)量的范圍內(nèi)適當(dāng)?shù)?決定各塊中包含的任務(wù)數(shù)。另外,上述規(guī)定數(shù)量理想的是,即使當(dāng)例如節(jié)點數(shù) 較多時,該主節(jié)點仍可以高效率地進行向各節(jié)點分配這些任務(wù)的處理的數(shù)量。 可以認(rèn)為這種客戶機具有控制主節(jié)點的負荷的功能。因此,主節(jié)點始終僅對上 述規(guī)定數(shù)量以下的任務(wù)進行向各節(jié)點的分配處理即可,因此可以防止主節(jié)點的 負荷增加。并且,如上所述可以減輕主節(jié)點的負荷,所以主節(jié)點不僅可以高效 地進行向各節(jié)點分配任務(wù)的處理,而且可以高效地進行與來自客戶機的運算結(jié) 果監(jiān)視請求相對應(yīng)的處理。而且,對于客戶機而言,由于向主節(jié)點請求的任務(wù) 數(shù)減少,因此運算結(jié)果監(jiān)視的處理所對應(yīng)的負荷減輕。在第二形態(tài)的發(fā)明中,客戶機將構(gòu)成大規(guī)模運算的多個任務(wù)中的規(guī)定數(shù)量的任務(wù)作為第l塊,將其它任務(wù)分別作為第n塊(n = 2, 3, N),并且最 初向主節(jié)點請求作為第1塊的規(guī)定數(shù)量的任務(wù)的處理,每當(dāng)從主節(jié)點發(fā)送表示 針對一個任務(wù)處理已結(jié)束的通知時,向主節(jié)點請求尚未請求處理的塊中的規(guī)定 的一個塊的處理。通過客戶機如上所述地向主節(jié)點進行任務(wù)的請求,主節(jié)點可 以向各節(jié)點高效地分配各任務(wù),因此可以防止在各節(jié)點中產(chǎn)生較長的處理等待 時間,可以提高各節(jié)點的處理效率。在第三形態(tài)的發(fā)明中,客戶機針對構(gòu)成大規(guī)模運算的多個任務(wù),估計各任 務(wù)的處理的負荷,根據(jù)該估計而得的結(jié)果,按照從負荷較重的任務(wù)到負荷較輕 的任務(wù)的順序,向主節(jié)點請求各任務(wù)的處理。由此,主節(jié)點可以將負荷最重的 任務(wù)的處理分配至處理能力最高的節(jié)點,在該節(jié)點最初執(zhí)行,并且可以通過使 各節(jié)點的總體處理時間大體平均的方式進行任務(wù)的分配處理,因此可以縮短大規(guī)模運算總體的處理時間。在第六形態(tài)的發(fā)明中,分組處理單元,根據(jù)存儲單元中存儲的分組規(guī)則信 息,將存儲單元中存儲的、構(gòu)成大規(guī)模運算的多個任務(wù)匯集為若干任務(wù)組。例 如1000個任務(wù)通過分組處理單元被匯集為600個任務(wù)組。管理單元,針對由 該分組處理單元生成的多個任務(wù)組,以向負荷平衡器請求的任務(wù)組的數(shù)量始終在規(guī)定數(shù)量以下的方式向負荷平衡器請求任務(wù)組的處理。例如,當(dāng)將上述規(guī)定數(shù)量設(shè)定為300個時,向負荷平衡器始終請求最多300個的任務(wù)組的處理。由 此,負荷平衡器不需要始終管理IOOO個任務(wù),僅對300個以下的任務(wù)組中包 含的任務(wù)數(shù)的任務(wù)進行向各節(jié)點的分配處理即可。因此可以防止負荷平衡器的 負荷增加。而且,由于如上所述可以減輕負荷平衡器的負荷,所以負荷平衡器 不僅可以高效地進行向各節(jié)點分配任務(wù)組的處理,而且可以高效地進行與來自 信息處理裝置的運算結(jié)果監(jiān)^L請求相對應(yīng)的處理。而且,對于信息處理裝置而 言,由于向負荷平衡器請求的任務(wù)數(shù)減少,因此也減輕運算結(jié)果監(jiān)視處理所對 應(yīng)的負荷。在第七形態(tài)的發(fā)明中,負荷估計單元,針對由分組處理單元生成的多個任 務(wù)組,根據(jù)存儲單元中存儲的負荷估計規(guī)則信息估計各任務(wù)組的處理的負荷。 并且,管理單元,根據(jù)由該負荷估計單元而得到的、針對各任務(wù)組的處理的負 荷的估計結(jié)果,按照從負荷較重的任務(wù)組到負荷較輕的任務(wù)組的順序,向負荷 平衡器請求各任務(wù)組的處理。由此,負荷平衡器可以將負荷最重的任務(wù)組的處 理分配至處理能力最高的節(jié)點,在該節(jié)點最初執(zhí)行,并且可以通過使各節(jié)點的 總體處理時間大體平均的方式進行任務(wù)組的分配處理,因此可以縮短大規(guī)模運 算總體的處理時間。
圖1是本發(fā)明一個實施方式的信息處理系統(tǒng)的概略結(jié)構(gòu)圖。圖2是本實施方式的信息處理系統(tǒng)中的客戶機的概略結(jié)構(gòu)框圖。圖3是用于說明構(gòu)成大規(guī)3莫運算的任務(wù)的一例的圖。圖4是表示通it^戶機的列表生成單元生成的列表的一例的圖。圖5是用于說明客戶機通過第一請求方法進行的處理的步驟的流程圖。圖6是用于說明客戶機通過第二請求方法進行的處理的步驟的流程圖。圖7是使用網(wǎng)格計算技術(shù)構(gòu)建的現(xiàn)有信息處理系統(tǒng)的概略結(jié)構(gòu)圖。符號說明10客戶機;11輸入裝置;12顯示裝置;13通信部;14存儲部;15控 制部;15a分組處理單元;15b負荷估計單元;15c列表生成單元;15d管理 單元;20主節(jié)點;30a、 30b、 30c、 30d節(jié)點具體實施方式
以下,參照
用于實施本申請中的發(fā)明的最佳方式。圖l是本發(fā)明 的一個實施方式的信息處理系統(tǒng)的概略結(jié)構(gòu)圖。本實施方式的信息處理系統(tǒng),例如是通過多個計算機分擔(dān)執(zhí)行大規(guī)模運算時所使用的信息處理系統(tǒng),如圖l所示,具備客戶機IO、主節(jié)點20以及四個 節(jié)點30a、 30b、 30c、 30d。使用個人計算機或工作站等作為客戶機10、主節(jié) 點20、各節(jié)點30a、 30b、 30c、 30d。另外,客戶機10、主節(jié)點20、各節(jié)點 30a、 30b、 30c、 30d通過網(wǎng)絡(luò)相連。在此,作為網(wǎng)絡(luò)而使用例如因特網(wǎng)或 LAN . WAN的公司內(nèi)部網(wǎng)絡(luò)等。此外,客戶機IO相當(dāng)于第六形態(tài)的發(fā)明中的 信息處理裝置。客戶機10接收大規(guī)模運算的數(shù)據(jù),同時向主節(jié)點20請求所述大規(guī)模運算 的處理。大M4莫運算由多個任務(wù)構(gòu)成。在此,所謂"任務(wù),,是一個運算的單位。 該大規(guī)模運算的數(shù)據(jù),通常從外部計算機等通過網(wǎng)絡(luò)被發(fā)送至客戶機10,但 也可以例如由客戶機10的負責(zé)人自行輸入。從外部計算機等發(fā)送或者由負責(zé) 人輸入的大規(guī)才莫運算的數(shù)據(jù),在由客戶機IO取得時可以已經(jīng)被分割為"任務(wù)" 這種單位,也可以尚未被分割為"任務(wù)"這種單位??蛻魴CIO當(dāng)取得被分割 為"任務(wù)"這種單位前的狀態(tài)的大規(guī)模運算的數(shù)據(jù)時,通過客戶機10具有的 任務(wù)分割功能,將該大規(guī)模運算的數(shù)據(jù)分割為規(guī)定數(shù)量的任務(wù)。在后面對該任 務(wù)分割功能的具體內(nèi)容進行描述。另外,客戶機IO針對構(gòu)成大規(guī)模運算的多個任務(wù),進行將互相具有依存 性的任務(wù)匯集為一個任務(wù)組的處理。在本實施方式中實際上以該任務(wù)組單位來 進行大規(guī)模運算的處理的請求。而且,客戶機10進行監(jiān)視已向主節(jié)點20請求 的任務(wù)組的處理結(jié)果的處理。具體而言,客戶機IO每隔一定期間或者根據(jù)需 要在任意時刻對主節(jié)點20查詢已向主節(jié)點20請求的任務(wù)組的處理是否結(jié)束。 另外,客戶機IO在接收到全部任務(wù)組的處理結(jié)果時,進行將這些結(jié)果匯總的 處理。此外,具有這種功能的客戶機10,例如可以通過在工作站中安裝用于 實現(xiàn)該功能的軟件來實現(xiàn)。另外,雖然客戶機IO在接收到任務(wù)組的處理結(jié)果時進行將這些結(jié)果匯總 的處理,但這并不意味著客戶機10—定進行某種信息處理。另外,有時客戶機10不進行匯總?cè)蝿?wù)組的處理結(jié)果的匯總處理,而由外部設(shè)備(machine)進 行匯總處理。即,例如針對1000個任務(wù)而得到1000個結(jié)果時,若將1000個 結(jié)果本身發(fā)送至外部設(shè)備,則客戶機10不需要進行匯總處理。主節(jié)點20是實現(xiàn)負荷平衡器功能的計算機,進行將客戶機IO請求的各任 務(wù)組的處理分配給四個節(jié)點30a、 30b、 30c、 30d的處理。在此,向各節(jié)點30a、 30b、 30c、 30d各分配例如一個任務(wù)組。在分配的處理本身中可以應(yīng)用現(xiàn)有技 術(shù)中所說明的技術(shù)。當(dāng)決定了將哪個任務(wù)組分配給哪個節(jié)點時,客戶機10將 該任務(wù)組的內(nèi)容、即該任務(wù)組中包含的任務(wù)的運算內(nèi)容和該運算中所使用的變 量發(fā)送至分配了該任務(wù)組的節(jié)點?;蛘咭部梢詫⑷蝿?wù)的運算內(nèi)容以及該運算中 所使用的變量存儲在規(guī)定的存儲單元(未圖示)中,客戶機10將任務(wù)組的識 別信息、和表示該任務(wù)組中包含的任務(wù)的運算內(nèi)容以及該運算中所使用的變量 的位置的信息一起,發(fā)送至分配了該任務(wù)組的節(jié)點。在這種情況下,各節(jié)點 30a、 30b、 30c、 30d訪問上述存^f諸單元,取得分配給自己的任務(wù)組中包含的 任務(wù)的運算內(nèi)容和該運算中所使用的變量。另夕卜,主節(jié)點20根據(jù)來自客戶機10的查詢,將例如表示各節(jié)點30a、 30b、 30c、 30d中的任務(wù)組的處理已結(jié)束的通知發(fā)送至客戶機10。在此,主節(jié)點20 不僅在接收到來自客戶機10的查詢時、而且在從各節(jié)點30a、 30b、 30c、 30d 接收到表示任務(wù)組的處理已結(jié)束的報告時,也可以向客戶機IO發(fā)送處理結(jié)束 的通知。而且,主節(jié)點20當(dāng)從各節(jié)點30a、 30b、 30c、 30d取得任務(wù)組的處理 結(jié)果時,將該處理結(jié)果發(fā)送至客戶機10。此外,具有這種功能的主節(jié)點20, 例如可以通過在工作站中安裝用于實現(xiàn)該功能的軟件來實現(xiàn)。各節(jié)點30a、 30b、 30c、 30d接收來自主節(jié)點20的指示,執(zhí)行分配給自己 的任務(wù)組的處理。在來自主節(jié)點20的指示中包含任務(wù)組的處理內(nèi)容或處理結(jié) 果的存儲目的地(或發(fā)送目的地)等信息。在此,在本實施方式中,作為處理 結(jié)果的存儲目的地(或發(fā)送目的地)而指定了主節(jié)點20。各節(jié)點30a、 30b、 30c、 30d,當(dāng)任務(wù)組的運算處理結(jié)束時向主節(jié)點20報告該任務(wù)組的處理已結(jié) 束,并且向主節(jié)點20發(fā)送其處理結(jié)果。然后,各節(jié)點30a、 30b、 30c、 30d等 待發(fā)送來下一指示。如此,通過重復(fù)進行從主節(jié)點20向各節(jié)點30a、 30b、 30c、 30d的指示、從各節(jié)點30a、 30b、 30c、 30d向主節(jié)點20的報告,來執(zhí)行大規(guī)模運算的處理。此時,主節(jié)點20通過其負荷平衡器功能還進行如下控制減 少從各節(jié)點30a、 30b、 30c、 30d報告任務(wù)組的處理結(jié)束開始直到收到下一指 示為止的等待時間。接著,對客戶機10的結(jié)構(gòu)進行詳細說明。圖2是本實施方式的信息處理 系統(tǒng)中的客戶機10的概略結(jié)構(gòu)框圖。客戶機10如圖2所示,具備輸入裝置11、顯示裝置12、通信部13、存 儲部14和控制部15。輸入裝置11例如是輸入各種命令或者輸入大規(guī)模運算 的數(shù)據(jù)的裝置。作為該輸入裝置11而使用鍵盤或鼠標(biāo)等。另外,顯示裝置12 例如是顯示用于輸入大規(guī)模運算的數(shù)據(jù)的輸入畫面、或者顯示該大規(guī)模運算的 處理結(jié)果的裝置。通信部13是向主節(jié)點20或其它設(shè)備(計算機或數(shù)據(jù)庫等)發(fā)送信息、或 者從主節(jié)點20或其它設(shè)備接收信息的裝置。具體而言,作為從其它設(shè)備發(fā)送 至客戶機10的信息,存在例如大規(guī)模運算的數(shù)據(jù)等。另外,作為從客戶機IO 發(fā)送至主節(jié)點20的信息,存在用于請求任務(wù)組的處理的處理命令、用于處理 結(jié)果監(jiān)^L的查詢等,作為從主節(jié)點20發(fā)送至客戶機10的信息,存在各任務(wù)組 的處理結(jié)果等。存儲部14是存儲各種應(yīng)用程序或各種數(shù)據(jù)等的裝置。作為存儲部14,可 以使用客戶機10內(nèi)的存儲器或硬盤驅(qū)動器、外部存儲裝置等。例如,在該存 儲部14中存儲大規(guī)模運算的數(shù)據(jù)、分組規(guī)則信息、負荷估計規(guī)則信息、任 務(wù)組的列表、主節(jié)點20進行分配處理的任務(wù)組的上限數(shù)、各任務(wù)組的處理結(jié) 果等。在后面對分組規(guī)則信息、負荷估計規(guī)則信息、任務(wù)組的列表、主節(jié)點 20進行分配處理的任務(wù)組的上限數(shù)進行描述。在此,對大規(guī)模運算進行具體說明。假設(shè)此時從外部設(shè)備通過網(wǎng)絡(luò)向客戶 機10發(fā)送大規(guī)模運算的數(shù)據(jù)??蛻魴C10的通信部13,當(dāng)接收所述大規(guī)模運 算的數(shù)據(jù)時,將其存儲在存儲器14中。圖3是用于說明構(gòu)成大規(guī)模運算的任 務(wù)的一例的圖。在此例中,該大規(guī)模運算由1000個任務(wù)構(gòu)成。其中,任務(wù)"1" 是"z產(chǎn)x+y"的運算,其變量的組(x, y)例如有10組。任務(wù)"2"是"z=Zl xx卩,的運算。即,該任務(wù)"2"的變量是任務(wù)"1"的處理結(jié)果z,和變量x" 若變量x!取兩個值,則變量的組(zpx,)有20組。另夕卜,任務(wù)"3,,是"z:x+y,+y2"的運算。該變量的組(x, yP y2)例如有20組。針對其它任務(wù)也指定了其運 算內(nèi)容和變量。大規(guī)模運算由這種任務(wù)的集合構(gòu)成。此外,在圖3所示的大規(guī) 模運算的例子中, 一個任務(wù)中包含一個運算內(nèi)容(運算式),但一般有時在一 個任務(wù)中包含多個運算內(nèi)容。另外,雖圖3所示的大*見才莫運算的例子中,各任 務(wù)所包含的運算內(nèi)容(運算式)分別不同,但在構(gòu)成大M^莫運算的多個任務(wù)中 也可以存在運算內(nèi)容相同而僅僅變量不同的多個任務(wù)。另外,客戶機10如上所述,有時在不將大規(guī)模運算的數(shù)據(jù)分割為"任務(wù)" 這種單位的狀態(tài)下從外部設(shè)備對其進行接收。即,大規(guī)模運算的數(shù)據(jù)中包含的 全部運算內(nèi)容和它們中所使用的變量的數(shù)據(jù),有時不在例如圖3所示被分割為 從任務(wù)"1"到任務(wù)"1000"共計IOOO個任務(wù)的狀態(tài)下、而在其分割前的狀態(tài) 下從外部設(shè)備被發(fā)送至客戶機10。在這種情況下,客戶機10利用該客戶機10所具有的任務(wù)分割功能,將該發(fā)送的大規(guī)模運算的數(shù)據(jù)按每個運算進行分割, 通過將該分割后的各運算和其中所使用的變量進行組合,可以得到被分割為 "任務(wù)"這種單位的狀態(tài)的大規(guī)模運算的數(shù)據(jù)。另外,大規(guī)模運算的數(shù)據(jù)有時不從外部設(shè)備直接發(fā)送至客戶機10,而被存儲在外部數(shù)據(jù)庫中。在這種情況 下,客戶機IO僅從外部設(shè)備預(yù)先接收外部數(shù)據(jù)庫的位置信息、和成為大規(guī)模 運算的數(shù)據(jù)的分割判斷基準(zhǔn)的數(shù)據(jù)。并且,客戶機10利用任務(wù)分割功能,訪問該外部數(shù)據(jù)庫,根據(jù)分割的判斷基準(zhǔn)將該大規(guī)模運算的數(shù)據(jù)分割為多個任 務(wù),由此可以取得被分割為"任務(wù)"單位的狀態(tài)的大規(guī)模運算的數(shù)據(jù)??刂撇?5總體控制客戶機10的各部。該控制部15如圖2所示,具有分 組處理單元15a、負荷估計單元15b、列表生成單元15c和管理單元15d。分組處理單元15a,針對構(gòu)成大規(guī)模運算的多個任務(wù),進行將互相具有依 存性的任務(wù)匯集為一個任務(wù)組的分組處理。若在某任務(wù)和某任務(wù)之間有關(guān)聯(lián)性 或者有依存關(guān)系時,則有時不適合單獨地處理這些任務(wù)。例如,如圖3所示, 當(dāng)使用任務(wù)'T,的處理結(jié)果來進行任務(wù)"2"的運算時,在向主節(jié)點20請求 任務(wù)"1"的處理之前請求了任務(wù)"2"的處理,因此不可能執(zhí)行任務(wù)"2"的 處理。因此,分組處理單元15a讀出在存儲部14中存儲的分組規(guī)則信息,按 照該讀出的分組規(guī)則信息,進行將構(gòu)成大規(guī)模運算的多個任務(wù)匯集為若干個任 務(wù)組的分組處理。所述分組規(guī)則信息按作為運算對象的每個大規(guī)模運算而預(yù)先存儲在存儲部14中。另外,還有時分組規(guī)則信息和大規(guī)才莫運算的數(shù)據(jù)一起從 外部設(shè)備發(fā)送,此時存儲在存儲部14中。例如,在用于計算物體軌道的大規(guī) 模運算所對應(yīng)的分組規(guī)則信息中,可以確定將運算對象在物體的科學(xué)性質(zhì)或物 理性質(zhì)方面相同的任務(wù)匯集為一個組的身見則;在工廠等中用于制定產(chǎn)品的生產(chǎn) 計劃的大規(guī)模運算所對應(yīng)的分組規(guī)則信息中,可以確定將運算對象在產(chǎn)品的品 種或大小方面相同的任務(wù)匯集為一個組的規(guī)則。另夕卜,在圖3所示的大規(guī)模運 算所對應(yīng)的分組規(guī)則信息中,可以確定將存在變量的利用關(guān)系的任務(wù)彼此匯集 為一個組的MJ'j。當(dāng)應(yīng)用該規(guī)則信息時,在圖3的例子中,分組處理單元15a 針對各任務(wù)來分析變量的利用關(guān)系,將任務(wù)"1"和任務(wù)"2"匯集為一個任務(wù) 組。而且,在分組規(guī)則信息中設(shè)定可以包含在一個任務(wù)組中的任務(wù)的上限數(shù), 可以確定在不超過該上限數(shù)的范圍內(nèi)將多個任務(wù)匯集為一個組的規(guī)則。另外, 也可以確定將多個上述規(guī)則進行組合而得的規(guī)則。例如,在工廠等中用于制定 產(chǎn)品的生產(chǎn)計劃的大規(guī)模運算所對應(yīng)的分組規(guī)則信息中,可以確定將運算對象 在產(chǎn)品的品種或大小方面相同的任務(wù)匯集為一個組,并且使各組中不包含超過 規(guī)定上限數(shù)的任務(wù)的規(guī)則。在本實施方式中,具體而言,分組處理單元15a針 對圖3所示的1000個任務(wù)進行分組處理,如圖1所示,得到600個任務(wù)組。負荷估計單元15b,針對通過分組處理單元15a而得的各任務(wù)組,按照存 儲部14中存儲的負荷的估計規(guī)則信息來估計其處理的負荷。例如,在負荷估 計規(guī)則信息中決定了 應(yīng)該根據(jù)有關(guān)構(gòu)成該任務(wù)組的各任務(wù)的變量的組的數(shù)量 和來估計各任務(wù)組的處理負荷。該變量的組的數(shù)量和是進行該任務(wù)組的運算時 進行其中包含的任務(wù)運算的次數(shù)。因此,若各任務(wù)的運算內(nèi)容大體為相同程度, 則可以認(rèn)為變量的組的數(shù)量和越多、該任務(wù)組的處理的負荷越大。此外,若各 任務(wù)的運算內(nèi)容有較大差異,則負荷也與之對應(yīng)地變化。在這種情況下,為了 準(zhǔn)確地估計負荷,可以變更負荷估計規(guī)則信息的內(nèi)容,使其不僅考慮變量的組 的數(shù)量,還考慮任務(wù)內(nèi)容。為了進行這種還考慮了任務(wù)的內(nèi)容的負荷估計,例 如需要從外部提供表示任務(wù)的運算內(nèi)容程度的參數(shù),或者需要將上次使用的參 數(shù)存儲在存儲部14中、再次讀出來進行利用。此外,若負荷估計單元15b的估計結(jié)果為存在負荷非常高的任務(wù)組時,負 荷估計單元15b可以將該任務(wù)組返回分組處理單元15a,使分組處理單元15a進行將該任務(wù)組進一步分割為小規(guī)模的處理。在這種情況下,在分組規(guī)則信息 中需要包含用于判斷是否將任務(wù)組進一步分割為小規(guī)j莫的負荷闊值信息、和用 于進行該進一步分割的規(guī)則。特別是由于不能將互相具有依存關(guān)系的任務(wù)分別 分在不同組中,因此也需要在該分組規(guī)則信息中包含關(guān)于這種無法分割的任務(wù)
的規(guī)則。 一般地,包含在分組規(guī)則信息中的規(guī)則,可以通過if-then規(guī)則或范 圍指定規(guī)則等多種形式的規(guī)則來定義。
列表生成單元15c,根據(jù)通過負荷估計單元15b估計出的各任務(wù)組的處理 的負荷,生成按照其負荷從重到輕的順序?qū)⒍鄠€任務(wù)組分類而得的任務(wù)組的列 表、并存儲在存儲部14中。圖4中表示由列表生成單元15c生成的列表的一 例。在該列表中設(shè)有任務(wù)組ID欄和對象任務(wù)欄。在任務(wù)組ID欄中記載賦予該 任務(wù)組的ID號碼(識別信息),在對象任務(wù)欄中記載構(gòu)成該任務(wù)組的任務(wù)的號 碼。圖4的列表是針對根據(jù)圖3所示的1000個任務(wù)而得到的600個任務(wù)組的 列表。在該列表的最上部記載了負荷最重的任務(wù)組,越向下記錄負荷越輕的任 務(wù)組。在此例中,僅由任務(wù)"1000"構(gòu)成的ID號碼"001"的任務(wù)組的負荷最 重,其次,由任務(wù)"5"、任務(wù)"6"以及任務(wù)"7"構(gòu)成的ID號碼"002"的任 務(wù)組的負荷第二重。如此,在圖4的例子中,列表生成單元15c按照從負荷重 的任務(wù)組開始的順序?qū)?00個任務(wù)組賦予了 ID號碼。因此,任務(wù)組的ID號碼 不僅起到識別任務(wù)組的作用,還起到了表示負荷輕重的順序的作用。另外,在 該列表中,針對各任務(wù)組設(shè)有已請求欄和已接收欄。已請求欄是用于標(biāo)注表示 已向主節(jié)點20請求了該任務(wù)的處理的已請求標(biāo)志的欄,已接收欄是用于標(biāo)注 表示已接收到表示該任務(wù)組的處理已結(jié)束的通知的已接收標(biāo)志的欄。具體而 言,在本實施方式中,在已請求欄和已接收欄中分別在該處理不是"已完成" 狀態(tài)時標(biāo)注標(biāo)志"0",而在該處理是"已完成"狀態(tài)時標(biāo)注標(biāo)志'T,。此外, 通過管理單元15d管理所述已請求標(biāo)志和已接收標(biāo)志。
管理單元15d向主節(jié)點20請求構(gòu)成大規(guī)模運算的各任務(wù)組的處理。具體 而言,管理單元15d將構(gòu)成大規(guī)模運算的多個任務(wù)組劃分為若干個塊,以該塊 為單位以主節(jié)點20始終對規(guī)定數(shù)量以下的任務(wù)組進行分配處理的方式,向主 節(jié)點20請求任務(wù)組的處理。在此,適宜在從1到上述固定數(shù)量的范圍內(nèi)決定 各塊中包含的任務(wù)組的數(shù)量。即,若將上述規(guī)定數(shù)量(主節(jié)點20進行分配處理的任務(wù)組的上限數(shù))設(shè)為M,則在一個塊中包含m個任務(wù)組。在此,m是 1以上M以下的自然數(shù)。另外,主節(jié)點20進行分配處理的任務(wù)組的上限數(shù)M 理想的是,例如即使節(jié)點數(shù)較多時主節(jié)點20也可以高效地將這些任務(wù)組向各 節(jié)點進行分配處理的數(shù)。即,根據(jù)主節(jié)點20的處理能力來決定該主節(jié)點20 進行分配處理的任務(wù)組的上限數(shù)M。例如,在本實施方式中,將主節(jié)點20進 行分配處理的任務(wù)組的上限數(shù)M決定為300。在此,將該主節(jié)點20進行分配 處理的任務(wù)組的上限數(shù)M存儲在存儲部14中。
另外,理想的是管理單元15d根據(jù)圖4所示的內(nèi)容,按照從負荷較重的任 務(wù)組到負荷較輕的任務(wù)組的順序向主節(jié)點20請求各任務(wù)組的處理。如果在最 后向主節(jié)點20請求負荷最重的任務(wù)組的處理,則在某一節(jié)點花費較長時間處 理該任務(wù)組,針對大規(guī)模運算總體的處理時間變得很長。通過按照從負荷較重 的任務(wù)組開始的順序向主節(jié)點20請求其處理,主節(jié)點20將負荷最重的任務(wù)組 的處理分配給處理能力最高的節(jié)點,可以最初在該節(jié)點執(zhí)行,并且可以通過使 各節(jié)點的總體處理時間大體平均的方式進行任務(wù)組的分配處理,因此可以縮短 該大規(guī)模運算總體的處理時間。
另外,作為管理單元15d對主節(jié)點20進行的任務(wù)組的請求方法,考慮各 種方法。在本實施方式中,代表性地說明以下表示的兩種請求方法。
在第一請求方法中,如圖4所示,在構(gòu)成大規(guī)模運算的600個任務(wù)組中, 將圖4的列表上從最上方開始到第300個為止記載的300個任務(wù)組作為第1 塊,將其它任務(wù)組按照從圖4的列表上從上方開始的順序,分別作為第n塊(n =2、 3、…、N)。在此,N=301。即,將從ID號碼"001"到ID號碼"300" 的300個任務(wù)組作為第l塊,將ID號碼"301"的任務(wù)組作為第2塊,將ID 號碼"302"的任務(wù)組作為第3塊,...,將ID號碼"600"的任務(wù)組作為第301 塊。然后,管理單元15d最初向主節(jié)點20請求作為第l塊的300個任務(wù)組的 處理,每當(dāng)從主節(jié)點20發(fā)送表示針對一個任務(wù)組的處理已結(jié)束的通知時,向 主節(jié)點20請求尚未請求處理的塊中的規(guī)定的一個塊的處理。在此,針對規(guī)定 的一個塊的處理的請求,除去此刻已經(jīng)請求的塊,針對在圖4的列表上最上方 記載的塊而進行。例如,當(dāng)前時刻已向主節(jié)點20請求了從第1塊到第IOO塊 的共計100個塊時,當(dāng)發(fā)送了表示針對一個任務(wù)組的處理已結(jié)束的通知時,管理單元15d向主節(jié)點20請求第101塊的處理。
另外,在第二請求方法中,在構(gòu)成大規(guī)模運算的600個任務(wù)組中,將圖4 的列表上從最上方開始到第300個記載的300個任務(wù)組作為第1塊,將該列表 上從第301到第600個所記載的300個任務(wù)組作為第2塊。然后,管理單元 15d最初向主節(jié)點20請求作為第1塊的300個任務(wù)組的處理,在該請求的所 有任務(wù)組的處理結(jié)束之后,向主節(jié)點20請求作為第2塊的300個任務(wù)組的處 理。
當(dāng)使用第一請求方法時,主節(jié)點20可以將各任務(wù)組高效地分配給各節(jié)點 30a、 30b、 30c、 30d,因此可以防止在各節(jié)點30a、 30b、 30c、 30d中產(chǎn)生較 長的處理等待時間,可以提高各節(jié)點30a、 30b、 30c、 30d的處理效率。另一 方面,當(dāng)使用第二請求方法時,也同樣可以提高各節(jié)點30a、 30b、 30c、 30d 的處理效率。但在第二請求方法中,從第1塊的處理結(jié)束直到第2塊的處理實 際開始為止,在各節(jié)點30a、 30b、 30c、 30d中可能產(chǎn)生若干處理等待時間, 因此若考慮到這一點,則第一請求方法與第二請求方法相比,各節(jié)點的處理效 率更優(yōu)秀。
于是,在本實施方式中,管理單元15d將構(gòu)成大規(guī)^莫運算的600個任務(wù)組 劃分為若干塊,以該塊為單位以主節(jié)點20始終對300個以下的任務(wù)組進行分 配處理的方式,向主節(jié)點20請求任務(wù)組的處理。因此,若虛擬地來看,則主 節(jié)點20與以往相比針對最多300個的比較小身見模的任務(wù)組進行向節(jié)點的分配 處理,因此可以防止主節(jié)點20的負荷增加。即在本實施方式中,客戶機IO(管 理單元15d)實現(xiàn)主節(jié)點20的負荷控制功能,由此,主節(jié)點20以及客戶機10 整體從高負荷狀態(tài)中解放出來。
另夕卜,管理單元15d利用由列表生成單元15c生成的列表來管理各任務(wù)組 的處理的請求狀況。即管理單元15d當(dāng)向主節(jié)點20請求任務(wù)組的處理時,在 圖4的列表中,在該請求了的任務(wù)組所對應(yīng)的已請求欄中標(biāo)注已請求標(biāo)志'T,。 另外,管理單元15d每隔一定期間或者根據(jù)需要在任意時刻,對主節(jié)點20查 詢該請求了的任務(wù)組的處理是否結(jié)束,而當(dāng)從主節(jié)點20發(fā)送表示該任務(wù)組的 處理已結(jié)束的通知時,在圖4的列表中,在接收到該通知的任務(wù)組所對應(yīng)的已 接收欄中標(biāo)注已接收標(biāo)志"1"。因此,管理單元15d通過判斷在列表上是否針對各任務(wù)組標(biāo)注了已請求標(biāo)志"1",可以識別是否向主節(jié)點20請求了該任務(wù) 組的處理,并且通過判斷在列表上是否針對各任務(wù)組標(biāo)注了已接收標(biāo)志"1", 可以識別該任務(wù)組的處理是否已結(jié)束。
接著,說明在本實施方式的信息處理系統(tǒng)中處理大規(guī)模運算的步驟。
最初,說明在客戶機10通過第一請求方法進行處理時,在本實施方式的 信息處理系統(tǒng)中處理大規(guī)模運算的步驟。圖5是用于說明客戶機10通過第一 請求方法進行的處理的步驟的流程圖。
首先,例如通過網(wǎng)絡(luò)向客戶機10發(fā)送大規(guī)模運算的數(shù)據(jù)。在此,所述大 規(guī)模運算由圖3所示那樣的1000個任務(wù)構(gòu)成??蛻魴C10當(dāng)接收到所述大規(guī)模 運算的數(shù)據(jù)時,針對構(gòu)成該大規(guī)模運算的1000個任務(wù)進行將互相具有依存性 的任務(wù)匯集為一個任務(wù)組的分組處理(S11 )。在此,客戶機10通過進行分組 處理,如圖1所示得到了 600個任務(wù)組。
接著,客戶機IO針對各任務(wù)組估計其處理的負荷(S12)。例如根據(jù)與構(gòu) 成該任務(wù)組的各任務(wù)相關(guān)的變量的組的數(shù)量和,進行所述負荷的估計。在這種 情況下,客戶機10判定為變量的組的數(shù)量和越多,該任務(wù)組的負荷越大。
接著,客戶機10根據(jù)在步驟S12中得到的各任務(wù)組的處理的負荷,生成 按照其負荷從重到輕的順序?qū)?00個任務(wù)組分類而得的任務(wù)組的列表(S13 )。 在此,生成圖4所示的列表。
接著,客戶機10將600個任務(wù)組劃分為301個塊。具體而言,將圖4的 列表上從最上方開始到第300個記載的ID號碼從"001"到ID號碼"300"為 止的300個任務(wù)組作為第1塊,將其它任務(wù)組分別按照圖4的列表上從上開始
的順序作為第2塊、第3塊.....第301塊。在此,在第1塊中包含300個任
務(wù)組,在第11塊(11=2, 3,…,301)中僅包含l個任務(wù)組。于是得到共計301 個塊。然后,客戶機10最初向主節(jié)點20請求作為第l塊的300個任務(wù)組的處 理(S14)。然后,客戶機10當(dāng)向主節(jié)點20請求任務(wù)組的處理時,在列表上在 該已請求的任務(wù)組所對應(yīng)的已請求欄中標(biāo)注已請求標(biāo)志'T,。
當(dāng)如此從主機10請求300個任務(wù)組的處理時,主節(jié)點20將這些任務(wù)組的 處理分配給各節(jié)點30a、 30b、 30c、 30d。各節(jié)點30a、 30b、 30c、 30d執(zhí)行分 配給自己的任務(wù)組的處理。各節(jié)點30a、 30b、 30c、 30d,當(dāng)該任務(wù)組的處理結(jié)束時將表示該情況的報告和處理結(jié)果一起發(fā)送至主節(jié)點20。
另一方面,客戶機IO當(dāng)向主節(jié)點20請求了任務(wù)組的處理時,每隔一定期 間或者根據(jù)需要在任意時刻對主節(jié)點20查詢該已請求的任務(wù)組的處理是否已 結(jié)束。主節(jié)點20當(dāng)接收到該查詢時,若存在處理已結(jié)束的任務(wù)組,則將表示 該任務(wù)組的處理已結(jié)束的通知以及其處理結(jié)果發(fā)送至客戶機10。然后,客戶 機10當(dāng)接收到表示該任務(wù)組的處理已結(jié)束的通知時,在列表上該任務(wù)組所對 應(yīng)的已接收欄中標(biāo)注已接收標(biāo)志"1" (S15)。
在步驟S15的處理后,客戶機10判斷是否存在在列表上未標(biāo)注已請求標(biāo) 志'T,的任務(wù)組(S16)。若還存在未標(biāo)注已請求標(biāo)志"1"的任務(wù)組,則客戶 機10除當(dāng)前時刻正請求的任務(wù)組以外,向主節(jié)點20請求在圖4的列表上最上 方記載的任務(wù)組的處理(S17)。另外,客戶機IO在列表上該已請求的任務(wù)組 所對應(yīng)的已請求欄中標(biāo)注已請求標(biāo)志"1"。然后轉(zhuǎn)移至步驟S15。只要步驟 S16中客戶機IO判斷為存在未標(biāo)注已請求標(biāo)志"1"的任務(wù)組,則重復(fù)進行步 驟S15、 S16以及S17的處理。在此,只要存在未標(biāo)注已請求標(biāo)志"1"的任 務(wù)組,則向主節(jié)點20請求了處理的任務(wù)組的數(shù)量始終為300個。即只要存在 未標(biāo)注已請求標(biāo)志"1"的任務(wù)組,則主節(jié)點20始終對300個任務(wù)組進行向各 節(jié)點30a、 30b、 30c、 30d的分配處理。
當(dāng)所述步驟S15、 S16以及S17的處理重復(fù)進行了 300次后,當(dāng)客戶機IO 接收到表示某任務(wù)組的處理已結(jié)束的通知時(S15),客戶機10判斷為在列表 上不存在未標(biāo)注已請求標(biāo)志'T,的任務(wù)組(S16)。即,在該時刻已向主節(jié)點 20請求了全部600個任務(wù)組的處理。接著,客戶機IO判斷是否存在在列表上 未標(biāo)注已接收標(biāo)志"1"的任務(wù)組(S18)。若還存在未標(biāo)注已接收標(biāo)志"1"的 任務(wù)組,則轉(zhuǎn)移至步驟S19。在該步驟S19中,當(dāng)客戶機IO接收到表示某任 務(wù)組的處理已結(jié)束的通知時,在列表上該任務(wù)組所對應(yīng)的已接收欄中標(biāo)注已接 收標(biāo)志"1"。然后轉(zhuǎn)移至步驟S18。只要在步驟S18中客戶機10判斷為存在 未標(biāo)注已接收標(biāo)志"1"的任務(wù)組,則重復(fù)進行步驟S18和S19的處理。此時, 每當(dāng)進行一次步驟S19的處理,向主節(jié)點20請求處理的任務(wù)組的數(shù)量就減少 一個。從而,在列表上對全部任務(wù)組標(biāo)注了已請求標(biāo)志"1"之后,主節(jié)點20 始終對300個以下的任務(wù)組進行向各節(jié)點30a、 30b、 30c、 30d的分配處理。在重復(fù)進行300次步驟S18和步驟S19的處理后,客戶機10判斷為在列 表上不存在未標(biāo)注已接收標(biāo)志"1"的任務(wù)組(S18)。于是,客戶機10識別出 大規(guī)模運算的處理已結(jié)束,進行處理結(jié)果的匯總(S20)。以上,圖5所示的客 戶機10的處理流程結(jié)束。
才妄著,說明當(dāng)客戶機10通過第二請求方法進行處理時,在本實施方式的 信息處理系統(tǒng)中處理大規(guī)模運算的步驟。圖6是用于說明客戶機IO通過第二 請求方法進行的處理的步驟的流程圖。
圖6的處理流程中的步驟S51、步驟S52、步驟S53的各處理的內(nèi)容,分 別與圖5的處理流程中的步驟Sll、步驟S12、步驟S13的各處理的內(nèi)容相同。 因此省略其說明。
在步驟S53的處理后,客戶機10將600個任務(wù)組劃分為兩個塊(S54)。 具體而言,將圖4的列表上從最上方開始到第300個所記載的300個任務(wù)組作 為第1塊,將該列表上從第301個開始到第600個所記載的300個任務(wù)組作為 第2塊。
接著,客戶機10向主節(jié)點20請求一個塊的處理(S55)。在此,向主節(jié)點 請求的塊的順序為最初是第l塊,然后是第2塊。從而,在這種情況下首先 向主節(jié)點20請求作為第1塊的300個任務(wù)組的處理。另外,客戶機10當(dāng)向主 節(jié)點20請求了任務(wù)組的處理時,在列表上在該已請求的任務(wù)組所對應(yīng)的已請 求欄中標(biāo)注已請求標(biāo)志"1"。
然后,客戶機10每隔一定期間或者根據(jù)需要在任意時刻,對主節(jié)點20查 詢該已請求的任務(wù)組的處理是否已結(jié)束。然后,客戶機10當(dāng)針對該查詢從主 節(jié)點20接收到表示某任務(wù)組的處理已結(jié)束的通知時,在列表上該任務(wù)組所對 應(yīng)的已接收欄中標(biāo)注已接收標(biāo)記"1" (S56)。
接著,客戶機10判斷在列表上標(biāo)注了已請求標(biāo)志"1"的任務(wù)組中,是否 存在未標(biāo)注已接收標(biāo)志'T,的任務(wù)組(S57)。若還存在未標(biāo)注已接收標(biāo)志"1" 的任務(wù)組,則轉(zhuǎn)移至步驟S56。只要判斷為此次請求的300個任務(wù)組的處理未 全部結(jié)束,就重復(fù)進行步驟S56以及步驟S57的處理。
在所述步驟S56以及步驟S57的處理重復(fù)進行299次后,當(dāng)客戶機10接 收到表示任務(wù)組的處理已結(jié)束的通知時(S56),客戶機IO針對列表上標(biāo)注了已請求標(biāo)志"1"的全部任務(wù)組判斷為標(biāo)注了已接收標(biāo)志T (S57)。即,此 時作為第1塊的300個任務(wù)組的處理已全部結(jié)束。接著,客戶機10根據(jù)列表 上的已請求標(biāo)志"1",判斷是否存在尚未向主節(jié)點20請求處理的塊(S58)。 在這種情況下,針對第2塊中包含的任務(wù)組,由于尚未向主節(jié)點20請求處理、 未標(biāo)注已請求標(biāo)志"1",因此該步驟S58的判斷為肯定性判斷。若步驟S58 的判斷為肯定性判斷,則轉(zhuǎn)移至步驟S55。在該步驟S55中,向主節(jié)點20請 求作為第2塊的300個任務(wù)組的處理。于是,當(dāng)作為第2塊的300個任務(wù)組的處理全部結(jié)束(S57)、不存在未向 主節(jié)點20請求處理的塊時(S58 ),客戶機10識別出大規(guī)模運算的處理已結(jié)束, 進行處理結(jié)果的匯總(S59)。以上,圖6所示的客戶機IO的處理流程結(jié)束。在本實施方式的信息處理系統(tǒng)中,客戶機將構(gòu)成大規(guī)模運算的多個任務(wù)匯 集為若干任務(wù)組后,將這些任務(wù)組進一步劃分為塊,并且以塊為單位以主節(jié)點 始終對規(guī)定數(shù)量以下的任務(wù)組進行分配處理的方式,向主節(jié)點請求任務(wù)組的處 理。由此,客戶機可以不像以往那樣將全部任務(wù)的處理一起向主節(jié)點請求,而 是以塊為單位每次少量地向主節(jié)點請求多個任務(wù)組的處理??梢哉J(rèn)為這種客戶 機具有控制主節(jié)點負荷的功能。因此,主節(jié)點始終進行僅將上述規(guī)定數(shù)量的任務(wù)組中包含的任務(wù)數(shù)的任務(wù)向各節(jié)點分配的處理即可,因此可以防止主節(jié)點的 負荷增加。而且,由于可以這樣減輕主節(jié)點的負荷,因此主節(jié)點不僅可以高效 地進行向各節(jié)點分配任務(wù)組的處理,而且也可以高效地進行與來自客戶機的運 算結(jié)果監(jiān)視請求相對應(yīng)的處理。而且,對于客戶機而言,由于減少向主節(jié)點請 求的任務(wù)數(shù),因此減輕運算結(jié)果監(jiān)視處理所對應(yīng)的負荷。此外,本發(fā)明不限于上述實施方式,在其主旨范圍內(nèi)可以進行各種變形。 在上述實施方式中說明了在從主節(jié)點向各節(jié)點的指示中作為處理結(jié)果的 存儲目的地而指定了主節(jié)點,各節(jié)點將任務(wù)組的處理結(jié)果發(fā)送至主節(jié)點,主節(jié) 點將該處理結(jié)果發(fā)送至客戶機的情況,但例如也可以在從主節(jié)點向各節(jié)點的指 示中作為處理結(jié)果的存儲目的地而指定規(guī)定的數(shù)據(jù)庫。在這種情況下,各節(jié)點 當(dāng)結(jié)束任務(wù)組的運算處理時,向主節(jié)點報告該任務(wù)組的處理已結(jié)束,并且將其 處理結(jié)果存儲在該指定的數(shù)據(jù)庫中。然后,客戶機當(dāng)從主節(jié)點取得任務(wù)組的處 理結(jié)束的通知時訪問該數(shù)據(jù)庫,取得該任務(wù)組的處理結(jié)果。估計而得的結(jié)果,按照從負荷較重的任務(wù)組到負荷較輕的任務(wù)組的順序向主節(jié) 點請求各任務(wù)組的處理的情況,但客戶機不需要一定估計任務(wù)組的處理負荷、 按照從其負荷較重的任務(wù)組開始的順序向主節(jié)點請求各任務(wù)組。即,客戶機可 以按照任意順序向主節(jié)點請求各任務(wù)組。而且,在上述實施方式中說明了客戶機進行將互相具有依存性的某任務(wù)匯 集為一個組的分組處理的情況,但若例如使用互相沒有依存性的任務(wù),則客戶 機不需要一定進行任務(wù)的分組處理。另外,作為運算的基本單位,也可以將不 依存于其它運算結(jié)果的運算定義為"任務(wù)"。在這些情況下,當(dāng)然可以將任務(wù) 和任務(wù)組視為相同。此外,當(dāng)使用互相沒有依存性的任務(wù)時,作為分組規(guī)則信 息而使用關(guān)于一個任務(wù)組中可以包含的任務(wù)的上限數(shù)的信息,分組處理單元可 以根據(jù)關(guān)于該上限數(shù)的信息,將多個任務(wù)劃分為若千任務(wù)組。另外,在上述實施方式中說明了從一個客戶機向 一個主節(jié)點進行任務(wù)(或 任務(wù)組)的請求的情況,但也考慮了例如從多個客戶機向一個主節(jié)點同時進行 任務(wù)(或任務(wù)組)的請求的情況。在這種情況下理想的是,使多個客戶機除了 以塊為單位進行任務(wù)(或任務(wù)組)的請求的本發(fā)明的特征功能以外,還具有在 這些客戶機之間取得協(xié)作的功能。由此,各客戶機可以互相取得協(xié)作來進行調(diào)整,以使向主節(jié)點請求的任務(wù)(或任務(wù)組)的合計數(shù)始終在規(guī)定數(shù)以下。作為實現(xiàn)這種協(xié)作功能的方法,可以使用如下方法各客戶機互相進行通信,相互 通知關(guān)于當(dāng)前向主節(jié)點請求的任務(wù)(或任務(wù)組)的數(shù)量的信息。另外,作為其 它方法,可以使用如下方法在主節(jié)點、或客戶機和主節(jié)點以外的其它設(shè)備上 設(shè)有管理當(dāng)前向主節(jié)點請求的任務(wù)(或任務(wù)組)的數(shù)量的任務(wù)數(shù)管理單元。具 體而言,該任務(wù)數(shù)管理單元具有關(guān)于主節(jié)點可以接受請求的任務(wù)(或任務(wù)組) 的上限數(shù)的信息。各客戶機,當(dāng)向主節(jié)點請求任務(wù)(或任務(wù)組)的處理時,對 任務(wù)數(shù)管理單元發(fā)送關(guān)于該請求的任務(wù)(或任務(wù)組)的數(shù)量的信息。任務(wù)數(shù)管 理單元,當(dāng)從各客戶機發(fā)送了關(guān)于任務(wù)(或任務(wù)組)的數(shù)量的信息時,若接受 了所述任務(wù)(或任務(wù)組)的請求,則判斷向主節(jié)點請求的任務(wù)(或任務(wù)組)的 合計數(shù)是否超過上述上限數(shù)。并且,任務(wù)數(shù)管理單元當(dāng)判斷為該合計數(shù)未超過 上述上限數(shù)時,向該客戶機發(fā)送表示允許任務(wù)(或任務(wù)組)的請求的指示,另一方面,當(dāng)判斷為該合計數(shù)超過上述上限數(shù)時,對該客戶機發(fā)送表示應(yīng)該待機 或者中止任務(wù)(或任務(wù)組)的請求的命令。因此,在從多個客戶機向一個主節(jié) 點進行任務(wù)的請求時,也可以減輕主節(jié)點的處理負荷。另外,當(dāng)相反地從一個客戶機向多個主節(jié)點進行任務(wù)(或任務(wù)組)的請求 時,也可以應(yīng)用本發(fā)明。這種任務(wù)(或任務(wù)組)的請求形態(tài)適用于從客戶機請 求的任務(wù)(或任務(wù)組)的數(shù)量很大的情況、或者任務(wù)(或任務(wù)組)的負荷非常 高的情況。這種情況的處理步驟與上述實施方式大體相同。但是也存在多個主 節(jié)點的負荷平衡器功能由分別不同供應(yīng)商的產(chǎn)品構(gòu)成等無法取得統(tǒng)一的情況。在這種情況下,可以認(rèn)為關(guān)于如下處理也需要進行調(diào)整從客戶機向主節(jié)點的 任務(wù)(或任務(wù)組)的交接處理、對在節(jié)點的任務(wù)處理結(jié)果進行匯總的處理等。 例如,不在客戶機、主節(jié)點、節(jié)點間直接收發(fā)任務(wù)的運算內(nèi)容或變量、節(jié)點的 任務(wù)的處理結(jié)果等,而經(jīng)由共同的外部數(shù)據(jù)庫在它們之間進行交接,最終由客 戶機進行從外部數(shù)據(jù)庫收集該處理結(jié)果然后匯總的處理即可。此外,根據(jù)上述 可知,在從多個客戶機向多個主節(jié)點進行任務(wù)(或任務(wù)組)的請求時也可以應(yīng) 用本發(fā)明。而且,在上述實施方式中說明了客戶機將構(gòu)成大規(guī)模運算的多個任務(wù)(或 任務(wù)組)劃分為若干塊,以塊為單位以主節(jié)點始終對規(guī)定數(shù)量以下的任務(wù)(或 任務(wù)組)進行分配處理的方式,向主節(jié)點請求任務(wù)(或任務(wù)組)的處理的情況,向主節(jié)點請求,主節(jié)點將該請求的多個任務(wù)(或任務(wù)組)劃分為若干塊,以該 塊為單位進行任務(wù)(或任務(wù)組)的分配處理。即也可以不在客戶機中而在主節(jié) 點中設(shè)置本發(fā)明的特征功能。由此,即使例如從客戶機請求了 1000個任務(wù), 主節(jié)點也可以將向各節(jié)點的分配處理的對象始終限制為規(guī)定數(shù)量(例如300 ) 以下的任務(wù),因此可以充分減輕主節(jié)點的處理的負荷。即,在現(xiàn)有的信息處理 系統(tǒng)中,例如向主節(jié)點請求了 1000個任務(wù)的處理時,主節(jié)點必須將1000個任 務(wù)全部作為負荷平衡器功能的對象而始終管理,但在本發(fā)明的信息處理系統(tǒng) 中,可以將主節(jié)點必須始終管理的任務(wù)抑制到例如300個。但在這種情況下, 客戶機與以下降。然而,作為信息處理系統(tǒng)整體可以減輕處理負荷。此外,在上述實施方式中說明了分別通過工作站等實現(xiàn)客戶機和主節(jié)點的 情況,但也可以例如通過一個工作站等實現(xiàn)客戶機和主節(jié)點。即,可以在一個 工作站中安裝用于實現(xiàn)客戶機以及主節(jié)點功能的軟件,而且該工作站也可以兼 有節(jié)點的功能。此外,在上述實施方式中說明了某工作站固定地作為客戶機或 主節(jié)點的情況、或某工作站兼有客戶機以及主節(jié)點功能的情況,但本發(fā)明不限 于此。即,若在多個工作站中安裝了用于作為客戶機、主節(jié)點以及節(jié)點的各功 能而工作的軟件,則這些各工作站也可以實現(xiàn)有時作為客戶機而工作、有時作 為主節(jié)點或節(jié)點而工作這樣流動的運用。本發(fā)明的目的當(dāng)然也可以如下來實現(xiàn)將實現(xiàn)上述實施方式的裝置的功能 的軟件的程序代碼(包含執(zhí)行形式),通過記錄其全體或一部分的記錄介質(zhì)提 供給本實施方式的裝置,該裝置的計算機(或CPU、 MPU)讀出存儲在記錄 介質(zhì)中的程序代碼,執(zhí)行動作的全部或一部分。在這種情況下,從記錄介質(zhì)讀 出的程序代碼本身實現(xiàn)本實施方式的功能,記錄該程序代碼的記錄介質(zhì)構(gòu)成本 發(fā)明。作為用于提供程序代碼的記錄介質(zhì)可以使用ROM、軟盤(floppy disc)(注 冊商標(biāo))、硬盤、光盤、光磁盤、CD-ROM、 CD-R、 DVD-ROM、磁帶、非易 失性存儲卡等。而且可以通過經(jīng)由通信線路下載來提供程序代碼,也可以利用 JAVA (注冊商標(biāo))等技術(shù)^t是供程序代碼來執(zhí)行。另外,本發(fā)明當(dāng)然還包含如下情況不僅通過執(zhí)行計算機所讀出的程序代 碼來實現(xiàn)本實施方式的功能,而且根據(jù)該程序代碼的指示由計算機上運行的 OS等進行一部分實際處理或全部實際處理,通過該處理來實現(xiàn)本實施方式的 功能。而且,本發(fā)明當(dāng)然還包含如下情況將從記錄介質(zhì)讀出的程序代碼寫入插 入計算機的功能擴展板或計算機所連接的功能擴展單元所具備的存儲器后,根據(jù)該程序代碼的指示,由該功能擴展板或功能擴展單元所具備的CPU等進行 一部分實際處理或全部實際處理,通過該處理實現(xiàn)本實施方式的功能。此外,本發(fā)明也可以是程序產(chǎn)品(program product),該程序產(chǎn)品包含用于使計算機實現(xiàn)上述實施方式的裝置功能的程序。在此,所謂程序產(chǎn)品不僅是計算機程序,還包含記錄了程序的記錄介質(zhì)或計算機。 產(chǎn)業(yè)上的可利用性如上所述,本發(fā)明的信息處理系統(tǒng)中,客戶機將構(gòu)成大規(guī)模運算的多個任 務(wù)劃分為若干塊,以塊為單位以主節(jié)點始終對規(guī)定數(shù)量以下的任務(wù)進行分配處 理的方式,向主節(jié)點請求任務(wù)的處理。由此,客戶機可以不像以往那樣將全部 任務(wù)的處理匯集起來向主節(jié)點請求,而將多個任務(wù)劃分為包含小規(guī)模任務(wù)的若 干塊,以該塊為單位每次少量地向主節(jié)點請求??梢哉J(rèn)為這種客戶機具有控制 主節(jié)點的負荷的功能。因此,主節(jié)點始終僅對上述規(guī)定數(shù)量以下的任務(wù)進行向 各節(jié)點的分配處理即可,因此可以防止主節(jié)點的負荷增加。而且,由于如上所 述可以減輕主節(jié)點的負荷,因此主節(jié)點不僅可以高效地進行向各節(jié)點分配任務(wù) 的處理,還可以高效地進行與來自客戶機的運算結(jié)果監(jiān)視請求相對應(yīng)的處理。 而且,對于客戶機而言,向主節(jié)點請求的任務(wù)的數(shù)量減少,因此減輕運算結(jié)果 監(jiān)視處理所對應(yīng)的負荷。因此,本發(fā)明可以應(yīng)用于通過網(wǎng)絡(luò)連接的多個計算機 分擔(dān)執(zhí)行由多個任務(wù)構(gòu)成的大規(guī)模運算的處理的信息處理系統(tǒng)。
權(quán)利要求
1.一種信息處理系統(tǒng),通過以網(wǎng)絡(luò)連接請求由多個任務(wù)構(gòu)成的大規(guī)模運算的處理的客戶機、執(zhí)行各任務(wù)的處理的多個節(jié)點、以及將從所述客戶機請求的多個任務(wù)的處理分配給所述各節(jié)點的主節(jié)點而構(gòu)成,其特征在于,所述客戶機將存儲單元中存儲的、構(gòu)成所述大規(guī)模運算的多個任務(wù)劃分為若干塊,以所述塊為單位以所述主節(jié)點始終對規(guī)定數(shù)量以下的任務(wù)進行分配處理的方式,向所述主節(jié)點請求任務(wù)的處理。
2. 根據(jù)權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述客戶機,將構(gòu)成所述大規(guī)模運算的多個任務(wù)中規(guī)定數(shù)量的任務(wù)作為第 l塊,將其它任務(wù)分別作為第n塊(n=2, 3, N),并且,最初向所述主節(jié) 點請求作為所述第1塊的規(guī)定數(shù)量的任務(wù)的處理,每當(dāng)從所述主節(jié)點發(fā)送表示 針對一個任務(wù)處理已結(jié)束的通知時,向所述主節(jié)點請求尚未請求處理的所述塊 中的規(guī)定的一個塊的處理。
3. 根據(jù)權(quán)利要求1或2所述的信息處理系統(tǒng),其特征在于, 所述客戶機,針對構(gòu)成所述大規(guī)模運算的多個任務(wù),估計各任務(wù)的處理的負荷,根據(jù)該估計而得的結(jié)果,按照從負荷較重的任務(wù)到負荷較輕的任務(wù)的順 序,向所述主節(jié)點請求各任務(wù)的處理。
4. 一種計算機可讀取的記錄介質(zhì),其記錄了用于使計算機實現(xiàn)權(quán)利要求 1、 2或3中任意一項所述的信息處理系統(tǒng)的功能的程序。
5. —種程序,使計算機實現(xiàn)權(quán)利要求l、 2或3中任意一項所述的信息處 理系統(tǒng)的功能。
6. —種信息處理裝置,向負荷平衡器請求由多個任務(wù)構(gòu)成的大規(guī)模運算 的處理,其特征在于,具備分組處理單元,將存儲單元中存儲的、構(gòu)成所述大規(guī)模運算的多個任務(wù), 根據(jù)所述存儲單元中存儲的分組規(guī)則信息而匯集為若干個任務(wù)組;以及管理單元,針對通過所述分組處理單元生成的多個任務(wù)組,以向所述負荷 平衡器請求處理的任務(wù)組的數(shù)量始終在規(guī)定數(shù)量以下的方式,向所述負荷平衡器請求任務(wù)組的處理。
7. 根據(jù)權(quán)利要求6所述的信息處理裝置,其特征在于, 還具備負荷估計單元,針對通過所述分組處理單元生成的多個任務(wù)組,根據(jù)所述存儲單元中存儲的負荷估計規(guī)則信息來估計各任務(wù)組的處理的負荷,所述管理單元,根據(jù)通過所述負荷估計單元而取得的、對各任務(wù)組的處理 的負荷的估計結(jié)果,按照從負荷較重的任務(wù)組到負荷較輕的任務(wù)組的順序,向 所述負荷平衡器請求各任務(wù)組的處理。
8. —種程序,使計算機實現(xiàn)權(quán)利要求6或7中任意一項所述的信息處理 裝置的功能。
全文摘要
提供一種信息處理系統(tǒng),其可以減輕主節(jié)點的過負荷,使主節(jié)點可以高效地進行向各節(jié)點分配任務(wù)的處理??蛻魴C(10)將構(gòu)成大規(guī)模運算的多個任務(wù)劃分為若干塊,以塊為單位以主節(jié)點(20)始終對規(guī)定數(shù)量以下的任務(wù)進行分配處理的方式,向主節(jié)點(20)請求任務(wù)的處理。在此,上述規(guī)定數(shù)量理想的是使主節(jié)點(20)例如即使在節(jié)點數(shù)較多時也可以高效地進行向各節(jié)點分配這些任務(wù)的處理的數(shù)量。這樣,客戶機(10)具有控制主節(jié)點(20)的負荷的功能,因此可以防止主節(jié)點(20)的負荷增加。
文檔編號G06F9/46GK101248419SQ20068003081
公開日2008年8月20日 申請日期2006年8月17日 優(yōu)先權(quán)日2005年8月22日
發(fā)明者天社誠, 河野伸二郎, 白石勝美 申請人:新日鐵系統(tǒng)集成株式會社