JP3569341B2 - Parallel computer system - Google Patents

Parallel computer system Download PDF

Info

Publication number
JP3569341B2
JP3569341B2 JP07494195A JP7494195A JP3569341B2 JP 3569341 B2 JP3569341 B2 JP 3569341B2 JP 07494195 A JP07494195 A JP 07494195A JP 7494195 A JP7494195 A JP 7494195A JP 3569341 B2 JP3569341 B2 JP 3569341B2
Authority
JP
Japan
Prior art keywords
request
control processor
processor
processing
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP07494195A
Other languages
Japanese (ja)
Other versions
JPH08272729A (en
Inventor
健司 吉村
光一郎 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP07494195A priority Critical patent/JP3569341B2/en
Publication of JPH08272729A publication Critical patent/JPH08272729A/en
Application granted granted Critical
Publication of JP3569341B2 publication Critical patent/JP3569341B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Advance Control (AREA)

Description

【0001】
【産業上の利用分野】
本発明は,複数のプロセッサエレメントとコントロールプロセッサとがネットワークで結合された計算機システムにおいて,I/O装置を持たないプロセッサエレメントからの,I/O装置を持つコントロールプロセッサを経由したI/O処理を,高速に効率よく実行できるようにした並列型計算機システムに関するものである。
【0002】
【従来の技術】
図8は従来技術の説明図である。
図8(A),(C)に示す並列型計算機システムにおいて,プロセッサエレメントPE〔PE(0),PE(1),…〕は,演算を専門に行うプロセッサである。コントロールプロセッサCPは,プロセッサエレメントPEを管理する装置であり,これには記憶装置80のようなI/O装置が接続されている。また,コントロールプロセッサCPと,各プロセッサエレメントPEとは,クロスバネットワークXBで接続されている。
【0003】
各プロセッサエレメントPEが記憶装置80上に格納されているデータを参照する場合,プロセッサエレメントPEには記憶装置80が接続されていないため,コントロールプロセッサCPに存在するサーバにI/O要求を出す。I/O要求を受けたコントロールプロセッサCPのサーバは,記憶装置80へのI/Oを実行し,読み込んだデータをクロスバネットワークXBを経由して要求元のプロセッサエレメントPEに転送する。
【0004】
【発明が解決しようとする課題】
図8において,記憶装置80とコントロールプロセッサCPとの間のデータ転送速度が800Mbyte/秒,コントロールプロセッサCPと各プロセッサエレメントPEとの間のデータ転送速度が400Mbyte/秒であるとする。
【0005】
従来,図8(A)に示すように,プロセッサエレメントPE(0)が,I/O(1)の要求と,I/O(2)の要求を行い,プロセッサエレメントPE(1)がI/O(3)の要求と,I/O(4)の要求をこの順序で行った場合,コントロールプロセッサCPは,これらのI/O要求を1つずつ順番に処理していた。そのため,記憶装置80からコントロールプロセッサCPへの1つのI/O処理によるデータ転送に例えば6秒かかるとすると,図8(B)に示すように,記憶装置80からコントロールプロセッサCPへの全部のデータ転送では,6秒×4=24秒かかることになった。
【0006】
また,図8(C)に示すように,プロセッサエレメントPEのクライアントから1つのread要求が出された場合に,記憶装置80からコントロールプロセッサCPへのデータ転送に例えば6秒かかると,そのI/O処理が完了してからI/O要求元のプロセッサエレメントPEへのI/O処理を開始するので,さらにコントロールプロセッサCPからプロセッサエレメントPEへのデータ転送に12秒かかり,1つのI/O要求が完了するまで,図8(D)に示すように,全部で18秒の時間がかかっていた。
【0007】
以上のように,従来技術では,プロセッサエレメントPEからのI/O要求の処理に時間がかかるという問題があった。
また,コントロールプロセッサCPでは,プロセッサエレメントPEを管理するための処理や,運用に関する処理,ジョブに関する処理等,いろいろな処理が動いており,プロセッサエレメントPEが例えば100台〜200台の規模になった場合,I/O要求が1台のコントロールプロセッサCPに集中し,コントロールプロセッサCPの負荷が非常に高くなることがあるという問題があった。
【0008】
本発明は上記問題点の解決を図り,I/O処理の分散化とI/O分割並列化により,I/O処理の高速化を可能にするとともに,コントロールプロセッサの負荷を軽減することを目的とする。
【0009】
【課題を解決するための手段】
図1は本発明の構成例を示す。
プロセッサエレメント(PE)10−0,10−1,…は,演算を専門に行うプロセッサである。記憶装置31のようなI/O装置が接続されているコントロールプロセッサが複数台設けられ,その中の1台がマスタコントロールプロセッサ(以下,マスタCPという)12として設定され,その他がスレーブコントロールプロセッサ(以下,スレーブCPという)26として設定される。
【0010】
マスタCP12,スレーブCP26およびプロセッサエレメントPEは,クロスバネットワーク(XB)11で接続されている。
マスタCP12には,プロセッサエレメントPEの管理,運用に関する処理,ジョブに関する処理などのために,オペレーション用の入力装置13が接続されている。
【0011】
I/O分割指示入力手段14は,I/O要求を複数のI/O実行単位に分割する分割数を,入力装置13からのコマンド等により入力する手段である。I/O分散指示入力手段15は,I/O要求を複数のコントロールプロセッサに分散するか否か,または各コントロールプロセッサに何%分散させるかを,入力装置13からのコマンド等により入力する手段てある。
【0012】
I/O要求受付け手段16は,各プロセッサエレメントPEからのI/O要求を受け付ける手段である。分散判定処理手段17は,マスタCP12およびスレーブCP26の負荷状況およびI/O分散指示入力手段15からの分散指示情報に基づいて,I/O要求の実行を複数のコントロールプロセッサに分散させるか,または特定のコントロールプロセッサで行うかを決定する手段である。
【0013】
I/O要求転送手段20は,分散判定処理手段17の判定結果に従い,I/O要求をスレーブCP26で実行する場合に,I/O要求をスレーブCP26へ転送する手段である。I/O処理結果受信手段21は,スレーブCP26でI/O要求を実行した場合に,そのI/O処理結果を受け取る手段である。
【0014】
I/O分割処理手段18は,I/O分割指示入力手段14の指示に従い,プロセッサエレメントPEからのI/O要求を,複数のI/O実行単位に分割する手段である。I/O並列実行手段19は,分割されたI/O実行単位について,記憶装置31とマスタCP12との間のデータの入出力と,マスタCP12とI/O要求元のプロセッサエレメントPEとの間のデータの転送とを,並列に実行する手段である。
【0015】
I/O処理完了通知手段22は,マスタCP12で実行したI/O処理結果もしくはスレーブCP26で実行したI/O処理結果またはそれらの双方のI/O処理結果をI/O要求元のプロセッサエレメントPEへ通知する手段である。
【0016】
異常検出手段23は,要求したI/Oのタイムアウトまたは所定の運転制御等により,スレーブCP26の異常を検出する手段である。分散抑止手段24は,異常検出手段23によってスレーブCP26に異常が検出された場合に,そのスレーブCP26にI/O要求の実行を分担させないように分散判定処理手段17に指示を出す手段である。
【0017】
リカバリ処理手段25は,I/O要求を分担して実行していたスレーブCP26の異常を検出した場合に,このスレーブCP26が処理していたI/O要求を再実行する手段である。
【0018】
スレーブCP26におけるI/O要求受信手段27は,I/Oの分散化のために,マスタCP12から送られてきたI/O要求を受信する手段である。I/O分割処理手段28は,I/O分割指示入力手段14からの指示に従い,マスタCP12からのI/O要求を,複数のI/O実行単位に分割する手段である。I/O並列実行手段29は,分割されたI/O実行単位について,記憶装置31とスレーブCP26との間のデータの入出力と,スレーブCP26からプロセッサエレメントPEまたはマスタCP12へのデータ転送とを並列に実行する手段である。I/O処理結果転送手段30は,スレーブCP26で実行したI/O処理結果を,マスタCP12またはI/O要求元のプロセッサエレメントPEへ転送する手段である。
【0019】
図1では,スレーブCP26が1台であるが,スレーブCPは2台以上存在してもよい。
【0020】
【作用】
本発明では,コントロールプロセッサの数を増やし,マスタCP12以外にスレーブCP26を設ける。そして,各プロセッサエレメントPEからのI/O要求を,複数のコントロールプロセッサで分担して処理を行う。ここでは,これをI/Oの分散化と呼ぶ。
【0021】
また,記憶装置31とコントロールプロセッサ間,コントロールプロセッサとプロセッサエレメントPE間でデータ転送が行われることに着目して,プロセッサエレメントPEから発行された1つのI/O要求を,複数に分割する。これによってトータルのI/O処理のスピードアップを図る。ここでは,これをI/Oの分割並列化と呼ぶ。
【0022】
以上のようなI/Oの分散化とI/Oの分割並列化とによって,コントロールプロセッサの負荷分散およびI/O性能の向上が可能になる。これにより,ジョブのスループット性能,I/Oのピーク性能が向上し,システム全体としてのスピードアップが図れる。
【0023】
プロセッサエレメントPEからのI/O要求を,すべてマスタCP12が受け取り,それを1台または複数台のスレーブCP26に分担させるので,マスタCP12におけるデータの排他制御等を簡単に実現することができる。
【0024】
また,スレーブCP26に異常があった場合,I/Oの分散化を自動抑止し,さらにスレーブCP26がI/Oを実行中に異常になった場合には,マスタCP12でI/O処理をリトライすることにより,信頼性の向上も可能になる。
【0025】
【実施例】
図2は本発明の実施例によるI/Oの分散化を説明する図である。
図2(A)に示すように,複数台のコントロールプロセッサは,マスタCP12とスレーブCP26とに分かれて動作する。プロセッサエレメントPEからI/O要求を受けるのは,マスタCP12だけである。プロセッサエレメントPEからI/O要求を受けたマスタCP12では,所定の負荷アルゴリズムにより,自分でI/O処理を行うか,スレーブCP26にI/O処理を任せるかを判断する。
【0026】
あるコントロールプロセッサでI/Oの分散化を行うかどうかは,オペレータが,図2(C)に示すような分散化コマンドによって指定することができる。コマンド名は“balance”であり,−sは分散化の指定である。CP識別番号は,どのコントロールプロセッサに対して本コマンドを適用するかを指定するものである。on/offは分散化の開始/終了を表す。分散する場合には,例えばマスタCP12が30%,スレーブCP26が70%というように分散率を指定することができる。分散率を省略した場合,ディフォルト値としてマスタCP12とスレーブCP26の分担が1対2となる分散率が与えられる。ディフォルト値でマスタCP12の負担を少なくしているのは,プロセッサエレメントPEからの要求の受け付け,完了の通知等,スレーブCP26に比べて処理負担が大きいためである。
【0027】
分散化コマンドが投入されている状態で,図1に示す分散判定処理手段17が用いる負荷アルゴリズムは,以下のとおりである。
▲1▼ マスタCP12が全くI/O処理を行っていないならば,マスタCP12がI/Oを実行する。スレーブCP26に処理を依頼するには通信コストがかかるからである。
【0028】
▲2▼ マスタCP12がある量のI/O処理を行っている最中で,負荷の低い,I/O処理を行っていないスレーブCP26があれば,このスレーブCP26にI/O処理を依頼する。
【0029】
▲3▼ マスタCP12およびスレーブCP26が共にI/O処理中であれば,I/O量で分担し,マスタCP12,スレーブCP26でバランシングする。マスタCP12およびスレーブCP26が1台ずつで,1対2の分散率の場合には,マスタCP12が1/3のI/O量を分担し,スレーブCP26が2/3のI/O量を分担する。
【0030】
図2(A)において,例えばプロセッサエレメント10−0がI/O(1),I/O(3)の要求を出し,プロセッサエレメント10−1がI/O(2),I/O(4)の要求を出したとする。前述した負荷アルゴリズムにより,マスタCP12はI/O(2),I/O(4)の要求をスレーブCP26に転送し,2つのコントロールプロセッサで記憶装置31へのI/Oを実行する。
【0031】
これによって,記憶装置31から各コントロールプロセッサへのデータ転送は,図2(B)に示すように行われ,1つのI/O処理に6秒かかったとすると,トータルで12秒となる。従来技術では,図8(B)に示すように24秒かかっていたので,分散化の効果が現れていることが分かる。
【0032】
図3は本発明の実施例によるI/Oの分割並列化を説明する図である。
図3(A)に示すように,マスタCP12がプロセッサエレメント10−0からのI/O要求(read要求)を処理する場合,I/Oの実行単位をいくつかに分割する。例えば,I/O(1)とI/O(2)の2つに分割したとすると,まず,I/O(1)を実行し,そのI/O(1)によって読み取ったデータをプロセッサエレメント10−0に転送している間に,I/O(2)による残りの読み出しを行う。すなわち,記憶装置31からマスタCP12へのデータ入力と,マスタCP12からプロセッサエレメント10−0へのデータ転送とを並列に行う。
【0033】
スレーブCP26がI/Oを実行する場合にも,同様に分割して実行することができる。
このI/O要求の分割は,例えばプロセッサエレメント10−0からのI/O要求パケットが図3(B)のP1のような場合に,分割数が2であるとすると,要求されたデータサイズを1/2にしたパケットP2と,アドレスをデータサイズの1/2だけ進めて,データサイズを1/2にしたパケットP3とを作成することによって,行うことができる。
【0034】
例えば,記憶装置31とマスタCP12間のデータ転送速度が800Mbyte/秒,マスタCP12とプロセッサエレメント10−0間のデータ転送速度が400Mbyte/秒であるとして,I/O要求を2つに分割した場合のタイムチャートは,図3(C)に示すようになる。なお,データ転送以外の時間については,非常に小さいので無視している。I/Oの分割並列化によって,I/O完了までのトータルの時間は,15秒となっている。従来技術では,図8(D)に示すように18秒かかっていたので,分割並列化の効果が現れているのが分かる。
【0035】
この分割並列化を行うか否かは,例えば図3(D)に示す分割並列化コマンドによって指定することができる。コマンド名は“balance”であり,−pは分割並列化の指定である。CP識別番号は,どのコントロールプロセッサに対して本コマンドを適用するかを指定するものである。on/offは分割並列化を行うか否かを表す。分割並列化を行う場合には,分割数を指定することができる。分割数を省略した場合,ディフォルト値は2である。理論的には分割数を増やすと効率がよくなるように思えるが,通信回数などのオーバーヘッドも同時に大きくなるため,そのコストも無視できなくなる。
【0036】
図4は本発明の実施例による全体のI/O処理の流れを示している。
記憶装置31は半導体記憶装置であり,転送速度は比較的大きい。プロセッサエレメントPEは3台である。プロセッサエレメント10−0,10−1,10−2がそれぞれI/O要求(1),I/O要求(2),I/O要求(3)を出したとすると,マスタCP12では,それらの要求をキューイングし,要求順に処理していく。I/O要求の実行では,まずデータの排他制御を行い,各コントロールプロセッサの負荷を考慮して,分散判定処理を行う。
【0037】
この結果,自プロセッサでI/O処理を行う場合には,指定に応じてI/Oの実行単位を分割して,記憶装置31のデータにアクセスする。一方,スレーブCP26でI/O処理を行う場合には,スレーブCP26に処理を依頼する。その後,マスタCP12は,スレーブCP26のI/O完了を待ち合わせる。スレーブCP26では,マスタCP12からのI/O要求を受信すると,指定に応じてI/Oの実行単位を分割して,記憶装置31のデータにアクセスする。I/O処理が完了すると,その処理結果をマスタCP12に通知する。
【0038】
マスタCP12では,自プロセッサによるI/O処理およびスレーブCP26からのI/O処理完了の報告を受けると,I/O要求元のプロセッサエレメントPEにI/O処理完了を通知する。
【0039】
例えば,記憶装置31からデータをreadするI/O要求に対して,そのI/OをスレーブCP26だけで行った場合には,スレーブCP26から直接I/O要求元のプロセッサエレメントPEへreadしたデータを転送する。ただし,スレーブCP26がダウンした場合等のリカバリ処理のために,マスタCP12はスレーブCP26からのI/O処理の完了通知を待っているので,スレーブCP26は,マスタCP12にもI/Oが終了したことを通知する。
【0040】
また,データをreadするI/Oを,マスタCP12とスレーブCP26とが分担して処理する場合には,スレーブCP26が読み出したデータをマスタCP12が集め,それをマスタCP12から自プロセッサが読み出したデータとともに,プロセッサエレメントPEへ転送する。
【0041】
上記処理において,マスタCP12がスレーブCP26にI/Oを依頼した後,スレーブCP26に異常が発生した場合,またはスレーブCP26から所定の時間以上の応答がなく,I/Oの依頼がタイムアウトになった場合,マスタCP12は,スレーブCP26へ依頼したI/Oを自プロセッサが実施し,リカバリ処理を行う。
【0042】
図5はマスタCP12におけるI/O分散化処理フローチャートである。
まず,ステップ51では,I/O要求のキューを調べ,I/O要求があればそれをキューから取り外す。ステップ52では,データの排他制御を行う。このデータの排他制御については,従来から種々の方式が知られているので,ここでは詳しい説明を省略する。
【0043】
ステップ53では,マスタCP12の分散化フラグがonになっているかどうかを判定する。この分散化フラグは,分散化コマンドまたはその他の環境設定手段によりon/offされるシステム運用制御のためのフラグである。マスタCP12の分散化フラグがoffの場合,ステップ55へ進む。
【0044】
マスタCP12の分散化フラグがonの場合,ステップ54では,マスタCP12がI/O処理中であるか否かを判定する。I/O処理中でない場合,I/O実行装置をマスタCP12とする。I/O処理中の場合,次のステップ55へ進む。
【0045】
ステップ55では,スレーブCP26が使用可能かどうかを判定する。故障等によりスレーブCP26が使用できない場合,I/O実行装置をマスタCP12とする。
【0046】
スレーブCP26が使用可能である場合,ステップ56では,スレーブCP26の分散化フラグがonになっているかどうかを判定する。スレーブCP26の分散化フラグがoffであれば,I/O実行装置をマスタCP12とする。なお,通常の運用時には,スレーブCP26の分散化フラグは常時onであることが一般的に望ましいと考えられる。
【0047】
スレーブCP26の分散化フラグがonであれば,ステップ57では,スレーブCP26がI/O処理中であるか否かを判定する。I/O処理中でない場合,I/O実行装置をスレーブCP26とする。I/O処理中の場合,所定の分散率に従ってマスタCP12とスレーブCP26とでI/Oを分担し実行する。この場合,I/O要求の個数ごとに分散させてもよく,また,1つのI/O要求を分割して分散率に応じてマスタCP12とスレーブCP26とが処理を分担するようにしてもよい。
【0048】
図6は,本発明の実施例によるI/O実行装置におけるI/O分割化処理フローチャートである。
マスタCP12またはスレーブCP26においてI/Oを実行する場合,まず図6(A)のステップ61では,指定されたI/O分割数が2以上かどうかを判定する。I/Oの実行単位を分割しない場合,すなわち分割数が1の場合,ステップ63へ進む。
【0049】
分割数が2以上であれば,ステップ62により,指定された分割数になるようにI/O要求の実行単位を分割する。
ステップ63では,現在,記憶装置31に対しI/O発行可能であるかどうかを調べ,発行可能であればステップS64へ進む。発行可能でなければ,発行可能になるのを待つ。
【0050】
ステップ64では,記憶装置31に対して分割したI/O要求のI/Oを発行する。ステップ65の判定により,全I/O発行が終了するまで,ステップ63〜65を繰り返す。
【0051】
以上のI/O発行に対するI/O割込みがあった場合,またはマスタCP12がスレーブCP26からI/Oの処理結果を受信した場合には,図6(B)に示す転送処理を行う。
【0052】
まず,ステップ71では,自コントロールプロセッサ(CP)がマスタCP12かスレーブCP26かを判定し,スレーブCP26であれば,ステップ74へ進む。
【0053】
自CPがマスタCP12であれば,ステップ72により,I/O要求元のプロセッサエレメントPEへI/Oの処理結果を転送可能であるかどうかを判定し,転送可能であれば,ステップ73により,プロセッサエレメントPEへI/O処理結果を転送する。プロセッサエレメントPEへ転送可能でなければ,一旦,割込み元へ復帰し,次の転送契機を待つ。
【0054】
自CPがスレーブCP26の場合,ステップ74により,マスタCP12へI/O処理結果を転送可能であるかどうかを判定し,転送可能であれば,ステップ75により,マスタCP12へI/O処理結果を転送する。マスタCP12へ転送可能でなければ,一旦,割込み元へ復帰し,次の転送契機を待つ。
【0055】
図7は,本発明の一実施例においてI/O分散化と分割並列化を併用したときのタイムチャートを示す。
マスタCP12が1台とスレーブCP26が1台あり,指定されたI/O分割数が2であるとする。また,分散率はマスタ:スレーブ=1:2であるとする。プロセッサエレメントPEからのI/O要求のreadデータは,図7(A)に示すように,マスタCP12およびスレーブCP26によって実行される。すなわち,マスタCP12では,データA,Bのreadが実行され,スレーブCP26では,データC,Dのreadが実行される。
【0056】
時間的な流れは,図7(B)に示すようになる。まず,マスタCP12から記憶装置31へのデータAに関するI/O実行により,記憶装置31からマスタCP12へ時間A1だけデータが転送される。A1の転送が終了すると,マスタCP12はデータBに関するI/Oを実行するとともに,A1で入力したデータAをI/O要求元のプロセッサエレメントPEへ,時間A2をかけて転送する。この間,記憶装置31からマスタCP12へのデータ転送が時間B1の間,並列に実行されることになる。時間A2の後,マスタCP12からプロセッサエレメントPEへ時間B2分のデータ転送が行われる。
【0057】
スレーブCP26においても,データC,Dのそれぞれについて,図7(B)に示すようにデータ転送が行われる。まず,記憶装置31からスレーブCP26へのデータ転送が時間C1,D1のように行われ,スレーブCP26からマスタCP12へのデータ転送が時間C2,D2のように行われ,マスタCP12からプロセッサエレメントPEへ時間C3,D3のように行われる。
【0058】
本実施例において,スレーブCP26のI/O処理に異常があった場合,マスタCP12がそのI/O処理を引き継いでリカバリ処理を行う。マスタCP12に異常があった場合には,他のスレーブCPの1台がマスタCPになって,同様に処理を引き継ぐことができる。
【0059】
【発明の効果】
以上説明したように,本発明によれば,I/Oの分散化,I/Oの分割並列化により,コントロールプロセッサの負荷が分散され,またプロセッサエレメントが要求したI/Oの実行完了までの時間が短縮される。したがって,ジョブのスループット性能,I/Oのピーク性能が向上し,システム全体としてのスピードアップが可能になる。また,スレーブCPのI/O処理に何らかの異常があった場合,マスタCPがリカバリするので,信頼性の維持も可能である。
【図面の簡単な説明】
【図1】本発明の構成例を示す図である。
【図2】本発明の実施例によるI/Oの分散化を説明する図である。
【図3】本発明の実施例によるI/Oの分割並列化を説明する図である。
【図4】本発明の実施例による全体のI/O処理の流れを示す図である。
【図5】マスタCPにおけるI/O分散化処理フローチャートである。
【図6】本発明の実施例によるI/O分割化処理フローチャートである。
【図7】本発明の一実施例においてI/O分散化と分割並列化を併用したときのタイムチャートである。
【図8】従来技術の説明図である。
【符号の説明】
10−0,10−1,… プロセッサエレメント
11 クロスバネットワーク
12 マスタCP
13 入力装置
14 I/O分割指示入力手段
15 I/O分散指示入力手段
16 I/O要求受付け手段
17 分散判定処理手段
18 I/O分割処理手段
19 I/O並列実行手段
20 I/O要求転送手段
21 I/O処理結果受信手段
22 I/O処理完了通知手段
23 異常検出手段
24 分散抑止手段
25 リカバリ処理手段
26 スレーブCP
27 I/O要求受信手段
28 I/O分割処理手段
29 I/O並列実行手段
30 I/O処理結果転送手段
31 記憶装置
[0001]
[Industrial applications]
According to the present invention, in a computer system in which a plurality of processor elements and a control processor are connected by a network, I / O processing from a processor element having no I / O device via a control processor having an I / O device is performed. The present invention relates to a parallel computer system which can be executed at high speed and efficiently.
[0002]
[Prior art]
FIG. 8 is an explanatory diagram of the prior art.
In the parallel computer system shown in FIGS. 8A and 8C, a processor element PE [PE (0), PE (1),...] Is a processor that specializes in operations. The control processor CP is a device that manages the processor element PE, and is connected to an I / O device such as a storage device 80. Further, the control processor CP and each processor element PE are connected by a crossbar network XB.
[0003]
When each processor element PE refers to data stored in the storage device 80, since the storage device 80 is not connected to the processor element PE, an I / O request is issued to a server existing in the control processor CP. The server of the control processor CP that has received the I / O request executes I / O to the storage device 80 and transfers the read data to the requesting processor element PE via the crossbar network XB.
[0004]
[Problems to be solved by the invention]
In FIG. 8, it is assumed that the data transfer speed between the storage device 80 and the control processor CP is 800 Mbyte / sec, and the data transfer speed between the control processor CP and each processor element PE is 400 Mbyte / sec.
[0005]
Conventionally, as shown in FIG. 8A, a processor element PE (0) makes an I / O (1) request and an I / O (2) request, and the processor element PE (1) issues an I / O (2) request. When the request of O (3) and the request of I / O (4) are made in this order, the control processor CP processes these I / O requests one by one. Therefore, if it takes, for example, 6 seconds to transfer data from the storage device 80 to the control processor CP by one I / O process, as shown in FIG. 8B, all data from the storage device 80 to the control processor CP are transferred. In transfer, it took 6 seconds × 4 = 24 seconds.
[0006]
Further, as shown in FIG. 8C, when one read request is issued from the client of the processor element PE and the data transfer from the storage device 80 to the control processor CP takes, for example, 6 seconds, the I / O After the completion of the O processing, the I / O processing to the processor element PE of the I / O request source starts, so that it takes 12 seconds to transfer data from the control processor CP to the processor element PE, and one I / O request It took a total of 18 seconds until the process was completed, as shown in FIG.
[0007]
As described above, the conventional technology has a problem that it takes time to process an I / O request from the processor element PE.
In the control processor CP, various processes such as a process for managing the processor elements PE, a process related to operation, and a process related to a job are performed, and the number of the processor elements PE is, for example, 100 to 200. In such a case, there is a problem that I / O requests are concentrated on one control processor CP, and the load on the control processor CP may be extremely high.
[0008]
SUMMARY OF THE INVENTION It is an object of the present invention to solve the above-mentioned problems, and to speed up I / O processing and reduce the load on a control processor by dispersing I / O processing and parallelizing I / O division. And
[0009]
[Means for Solving the Problems]
FIG. 1 shows a configuration example of the present invention.
Processor elements (PE) 10-0, 10-1,... Are processors that specialize in operations. A plurality of control processors to which an I / O device such as a storage device 31 is connected are provided, one of which is set as a master control processor (hereinafter, referred to as a master CP) 12 and the other is a slave control processor (hereinafter, a master control processor). Hereinafter, this is set as a slave CP) 26.
[0010]
The master CP 12, the slave CP 26, and the processor element PE are connected by a crossbar network (XB) 11.
An operation input device 13 is connected to the master CP 12 for processing related to management and operation of the processor element PE, processing related to jobs, and the like.
[0011]
The I / O division instruction input means 14 is a means for inputting the number of divisions for dividing an I / O request into a plurality of I / O execution units by a command from the input device 13 or the like. The I / O distribution instruction input means 15 is a means for inputting a command or the like from the input device 13 as to whether or not the I / O request is distributed to a plurality of control processors, or what percentage to distribute to each control processor. is there.
[0012]
The I / O request receiving means 16 is a means for receiving an I / O request from each processor element PE. The distribution determination processing unit 17 distributes the execution of the I / O request to a plurality of control processors based on the load status of the master CP 12 and the slave CP 26 and the distribution instruction information from the I / O distribution instruction input unit 15, or This is a means for deciding whether to perform the processing with a specific control processor.
[0013]
The I / O request transfer unit 20 is a unit that transfers the I / O request to the slave CP 26 when the I / O request is executed by the slave CP 26 according to the determination result of the distribution determination processing unit 17. The I / O processing result receiving means 21 is a means for receiving an I / O processing result when the slave CP 26 executes an I / O request.
[0014]
The I / O division processing unit 18 is a unit that divides an I / O request from the processor element PE into a plurality of I / O execution units according to an instruction from the I / O division instruction input unit 14. For the divided I / O execution units, the I / O parallel execution means 19 performs data input / output between the storage device 31 and the master CP 12, and communication between the master CP 12 and the processor element PE of the I / O request source. And data transfer in parallel.
[0015]
The I / O processing completion notifying means 22 sends the I / O processing result executed by the master CP 12, the I / O processing result executed by the slave CP 26, or both I / O processing results to the processor element of the I / O request source. This is a means for notifying the PE.
[0016]
The abnormality detecting unit 23 is a unit that detects an abnormality of the slave CP 26 by a timeout of the requested I / O or a predetermined operation control. The dispersion suppressing unit 24 is a unit that, when the abnormality detecting unit 23 detects an abnormality in the slave CP 26, issues an instruction to the distribution determination processing unit 17 so as not to allow the slave CP 26 to share the execution of the I / O request.
[0017]
The recovery processing means 25 is means for re-executing the I / O request being processed by the slave CP 26 when detecting an abnormality of the slave CP 26 which has been executing the I / O request in a shared manner.
[0018]
The I / O request receiving unit 27 in the slave CP 26 is a unit that receives an I / O request sent from the master CP 12 for dispersing the I / O. The I / O division processing unit 28 is a unit that divides an I / O request from the master CP 12 into a plurality of I / O execution units according to an instruction from the I / O division instruction input unit 14. The I / O parallel execution unit 29 performs, for the divided I / O execution units, data input / output between the storage device 31 and the slave CP 26 and data transfer from the slave CP 26 to the processor element PE or the master CP 12. It is a means to execute in parallel. The I / O processing result transfer unit 30 is a unit that transfers the I / O processing result executed by the slave CP 26 to the master CP 12 or the processor element PE that has issued the I / O request.
[0019]
In FIG. 1, there is one slave CP 26, but two or more slave CPs may exist.
[0020]
[Action]
In the present invention, the number of control processors is increased, and a slave CP 26 is provided in addition to the master CP 12. Then, the I / O requests from the respective processor elements PE are processed by being shared by a plurality of control processors. Here, this is called I / O decentralization.
[0021]
Focusing on data transfer between the storage device 31 and the control processor and between the control processor and the processor element PE, one I / O request issued from the processor element PE is divided into a plurality of I / O requests. This speeds up the total I / O processing. Here, this is referred to as split parallelization of I / O.
[0022]
By distributing the I / O and dividing and parallelizing the I / O as described above, it is possible to distribute the load of the control processor and improve the I / O performance. As a result, the throughput performance of the job and the peak performance of the I / O are improved, and the speed of the entire system can be increased.
[0023]
Since the master CP 12 receives all I / O requests from the processor element PE and distributes the requests to one or a plurality of slave CPs 26, exclusive control of data in the master CP 12 can be easily realized.
[0024]
In addition, if there is an abnormality in the slave CP 26, the distribution of I / O is automatically suppressed, and if the slave CP 26 becomes abnormal while executing I / O, the I / O process is retried in the master CP 12. By doing so, reliability can be improved.
[0025]
【Example】
FIG. 2 is a diagram illustrating I / O decentralization according to an embodiment of the present invention.
As shown in FIG. 2A, the plurality of control processors operate in a master CP 12 and a slave CP 26 separately. Only the master CP 12 receives an I / O request from the processor element PE. The master CP 12 that has received the I / O request from the processor element PE determines whether to perform the I / O processing by itself or to leave the I / O processing to the slave CP 26 according to a predetermined load algorithm.
[0026]
Whether a certain control processor performs I / O decentralization can be designated by an operator by a decentralization command as shown in FIG. The command name is "balance", and -s is a designation of decentralization. The CP identification number specifies to which control processor this command is applied. on / off indicates the start / end of decentralization. In the case of dispersing, for example, the dispersing rate can be specified such that the master CP 12 is 30% and the slave CP 26 is 70%. If the distribution ratio is omitted, a distribution ratio in which the sharing between the master CP 12 and the slave CP 26 is 1: 2 is given as a default value. The load on the master CP 12 is reduced by the default value because the processing load such as the reception of a request from the processor element PE and notification of completion is larger than that of the slave CP 26.
[0027]
The load algorithm used by the distribution determination processing means 17 shown in FIG. 1 when the distribution command is input is as follows.
(1) If the master CP 12 has not performed any I / O processing, the master CP 12 executes I / O. This is because communication cost is required to request the slave CP 26 for processing.
[0028]
{Circle around (2)} While the master CP 12 is performing a certain amount of I / O processing and there is a slave CP 26 with a low load and not performing I / O processing, the slave CP 26 is requested to perform I / O processing. .
[0029]
{Circle around (3)} When both the master CP 12 and the slave CP 26 are performing I / O processing, the I / O amount is shared, and the master CP 12 and the slave CP 26 balance. In the case of one master CP 12 and one slave CP 26 and a dispersion ratio of 1: 2, the master CP 12 shares 1/3 of the I / O amount and the slave CP 26 shares 2/3 of the I / O amount. I do.
[0030]
In FIG. 2A, for example, the processor element 10-0 issues a request for I / O (1) and I / O (3), and the processor element 10-1 issues a request for I / O (2) and I / O (4). ). According to the load algorithm described above, the master CP 12 transfers the I / O (2) and I / O (4) requests to the slave CP 26, and executes I / O to the storage device 31 by two control processors.
[0031]
As a result, the data transfer from the storage device 31 to each control processor is performed as shown in FIG. 2B. If one I / O process takes 6 seconds, the total is 12 seconds. In the prior art, it took 24 seconds as shown in FIG. 8 (B), and it can be seen that the effect of decentralization has appeared.
[0032]
FIG. 3 is a diagram for explaining the parallel division of I / O according to the embodiment of the present invention.
As shown in FIG. 3A, when the master CP 12 processes an I / O request (read request) from the processor element 10-0, the I / O execution unit is divided into several units. For example, if it is divided into two, I / O (1) and I / O (2), first, I / O (1) is executed, and the data read by the I / O (1) is processed by the processor element. While the data is being transferred to 10-0, the remaining data is read by I / O (2). That is, data input from the storage device 31 to the master CP 12 and data transfer from the master CP 12 to the processor element 10-0 are performed in parallel.
[0033]
When the slave CP 26 executes I / O, it can be similarly divided and executed.
This division of the I / O request is performed by, for example, assuming that the number of divisions is 2 when the I / O request packet from the processor element 10-0 is P1 in FIG. Can be performed by creating a packet P2 in which the data size is reduced to 1/2 and a packet P3 in which the address is advanced by 1/2 of the data size and the data size is reduced to 1/2.
[0034]
For example, assuming that the data transfer speed between the storage device 31 and the master CP 12 is 800 Mbytes / sec, and that the data transfer speed between the master CP 12 and the processor element 10-0 is 400 Mbytes / sec, the I / O request is divided into two. Is as shown in FIG. 3 (C). Times other than data transfer are ignored because they are very small. The total time until the completion of the I / O is 15 seconds due to the split parallelization of the I / O. In the prior art, it took 18 seconds as shown in FIG. 8 (D), and it can be seen that the effect of the split parallelization has appeared.
[0035]
Whether or not to perform the split parallelization can be designated by, for example, a split parallelization command shown in FIG. The command name is "balance", and -p is a designation of division parallelization. The CP identification number specifies to which control processor this command is applied. on / off indicates whether or not to perform split parallelization. When performing parallel division, the number of divisions can be specified. If the number of divisions is omitted, the default value is 2. Theoretically, increasing the number of divisions seems to improve efficiency, but the overhead, such as the number of communications, also increases at the same time, so the cost cannot be ignored.
[0036]
FIG. 4 shows the flow of the entire I / O processing according to the embodiment of the present invention.
The storage device 31 is a semiconductor storage device, and has a relatively high transfer speed. There are three processor elements PE. Assuming that the processor elements 10-0, 10-1, and 10-2 have issued I / O requests (1), I / O requests (2), and I / O requests (3), respectively, the master CP 12 Requests are queued and processed in the order of requests. In the execution of an I / O request, first, exclusive control of data is performed, and distribution determination processing is performed in consideration of the load on each control processor.
[0037]
As a result, when the I / O processing is performed by the own processor, the execution unit of the I / O is divided according to the specification and the data in the storage device 31 is accessed. On the other hand, when performing I / O processing in the slave CP 26, the slave CP 26 requests processing. Thereafter, the master CP 12 waits for I / O completion of the slave CP 26. When receiving the I / O request from the master CP 12, the slave CP 26 divides the I / O execution unit according to the designation and accesses the data in the storage device 31. When the I / O processing is completed, the processing result is notified to the master CP 12.
[0038]
Upon receiving the report of the I / O processing by the own processor and the completion of the I / O processing from the slave CP 26, the master CP 12 notifies the I / O requesting processor element PE of the completion of the I / O processing.
[0039]
For example, when an I / O request for reading data from the storage device 31 is performed only by the slave CP 26, the data read directly from the slave CP 26 to the processor element PE that has issued the I / O request. To transfer. However, since the master CP 12 is waiting for the completion notification of the I / O processing from the slave CP 26 for the recovery processing when the slave CP 26 goes down, the slave CP 26 also terminates the I / O to the master CP 12. Notify that.
[0040]
When the I / O for reading data is processed by the master CP 12 and the slave CP 26 in a shared manner, the master CP 12 collects the data read by the slave CP 26, and collects the data read from the master CP 12 by the own processor. At the same time, the data is transferred to the processor element PE.
[0041]
In the above processing, if an abnormality occurs in the slave CP 26 after the master CP 12 requests the slave CP 26 for I / O, or there is no response for more than a predetermined time from the slave CP 26, the I / O request times out. In this case, the master CP 12 performs the I / O requested to the slave CP 26 by its own processor, and performs a recovery process.
[0042]
FIG. 5 is a flowchart of the I / O decentralization process in the master CP 12.
First, at step 51, the I / O request queue is checked, and if there is an I / O request, it is removed from the queue. In step 52, exclusive control of data is performed. Various methods for exclusive control of the data are conventionally known, and a detailed description thereof will be omitted.
[0043]
In step 53, it is determined whether the decentralization flag of the master CP 12 is on. This decentralized flag is a flag for system operation control that is turned on / off by a decentralized command or other environment setting means. When the decentralization flag of the master CP 12 is off, the process proceeds to step 55.
[0044]
When the decentralization flag of the master CP 12 is on, in step 54, it is determined whether or not the master CP 12 is performing I / O processing. When the I / O processing is not being performed, the I / O execution device is set as the master CP 12. When the I / O processing is being performed, the process proceeds to the next step 55.
[0045]
In step 55, it is determined whether the slave CP 26 can be used. If the slave CP 26 cannot be used due to a failure or the like, the I / O execution device is set as the master CP 12.
[0046]
If the slave CP 26 is available, in step 56, it is determined whether the decentralization flag of the slave CP 26 is on. If the decentralization flag of the slave CP 26 is off, the I / O execution device is set as the master CP 12. During normal operation, it is generally considered desirable that the decentralized flag of the slave CP 26 is always on.
[0047]
If the decentralization flag of the slave CP 26 is on, in a step 57, it is determined whether or not the slave CP 26 is performing I / O processing. When the I / O processing is not being performed, the I / O execution device is set as the slave CP 26. During the I / O processing, the master CP 12 and the slave CP 26 share and execute the I / O according to a predetermined distribution ratio. In this case, the I / O requests may be distributed for each number, or one I / O request may be divided so that the master CP 12 and the slave CP 26 share the processing according to the distribution ratio. .
[0048]
FIG. 6 is an I / O division processing flowchart in the I / O execution device according to the embodiment of the present invention.
When executing I / O in the master CP 12 or the slave CP 26, first, in step 61 of FIG. 6A, it is determined whether the designated number of I / O divisions is two or more. If the I / O execution unit is not divided, that is, if the number of divisions is 1, the process proceeds to step 63.
[0049]
If the number of divisions is two or more, at step 62, the execution unit of the I / O request is divided so as to have the designated number of divisions.
In step 63, it is checked whether or not I / O can be issued to the storage device 31 at present. If it is possible, the process proceeds to step S64. If it cannot be issued, it waits until it can be issued.
[0050]
In step 64, I / O of the divided I / O request is issued to the storage device 31. Steps 63 to 65 are repeated until all I / O issuance is completed by the determination in step 65.
[0051]
When there is an I / O interrupt for the above I / O issuance, or when the master CP 12 receives an I / O processing result from the slave CP 26, the transfer processing shown in FIG. 6B is performed.
[0052]
First, in step 71, it is determined whether the own control processor (CP) is the master CP 12 or the slave CP 26.
[0053]
If the own CP is the master CP 12, it is determined in step 72 whether or not the I / O processing result can be transferred to the processor element PE of the I / O request source. The I / O processing result is transferred to the processor element PE. If transfer to the processor element PE is not possible, the process temporarily returns to the interrupt source and waits for the next transfer trigger.
[0054]
If the own CP is the slave CP 26, it is determined in step 74 whether the I / O processing result can be transferred to the master CP 12. If transferable, the I / O processing result is sent to the master CP 12 in step 75. Forward. If transfer to the master CP 12 is not possible, the process temporarily returns to the interrupt source and waits for the next transfer trigger.
[0055]
FIG. 7 is a time chart when the I / O decentralization and the split parallelization are used in one embodiment of the present invention.
It is assumed that there is one master CP 12 and one slave CP 26, and the designated number of I / O divisions is two. It is also assumed that the distribution ratio is master: slave = 1: 2. The read data of the I / O request from the processor element PE is executed by the master CP 12 and the slave CP 26 as shown in FIG. That is, in the master CP 12, the reading of the data A and B is executed, and in the slave CP 26, the reading of the data C and D is executed.
[0056]
The temporal flow is as shown in FIG. First, data is transferred from the storage device 31 to the master CP 12 for the time A1 by executing I / O relating to data A from the master CP 12 to the storage device 31. When the transfer of A1 is completed, the master CP 12 executes I / O relating to the data B, and transfers the data A input at A1 to the processor element PE that has requested the I / O over a time A2. During this time, data transfer from the storage device 31 to the master CP 12 is executed in parallel during the time B1. After the time A2, data transfer for a time B2 from the master CP 12 to the processor element PE is performed.
[0057]
In the slave CP 26 as well, data transfer is performed for each of the data C and D as shown in FIG. First, data transfer from the storage device 31 to the slave CP 26 is performed at time C1, D1, data transfer from the slave CP 26 to the master CP 12 is performed at time C2, D2, and the master CP 12 is transferred to the processor element PE. The operation is performed as at times C3 and D3.
[0058]
In this embodiment, when there is an abnormality in the I / O processing of the slave CP 26, the master CP 12 performs the recovery processing taking over the I / O processing. If there is an abnormality in the master CP 12, one of the other slave CPs becomes the master CP and can similarly take over the processing.
[0059]
【The invention's effect】
As described above, according to the present invention, the load of the control processor is distributed by dispersing the I / O and dividing and parallelizing the I / O, and the execution of the I / O requested by the processor element is completed. Time is reduced. Therefore, the throughput performance of the job and the peak performance of the I / O are improved, and the speed of the entire system can be increased. Further, if there is any abnormality in the I / O processing of the slave CP, the master CP recovers, so that the reliability can be maintained.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of the present invention.
FIG. 2 is a diagram illustrating I / O decentralization according to an embodiment of the present invention.
FIG. 3 is a diagram for explaining I / O division and parallelization according to an embodiment of the present invention.
FIG. 4 is a diagram showing a flow of an entire I / O process according to an embodiment of the present invention.
FIG. 5 is a flowchart of an I / O decentralization process in a master CP.
FIG. 6 is a flowchart of an I / O division process according to an embodiment of the present invention.
FIG. 7 is a time chart when the I / O decentralization and the split parallelization are used together in one embodiment of the present invention.
FIG. 8 is an explanatory diagram of a conventional technique.
[Explanation of symbols]
10-0, 10-1,... Processor element 11 Crossbar network 12 Master CP
13 input device 14 I / O division instruction input means 15 I / O distribution instruction input means 16 I / O request receiving means 17 distribution determination processing means 18 I / O division processing means 19 I / O parallel execution means 20 I / O request Transfer means 21 I / O processing result receiving means 22 I / O processing completion notifying means 23 abnormality detecting means 24 distribution suppressing means 25 recovery processing means 26 slave CP
27 I / O request receiving means 28 I / O division processing means 29 I / O parallel execution means 30 I / O processing result transfer means 31 Storage device

Claims (5)

演算を行う複数のプロセッサエレメントと,前記各プロセッサエレメントからのI/O要求を処理する複数のコントロールプロセッサと,前記プロセッサエレメントと前記コントロールプロセッサとを接続するネットワークと,前記コントロールプロセッサに接続されるI/Oの対象となる記憶装置または入出力装置とを備えた並列型計算機システムにおいて,
前記コントロールプロセッサの中の1台がマスタコントロールプロセッサとなり,
このマスタコントロールプロセッサは,
前記各プロセッサエレメントからのI/O要求を受け付ける手段と,
前記各コントロールプロセッサの負荷状況および所定の分散指示情報に基づいてI/O要求の実行を複数のコントロールプロセッサに分散させるか,または特定のコントロールプロセッサで行うかを決定する分散判定処理手段と,
他のコントロールプロセッサでI/O要求を実行する場合に,I/O要求をそのコントロールプロセッサへ転送するI/O要求転送手段と,
他のコントロールプロセッサでI/O要求を実行した場合に,そのI/O処理結果を受け取るI/O処理結果受信手段と,
自コントロールプロセッサで実行したI/O処理結果もしくは他のコントロールプロセッサで実行したI/O処理結果またはそれらの双方のI/O処理結果をI/O要求元の前記プロセッサエレメントへ通知するI/O処理完了通知手段とを備えた
ことを特徴とする並列型計算機システム。
A plurality of processor elements for performing operations, a plurality of control processors for processing I / O requests from each of the processor elements, a network connecting the processor elements and the control processor, and an I / O connected to the control processor. In a parallel computer system having a storage device or an input / output device targeted for / O,
One of the control processors is a master control processor,
This master control processor
Means for receiving an I / O request from each of the processor elements;
Distribution determination processing means for determining whether to distribute the execution of the I / O request to a plurality of control processors or a specific control processor based on the load status of each control processor and predetermined distribution instruction information;
I / O request transfer means for transferring an I / O request to another control processor when executing the I / O request;
An I / O processing result receiving means for receiving an I / O processing result when another I / O request is executed by another control processor;
I / O for notifying the processor element of an I / O request source of an I / O processing result executed by its own control processor, an I / O processing result executed by another control processor, or both of them. A parallel computer system comprising a processing completion notifying means.
請求項1記載の並列型計算機システムにおいて,
前記I/O要求を複数のコントロールプロセッサに分散するか否か,または各コントロールプロセッサに前記I/O要求を分散する割合を,外部から入力するI/O分散指示入力手段を備えた
ことを特徴とする並列型計算機システム。
The parallel computer system according to claim 1 ,
I / O distribution instruction input means for externally inputting whether to distribute the I / O request to a plurality of control processors or externally input a ratio of distributing the I / O request to each control processor. And a parallel computer system.
請求項1または請求項2記載の並列型計算機システムにおいて,
前記マスタコントロールプロセッサは,
他のコントロールプロセッサの異常を検出する異常検出手段と,
異常が検出された他のコントロールプロセッサにI/O要求の実行を分担させないように抑止する分散抑止手段とを備えた
ことを特徴とする並列型計算機システム。
In the parallel computer system according to claim 1 or 2 ,
The master control processor comprises:
Abnormality detection means for detecting an abnormality of another control processor;
A parallel computer system, comprising: a distribution inhibiting unit that inhibits another control processor in which an abnormality has been detected from sharing execution of an I / O request.
請求項1,請求項2または請求項3記載の並列型計算機システムにおいて,
前記マスタコントロールプロセッサは,
I/O要求を分担して実行していた他のコントロールプロセッサの異常を検出した場合に,このコントロールプロセッサが処理していたI/O要求を再実行するリカバリ処理手段を備えた
ことを特徴とする並列型計算機システム。
In the parallel computer system according to claim 1, claim 2, or claim 3 ,
The master control processor comprises:
When an abnormality is detected in another control processor that has been executing the I / O request in a shared manner, recovery processing means for re-executing the I / O request being processed by the control processor is provided. Parallel computer system.
演算を行う複数のプロセッサエレメントと,前記各プロセッサエレメントからのI/O要求を処理する複数のコントロールプロセッサと,前記プロセッサエレメントと前記コントロールプロセッサとを接続するネットワークと,前記コントロールプロセッサに接続されるI/Oの対象となる記憶装置または入出力装置とを備えた並列型計算機システムにおいて,
前記コントロールプロセッサの中の1台がマスタコントロールプロセッサとなり,
このマスタコントロールプロセッサは,
I/O要求を複数のコントロールプロセッサに分散するか否かを外部から入力するI/O分散指示入力手段と,
I/O要求を複数のI/O実行単位に分割する分割数を,外部から入力するI/O分割指示入力手段と,
前記各プロセッサエレメントからのI/O要求を受け付ける手段と,
前記各コントロールプロセッサの負荷状況および前記I/O分散指示入力手段からの分散指示情報に基づいてI/O要求の実行を複数のコントロールプロセッサに分散させるか,または特定のコントロールプロセッサで行うかを決定する分散判定処理手段と,
他のコントロールプロセッサでI/O要求を実行する場合に,I/O要求をそのコントロールプロセッサへ転送するI/O要求転送手段と,
他のコントロールプロセッサでI/O要求を実行した場合に,そのI/O処理結果を受け取るI/O処理結果受信手段と,
自コントロールプロセッサで実行したI/O処理結果もしくは他のコントロールプロセッサで実行したI/O処理結果またはそれらの双方のI/O処理結果をI/O要求元の前記プロセッサエレメントへ通知するI/O処理完了通知手段と,
前記I/O分割指示入力手段の指示に従い,前記プロセッサエレメントからのI/O要求を,複数のI/O実行単位に分割する処理手段と,
分割された複数のI/O実行単位について,前記記憶装置または入出力装置と前記コントロールプロセッサとの間のデータの入出力と,前記コントロールプロセッサとI/O要求元の前記プロセッサエレメントとの間のデータの転送とを,並列に実行するI/O並列実行手段とを備えた
ことを特徴とする並列型計算機システム。
A plurality of processor elements for performing operations, a plurality of control processors for processing I / O requests from each of the processor elements, a network connecting the processor elements and the control processor, and an I / O connected to the control processor. In a parallel computer system having a storage device or an input / output device targeted for / O,
One of the control processors is a master control processor,
This master control processor
I / O distribution instruction input means for externally inputting whether to distribute an I / O request to a plurality of control processors,
I / O division instruction input means for externally inputting a division number for dividing an I / O request into a plurality of I / O execution units;
Means for receiving an I / O request from each of the processor elements;
Based on the load status of each control processor and the distribution instruction information from the I / O distribution instruction input means, it is determined whether the execution of the I / O request is distributed to a plurality of control processors or performed by a specific control processor. Dispersion determination processing means
I / O request transfer means for transferring an I / O request to another control processor when executing the I / O request;
An I / O processing result receiving means for receiving an I / O processing result when another I / O request is executed by another control processor;
I / O for notifying the processor element of an I / O request source of an I / O processing result executed by its own control processor, an I / O processing result executed by another control processor, or both of them. Processing completion notification means,
Processing means for dividing an I / O request from the processor element into a plurality of I / O execution units in accordance with an instruction from the I / O division instruction input means;
For a plurality of divided I / O execution units, input / output of data between the storage device or the input / output device and the control processor, and communication between the control processor and the processor element of an I / O request source I / O parallel execution means for executing data transfer in parallel.
JP07494195A 1995-03-31 1995-03-31 Parallel computer system Expired - Fee Related JP3569341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07494195A JP3569341B2 (en) 1995-03-31 1995-03-31 Parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07494195A JP3569341B2 (en) 1995-03-31 1995-03-31 Parallel computer system

Publications (2)

Publication Number Publication Date
JPH08272729A JPH08272729A (en) 1996-10-18
JP3569341B2 true JP3569341B2 (en) 2004-09-22

Family

ID=13561884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07494195A Expired - Fee Related JP3569341B2 (en) 1995-03-31 1995-03-31 Parallel computer system

Country Status (1)

Country Link
JP (1) JP3569341B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5038589B2 (en) 2004-10-04 2012-10-03 株式会社日立製作所 Disk array device and load balancing method thereof
JP6503945B2 (en) * 2015-07-13 2019-04-24 富士通株式会社 INFORMATION PROCESSING APPARATUS, PARALLEL COMPUTER SYSTEM, FILE SERVER COMMUNICATION PROGRAM, AND FILE SERVER COMMUNICATION METHOD

Also Published As

Publication number Publication date
JPH08272729A (en) 1996-10-18

Similar Documents

Publication Publication Date Title
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US5924097A (en) Balanced input/output task management for use in multiprocessor transaction processing system
US7401154B2 (en) Pipelined high speed data transfer mechanism
US6044415A (en) System for transferring I/O data between an I/O device and an application program's memory in accordance with a request directly over a virtual connection
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
EP2618257B1 (en) Scalable sockets
US6012121A (en) Apparatus for flexible control of interrupts in multiprocessor systems
US6256660B1 (en) Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
JP3569341B2 (en) Parallel computer system
EP1218823A1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
JPH09282288A (en) Plural-computer operation system
JPH11175485A (en) Distributed system and prallel operation control method
JPH07334468A (en) Load distribution system
JPH09179834A (en) Scheduling method of parallel system for process
JPS63211060A (en) Load distribution control system for multiprocessor system
JPS6125181B2 (en)
CN115774521A (en) Data migration method, system, device and storage medium of PCIE SSD
Barman et al. Dynamic load balancing algorithm in homogeneously distributed systems using donor-acceptor policy
JPH09259091A (en) Host load decentralization system for transaction processing
JP3785741B2 (en) Remote file input / output method
JPH05165700A (en) File server
JPH09319708A (en) On-line control process substitution system
JPH03246740A (en) Communication bus managing system in network
JPH04274524A (en) System for controlling inter-process communication
JPH05216792A (en) System for controlling service request between processors

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040618

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees