JPH09120387A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH09120387A
JPH09120387A JP7275591A JP27559195A JPH09120387A JP H09120387 A JPH09120387 A JP H09120387A JP 7275591 A JP7275591 A JP 7275591A JP 27559195 A JP27559195 A JP 27559195A JP H09120387 A JPH09120387 A JP H09120387A
Authority
JP
Japan
Prior art keywords
data
node
nodes
communication path
job
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.)
Granted
Application number
JP7275591A
Other languages
English (en)
Other versions
JP3461636B2 (ja
Inventor
Etsuo Sugiyama
悦男 杉山
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 JP27559195A priority Critical patent/JP3461636B2/ja
Priority to US08/728,853 priority patent/US6178459B1/en
Publication of JPH09120387A publication Critical patent/JPH09120387A/ja
Application granted granted Critical
Publication of JP3461636B2 publication Critical patent/JP3461636B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 エクセルバッチを利用して大量のデータを並
列に処理する場合に、データの送受信待ちによりデッド
ロックが発生するパターンを業務の実行前に検出するこ
とが可能なデータ処理装置を提供することを目的とす
る。 【解決手段】 データ送信用ノードとデータ受信用ノー
ドとを対応付けるために、各ノード間を直接結ぶ直接の
通信経路の数を要素とするマトリクスを形成する通信経
路マトリクス形成手段1と、通信経路マトリクス形成手
段1により形成されるマトリクスをもとに所定の演算を
行い、あるノードと他のノードとの間に存在する全ての
通信経路のパターン数を算出する通信経路パターン数演
算手段2と、通信経路パターン数演算手段2により算出
される通信経路のパターン数が予め定められた値以上と
なるノード間を、デッドロック発生パターンとして検出
する特定ノード間検出手段3とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、金融業、流通業お
よびサービス業等の分野において、データ網内の任意の
ノード間を一方向にデータが流れるようなバッチ処理方
式により大量のデータを効率良く処理するためのデータ
処理装置に関する。近年、業務の拡大やEDP(電子デ
ータ処理)システム化の推進等によって、メインフレー
ムシステムが処理するデータ量は急増しており、このよ
うな大量のデータを処理するバッチ業務のための時間も
大幅に増大している。
【0002】また一方で、金融業、流通業およびサービ
ス業等の分野では、オンライン業務時間が延長される傾
向が顕著になっている。このために、オンライン業務終
了後に実施する夜間バッチ処理の終了時間が深夜または
翌日の早朝となり、運用コストの増大ばかりでなく、翌
日のオンライン業務への影響が懸念されている。それゆ
えに、バッチ処理の高速化が急務となってきた。このよ
うな事態に対処するために開発された機能が並列バッ
チ、すなわち、エクセルバッチである。
【0003】本発明は、汎用機におけるバッチ業務の処
理時間を短縮する機能に相当するエクセルバッチを利用
するときに発生し易いデータの送受信待ちの状態に相当
するデッドロックの発生を前もって検出するための一方
策について言及するものである。
【0004】
【従来の技術】ここで、バッチ業務の処理時間を短縮す
るためのエクセルバッチの機能を明確にするために、従
来のデータ処理方式においてエクセルバッチが使用され
るようになった背景を簡単に説明することとする。通常
の定型のバッチ処理では、一つの業務を複数のジョブや
ジョブステップに分割し、この分割されたジョブ間やジ
ョブステップ間を一時的データセットによりつないでい
く形態が一般的になっている。そして、各ジョブあるい
は各ジョブステップは逐次的に処理される。この点に着
目して、バッチ処理の高速化を実現するものがエクセル
バッチである。このエクセルバッチは、一時的データセ
ットに対するデータのアクセスを介して、従来逐次的に
実行されていたジョブやジョブステップを並列に動作さ
せる。
【0005】また一方で、ジョブ間やジョブステップ間
の引き継ぎデータはシステム記憶を利用するため、DA
SD(ダイレクト・アクセス記憶装置)に対しネックと
なるI/Oの問題を解消することができる。従来のエク
セルバッチを利用しないバッチ処理では、先行のジョブ
やジョブステップが一時的データセット(すなわち、中
間データセット)に全てのデータを出力した後でなけれ
ば、後続のジョブやジョブステップはデータを入力する
ことができなかった。このため、各ジョブや各ジョブス
テップは逐次的に実行され、多くの経過時間(実行時
間)を必要とした。さらに、引き継ぎデータは、DAS
DやMT(磁気テープ)等を経由して転送されるため
に、多くの入出力時間を要していた。
【0006】これに対し、エクセルバッチでは、先行の
ジョブやジョブステップと後続のジョブやジョブステッ
プとを並列に実行させ、システム記憶上の複数のパイプ
データセットを使用してジョブ間やジョブステップ間で
のデータの出力や入力を行うことが可能になる。このよ
うなエクセルバッチを利用することにより、ジョブやジ
ョブステップの並列実行による経過時間(実行時間)の
短縮、および、システム記憶経由でのデータの引き継ぎ
による入出力時間の短縮が図れるので、バッチ処理の経
過時間を大幅に短縮することが可能になる。
【0007】上記のエクセルバッチは、バッチ処理の高
速化が重要課題となっていたビジネス分野(金融業、製
造業、保険業、流通業、サービス業、証券関係、および
公共事業等)を対象としており、中規模〜大規模システ
ムでのバッチの定型業務に適用することで効果を発揮す
る。エクセルバッチを利用しても、従来のデータ管理の
アクセス法(QSAMおよびBSAM)を用いている高
級言語(COBOL、またはPL/I)により作成され
たプログラムの変更は不要である。ただし、JCL(ジ
ョブ制御文)に関しては若干の変更が必要となる。この
理由として、ジョブの並列実行が新しい概念であること
が挙げられる。また、エクセルバッチは、ソートマージ
の入出力ファイルにも適用可能である。
【0008】さらに、エクセルバッチにおいては、並列
に実行するジョブ間やジョブステップ間でのデータの受
け渡しに使用するシステム記憶上のデータセットとし
て、上記のパイプデータセットが使用される。先行のジ
ョブやジョブステップが出力したデータは、直ちにパイ
プデータセットを経由して後続のジョブやジョブステッ
プに渡される。後続のジョブやジョブステップにデータ
が渡されると、パイプデータセット内のデータは削除さ
れる。このように、パイプデータセットは、データの一
時的な滞留場所(記憶場所)として利用されるため、引
き継ぎデータが大量であっても、システム記憶上のわず
かな領域のみでデータ処理が可能であり、システム記憶
の有効利用が図れる。
【0009】換言すれば、エクセルバッチとは、バッチ
業務における先行のジョブやジョブステップと後続のジ
ョブやジョブステップとの間で引き継ぐデータをシステ
ム記憶上のパイプデータセット内に一時的に滞留させ、
その間のデータの送受信をレコード単位またはブロック
単位で行い、これらのデータを並列に動作させることに
より、処理時間を大幅に節減する機能を指している。
【0010】従来は、上記のエクセルバッチを使用して
バッチ処理が行えるようなデータ処理方式を採用するこ
とによって、バッチ処理の経過時間を大幅に短縮するこ
とができるようになった。
【0011】
【発明が解決しようとする課題】ここで、注意すべきこ
とは、上記のようなエクセルバッチの機能においては、
複数のパイプデータセットの各々は一定の容量をもって
いることである。したがって、各パイプデータセットが
上記容量を越えた場合は、データの書き込み側と読み込
み側でタイミングが異なるため、データが滞留し、当該
パイプデータセットへの送信要求において待ちが発生す
ることになる。
【0012】このような特徴を有するエクセルバッチの
機能を従来のデータ処理方式に適用することにより、逐
次的に実行されていたジョブステップが並列に動作する
ことになるため、アプリケーションプログラムの論理に
よっては、データの送受信待ちの状態になり、いわゆる
デッドロックが発生するおそれが生ずる。エクセルバッ
チの機能を利用した従来のデータ処理方式においてデッ
ドロックが発生するという問題点を明確にするために、
図10に示す模式図を参照しながらデッドロックが発生
するパターンを説明することとする。なお、ここでは、
説明を簡単にするために、2つのジョブステップと、2
つのパイプデータセット(時と場合に応じて、パイプと
略記することもある)により構成されるジョブを例示す
る。
【0013】図10において、第1のパイプデータセッ
トPDA、および第1のパイプデータセットPDB(図
10では、それぞれ、パイプAおよびパイプBと称す
る)の各々は、2回分のデータ容量しかないものと仮定
する。さらに、図10において、第1のジョブステップ
J1が、パイプAに対し3回のデータ送信を行った後、
パイプBに対しても3回のデータ送信を行うとする。ま
た一方で、第2のジョブステップJ2が、パイプAおよ
びパイプBから交互に3回のデータ受信を行うとする。
【0014】第1のジョブステップJ1は、パイプAに
対する3回目のデータ送信時に送信待ちが発生する。ま
た一方で、第2のジョブステップJ2は、パイプBに対
する1回目のデータ受信時に受信待ちが発生する。すな
わち、この場合、すべてのジョブステップが送受信待ち
の状態になるので、バッチ処理が途切れ、デッドロック
が発生する。一旦、デッドロックの状態になると、この
状態は解除されることがない このため、業務開始後、数時間以上経過して初めてデッ
ドロックが発生したことを認識するという事態が起こり
得る。この結果、エクセルバッチの機能を有効に利用す
ることができなくなるという不都合が生ずる。
【0015】このようなデータの送受信待ちによるデッ
ドロックが発生する可能性のあるパターンは、あるジョ
ブステップから別のジョブステップへパイプを経由して
データが流れる経路が2つ以上あるパターンであると考
えられる。本発明は上記問題点に鑑みてなされたもので
あり、エクセルバッチの機能を利用して大量のデータを
並列に処理する場合に、データの送受信待ちによりデッ
ドロックが発生するパターンを前もって検出することが
可能なデータ処理装置を提供することを目的とするもの
である。
【0016】
【課題を解決するための手段】図1は、本発明の原理構
成を示すブロック図である。本発明は、複数のノード#
1、…#K、…#M、…#N(K、MおよびNは正の整
数、1≦K(またはM)≦N)からなるデータ網5内の
任意のノード間を一方向にデータを送信する通信路C
1、…Ck、…Cm、…Cn(k、mおよびnは正の整
数、1≦k(またはm)≦n)を介してデータが流れる
ようにデータ処理が行われるデータ処理装置を対象とす
る。
【0017】上記問題点を解決するために、本発明のデ
ータ処理装置は、図1に示すように、データを送るノー
ドとデータを受けるノードとを対応付けるために、通信
路を含み、かつ、各ノード間を直接結ぶ直接の通信経路
の数を要素とするマトリクスを形成する通信経路マトリ
クス形成手段1と、この通信経路マトリクス形成手段1
により形成されるマトリクスをもとに所定の演算を行
い、ある一つのノードと他のノードとの間に存在する全
ての通信経路のパターン数を算出する通信経路パターン
数演算手段2と、この通信経路パターン数演算手段2に
より算出される通信経路のパターン数が予め定められた
値以上(例えば、2以上)となるノード間を特定のノー
ド間として検出する特定ノード間検出手段3とを備えて
いる。
【0018】さらに、本発明のデータ処理装置は、特定
ノード間検出手段3により検出された特定のノード間に
対しデータの送受信待ちの状態になる旨の警告メッセー
ジを出力するように構成される。このような警告メッセ
ージは、例えば、警告メッセージ生成手段2により生成
される。好ましくは、上記の通信経路パターン数演算手
段2は、直接の通信経路が存在するノードに関し、当該
ノードから他の任意のノードに対し直接または間接の通
信経路が存在するものについては、この通信経路の数を
上記マトリクス内の対応する要素に加算することによ
り、各ノード間に存在する全ての通信経路のパターン数
を算出するようになっている。
【0019】さらに、好ましくは、データ網5にジョブ
制御文が入力されて並列バッチ処理によりデータが処理
される場合、このジョブ制御文中の複数のジョブステッ
プの各々を上記ノードに対応させ、データの一時的な記
憶場所であるパイプデータセットを上記通信路に対応さ
せることにより、エクセルバッチの機能を有するデータ
処理装置が構成される。
【0020】
【発明の実施の形態】本発明のデータ処理装置によれ
ば、ジョブ制御文中の複数のジョブステップの各々をノ
ードとして認識させ、データの一時的な記憶場所である
パイプデータセットを通信路として認識させることによ
り、通信経路マトリクス形成手段1および通信経路パタ
ーン数演算手段2において、データ網5内の任意のノー
ドから他の任意のノードへの通信経路のパターン数を以
下のような手法により算出する。
【0021】まず、外部要因(ジョブ制御文等)が与え
られたときに、データを送るノードとデータを受けるノ
ードとの間の直接の通信路の関係に基づき、下記の数1
に示すdijを要素とするマトリクスDを作成する。
【0022】
【数1】
【0023】さらに、マトリクスEの要素eijを構成す
る関数f(i)は、図2のフローチャートに示すよう
に、要素eijの値、すなわち、各ノード間に存在する全
ての通信経路のパターン数を算出する機能を有してい
る。図2のフローチャートを参照しながら、上記の関数
f(i){f(j)}により通信経路のパターン数が決
定される手順を説明する。
【0024】まず、図2のステップS1に示すように、
各ノード#1〜#Nにおいて、直接の通信経路が存在す
る他のノードを求め、対応する要素dijの値を1にす
る。次に、ステップS2において、要素dijのマトリク
スDに基づき、eijを要素とするマトリクスEを作成す
る。さらに、直接の通信経路が存在する他のノードの各
々(ステップS3のdij≧1の条件を満たすノード)に
関し、そのノードから別のノードに対し直接または間接
の通信経路が存在する否かを調べる。直接または間接の
通信経路が存在するものについては、関数f(j)(ス
テップS4)を用いて、その通信経路の数をマトリクス
Eの対応する要素eijにインクリメント(加算)する
(ステップS2)。
【0025】既述したとおり、データの送受信待ちによ
るデッドロックが発生する可能性のあるパターンは、あ
るノードから別のノードへ通信路を経由してデータが流
れる経路が2つ以上あるパターンであると考えられる。
したがって、マトリクスEの各要素eijを調べ、2以上
の値をもつものを検出することにより、デッドロックの
可能性がある特定のノード間を容易に認識することが可
能になる。
【0026】ついで、本発明のデータ処理装置による実
施の形態を明確にするために、より具体的なデータ網の
モデルを用いてデッドロックの可能性があるノード間を
検出するための詳細な手順を説明することとする。図3
は、本発明の実施の形態を説明するためのデータ網のモ
デルの一例を示す図である。ここでは、6つのノード
(ノード#1〜#6)を含むデータ網5のモデルから、
任意のノードから他の任意のノードへデータが流れる通
信経路のパターン数を算出する場合を代表して説明す
る。さらに、ここでは、説明を簡単にするために、各ノ
ード間の通信路は省略することとする。
【0027】図3のデータ網5のモデルにおいて、ジョ
ブ制御文等の外部要因が与えられたときに、各ノード#
1〜#6に関し、以下の数2に示す手順 (1)〜(9) に従
い、データを送る送信ノードとデータを受ける受信ノー
ドとの間の直接の通信経路が存在する他のノードを求
め、下記の表1に示すようなマトリクスDを作成する。
【0028】
【数2】
【0029】
【表1】
【0030】次に、表1のマトリクスDをもとに、以下
の数3に示す手順 (a)〜(n) に従い、直接の通信経路が
存在するノードから別のノードに対し直接または間接の
通信経路が存在するものについては、その通信経路の数
をマトリクスEの対応する要素eijにインクリメントす
ることにより、下記の表2に示すようなマトリクスEを
作成する。さらに、手順 (a)〜(n) と要素eijとの対応
付けを行うために、下記の表3において、数3の各手順
と一致した記号( (a)〜(n) )をマトリクスE内に書き
込んでいる。
【0031】
【数3】
【0032】
【表2】
【0033】
【表3】
【0034】このようにして作成されたマトリクスEの
各要素eijの値が、各プロセス間(各ノード間)をデー
タが流れるルート数、すなわち、通信経路のパターン数
を表している。本発明によれば、マトリクスEの各要素
の数を求めることにより、データ網内の任意のノードか
ら他の任意のノードへデータが流れる全ての通信経路の
パターン数を算出することができる。さらに、マトリク
スEから、通信経路のパターン数が2以上の値をもつも
のを検出することにより、デッドロックの可能性がある
パターンを容易に認識することができる。
【0035】この結果、従来は、業務開始後、数時間以
上経過して漸くデッドロックが発生したことを認識して
いたのに対し、本発明を利用することにより、業務の開
始前にデッドロックの発生パターンを検出することが可
能になる。さらに、本発明をバッチ業務に応用すること
により、エクセルバッチのようなネットワーク内で並列
に動作するプロセス間のデータの送受信で発生するデッ
ドロックの可能性を、ネットワーク内の動作前に認識す
ることが可能になる。
【0036】
【実施例】以下、添付図面(図4〜図9)を参照しなが
ら本発明の好適な実施例について説明する。図4は本発
明の一実施例の構成を示すブロック図である。ただし、
ここでは、CPU(中央処理装置)やMPU(マイクロ
プロサッサユニット)を備えたコンピュータシステムに
よって本発明のデータ処理装置を構成する場合を代表し
て示す。なお、これ以降、前述した構成要素と同様のも
のについては、同一の参照番号を付して表すこととす
る。
【0037】図4においては、前述のデータ網5(例え
ば、図1)として、ジョブ制御文(JCL)が入力され
たときに並列バッチ処理によりデータが流れるようなデ
ータ網パターン50を想定している。このデータ網パタ
ーン50では、ジョブ制御文中の複数のジョブステップ
の各々をノードとして認識し、データの一時的な記憶場
所であるパイプデータセットを、各ノード間の通信路と
して認識する。
【0038】さらに、図4においては、前述の図1の通
信経路マトリクス形成手段1および通信経路パターン数
演算手段2として、通信経路解析部10が設けられてい
る。この通信経路解析部10は、CPUまたはMPUに
より実現される。さらに、通信経路解析部10を含むコ
ンピュータシステムにおいては、RAM等からなる隣接
経路記憶部11および全経路パターン領域記憶部12が
設けられている。これらの隣接経路記憶部11および全
経路パターン領域記憶部12を構成するRAMとして、
CPUまたはMPUに内蔵のRAMを用いることも可能
である。
【0039】さらに詳しく説明すると、隣接経路記憶部
11は、隣接するノード間を直接結ぶ直接の通信経路の
数を要素として作成されたマトリクスDの内容を記憶す
るものである。また一方で、全経路パターン領域記憶部
12は、任意のノードと他の任意のノードとの間に存在
する直接または間接の通信経路、すなわち、各ノード間
に存在する全ての通信経路のパターン数を要素として作
成されたマトリクスEの内容を記憶するものである。
【0040】さらに、図4においては、前述の図1の警
告メッセージ生成手段4として、警告メッセージ生成部
40が設けられている。この警告メッセージ生成部40
は、通信経路解析部10内での解析結果によって2つ以
上の通信経路が存在するノード間のパターンが検出され
たときに、当該ノード間に対しデッドロック発生の可能
性がある旨の警告メッセージを出力するものである。
【0041】さらに、図4においては、CPUまたはM
PUにより実現される制御部6が設けられている。この
制御部6は、警告メッセージ生成部40からの警告メッ
セージをもとに、データ網パターン50内をデータが流
れる前(業務開始前)に、デッドロック発生の可能性が
あるノード間をコンピュータシステムに認識させるもの
である。
【0042】上記実施例においては、プロセスを実行す
る前にデッドロックの発生パターンを容易に検出するこ
とができるので、バッチ業務の処理時間を短縮する機能
に相当するエクセルバッチを利用して並列にデータ処理
を行う場合に発生し易いデッドロックの発生を業務開始
前に認識することが可能になる。ついで、エクセルバッ
チの機能を利用したバッチ処理方式と本発明のデータ処
理装置との関係をより明確にするために、図5〜図7を
参照しながら、具体的なバッチ業務(ジョブ)に対しエ
クセルバッチを使用しない場合とエクセルバッチを使用
した場合とのデータ処理の流れの違いを詳しく説明する
こととする。
【0043】図5は、本発明のデータ処理装置とエクセ
ルバッチとの関係を説明するために使用されるデータ処
理のバッチの一例を示すデータ流れ図、図6は、図5の
ジョブに対しエクセルバッチ以外の機能を使用した場合
のデータ処理の流れの様子を示すデータ流れ図、およ
び、図7は、図5のジョブに対しエクセルバッチを使用
した場合のデータ処理の流れの様子を示すデータ流れ図
である。
【0044】ここでは、図5に示すように、3つのジョ
ブステップと、2つのデータセット(すなわち、一時的
データセット)により構成されるジョブを代表例として
データ処理の流れを説明する。図5に示すジョブにおい
ては、第1のジョブステップJ1が、第1のデータセッ
トDS1および第3のデータセットDS3へデータを書
き込む。さらに、第2のジョブステップJ2が、第1の
データセットDS1よりデータを読み込むと共に、第2
のデータセットDS2へデータを書き込む。さらに、第
3のジョブステップJ3が、第2のデータセットDS2
および第3のデータセットDS3よりデータを読み込
む。このような第1〜第3のジョブステップの各プロセ
スを実行することにより、バッチ業務が遂行される。
【0045】上記の図5に示したジョブを、エクセルバ
ッチを使用せずに通常の一時的データセット(第1〜第
3のデータセット)を使用して各プロセスを実行する
と、図6に示すようなデータ処理の流れになる。図6の
ような通常の一時的データセットを使用した場合、前の
ジョブステップで一時的データセットを作り上げない
と、次のジョブステップは動作不可能である。
【0046】このため、第1〜第3のジョブステップで
は逐次的にしかデータ処理を実行することができないの
で、ジョブ全体の実行時間は、第1のジョブステップJ
1、第2のジョブステップJ2、および第3のジョブス
テップJ3の各々の実行時間を加えたものになる。これ
に対し、エクセルバッチを使用した場合、一時的データ
セットの代わりにパイプデータセットを使用することが
できるので、図7に示すようなデータ処理の流れにな
る。
【0047】図7においては、第1のジョブステップJ
1が第1のパイプデータセットPD1に対しデータの書
き込みを開始すると、直ちに第2のジョブステップJ2
で当該データを受け取ることができる。他のジョブステ
ップ間の第2のパイプデータセットPD2および第3の
パイプデータセットPD3も、上記の第1のパイプデー
タセットPD1と同じ動作をする。このため、第1〜第
3のジョブステップは同時に実行することが可能にな
り、ジョブ全体の実行時間が大幅に短縮される。
【0048】すなわち、エクセルバッチを使用して複数
のジョブステップを並列に実行する場合、パイプデータ
セット等のメモリを介してジョブステップ間のデータ受
け渡しをレコード単位またはブロック単位で行うことが
できるので、ジョブ全体の実行時間が大幅に短縮される
ことになる。さらに、図8および図9を参照しながら、
エクセルバッチを使用したジョブに対し本発明のデータ
処理装置を適用した場合のデータ受け渡し機構を説明す
ることとする。
【0049】図8は、本発明のデータ処理装置をエクセ
ルバッチに適用した場合のジョブステップ間のデータ受
け渡し機構の一例を示すブロック図であり、図9は、本
発明のデータ処理装置によりパラレルグループ実行前に
デッドロック発生パターンを検出する様子を示すブロッ
ク図である。図8においては、第1〜第3のジョブステ
ップJ1、J2およびJ3と、複数のデータd1、d
2、…dnを一時的に記憶するための一つのパイプデー
タセット(第1のパイプデータセット)PD1により構
成されるジョブの例が示されている。ここでは、説明を
簡単にするために、単一のパイプデータセットを介して
データの受け渡しが行われると仮定する。図8に示すジ
ョブをデータ網パターン50として認識した場合のデー
タ受け渡しの仕組みは、以下の〜のようになる。
【0050】第1〜第3のジョブステップJ1、J2
およびJ3の中で、初めてのオープン(OPEN)時に
メモリ内にパイプデータセットの環境を獲得する。他の
オープン時にはパイプデータセットのアクセス環境を整
える。 パイプデータセットからのデータを読み込むためのジ
ョブステップが先にオープンになり、データの読み込み
を開始したが、書き込み側がまだ動作していなかった
り、データの書き込みを開始していない場合には、上記
読み込みの処理に際し、書き込み側よりデータが発生す
るのを待つ。
【0051】書き込み側では、データd1、データd
2、…データd(n−1)、およびデータdnの順にパ
イプデータセット内にデータを書き込む(PUT)。こ
のようにして書き込まれたデータは、パイプデータセッ
トの中に一時的に蓄積される。 読み込み側では、データが書き込まれると同時に読み
込みが可能となり、データd1、データd2、…データ
d(n−1)、およびデータdnの順にデータを読み込
む。すべての読み込み側には、上記のデータと同じデー
タが渡される(GET)。すべての読み込み側で上記デ
ータが読み込まれると、そのデータを蓄積したパイプデ
ータセットから解放される。
【0052】パイプデータセットが蓄積データで一杯
になると、読み込み側がデータを読み込み、パイプデー
タセットに空きが生ずるまで待つ(CLOSE)。ま
た、読み込み時にパイプデータセット内にデータがない
と、書き込み側よりデータが書き込まれるまで待つ(C
LOSE)。 以上の〜の手順により、書き込み側および読み込
み側のいずれにおいても、複数のジョブステップを非同
期にかつ並列に実行することが可能になる。
【0053】さらに、図8のデータ網パターン50にお
いては、前述の図4の実施例と同じ構成のデータ処理装
置が設けられている。なお、ここでは、このデータ処理
装置の再度の説明は省略することとする。このようなデ
ータ処理装置を設けることにより、後述の図9のように
パイプデータセットが複数個存在する場合でも、並列に
実行すべき複数のジョブステップからなるジョブステッ
プ群(すなわち、パラレルグループ)を実行する前にデ
ッドロック発生パターンを検出することが可能になる。
【0054】図9においては、第1のジョブステップJ
1、および第2のジョブステップJ2と、複数のデータ
A1、A2およびA3を一時的に記憶する第1のパイプ
データセットPDAと、複数のデータB1、B2および
B3を一時的に記憶する第2のパイプデータセットPD
B(図9では、第1のパイプデータセットPDA、およ
び第2のパイプデータセットPDBを、それぞれ、パイ
プAおよびパイプBと称する)により構成されるジョブ
の例が示されている。
【0055】さらに、図9においては、第1のジョブス
テップJ1と第2のジョブステップJ2のデータ読み込
みおよびデータ書き込みは、並列に実行される。しか
し、これらのデータ読み込みおよびデータ書き込みの動
作を並列に実行すると、既述のとおり、データの送受信
待ちによるデッドロックが発生するおそれがある。従来
は、デッドロックが発生すると、システムで指定した待
ち時間が経過してから、長時間待ち(WAIT)が生じ
た旨のコードで業務が終了していた。
【0056】例えば、従来のデータ処理方式では、パラ
レルグループ実行を開始してから数時間後にデッドロッ
クが発生した場合、数時間以上が経過しなければデッド
ロックの発生を認識することができなかった。これに対
し、例えば、本発明の実施例(図4)によるデータ処理
装置をシステムに設けた場合、ジョブを実行する前にデ
ッドロックの発生パターンを検出することができるの
で、ジョブ実行前に該当部分のチェックを行うことが可
能になる。
【0057】
【発明の効果】以上説明したように、本発明のデータ処
理装置によれば、第1に、任意のノードと他の任意のノ
ードとの間に存在する全ての通信経路のパターン数を算
出し、通信経路のパターン数が例えば2以上となるノー
ド間を検出することによって、データの送受信待ちによ
りデッドロックが発生するパターンを、プロセスの実行
開始前にチェックすることが可能になる。
【0058】さらに、本発明のデータ処理装置によれ
ば、第2に、各ノード間を直接結ぶ直接の通信経路の数
を要素とするマトリクスを形成し、さらに、直接の通信
経路が存在するノードに関し、当該ノードから他の任意
のノードに対し直接または間接の通信経路の数をマトリ
クス内の対応する要素に加算することによって、全ての
通信経路のパターン数を算出することができるので、簡
単なアルゴリズムでもってデッドロック発生パターンを
検出することが可能になる。
【0059】さらにまた、本発明のデータ処理装置によ
れば、第3に、データ網にジョブ制御文が入力されて並
列バッチ(エクセルバッチ)によりデータが並列に処理
される場合、各プロセス間のデッドロック発生パターン
を、プロセス実行前に検出することが可能になる。
【図面の簡単な説明】
【図1】本発明の原理構成を示すブロック図である。
【図2】図1の主要部の動作を説明するためのフローチ
ャートである。
【図3】本発明の実施の形態を説明するためのデータ網
のモデルの一例を示す図である。
【図4】本発明の一実施例の構成を示すブロック図であ
る。
【図5】本発明のデータ処理装置とエクセルバッチとの
関係を説明するために使用されるデータ処理のバッチの
一例を示すデータ流れ図である。
【図6】図5のジョブに対しエクセルバッチ以外の機能
を使用した場合のデータ処理の流れの様子を示すデータ
流れ図である。
【図7】図5のジョブに対しエクセルバッチを使用した
場合のデータ処理の流れの様子を示すデータ流れ図であ
る。
【図8】本発明のデータ処理装置をエクセルバッチに適
用した場合のジョブステップ間のデータ受け渡し機構の
一例を示すブロック図である。
【図9】本発明のデータ処理装置によりパラレルグルー
プ実行前にデッドロック発生パターンを検出する様子を
示すブロック図である。
【図10】従来のデータ処理方式の問題点を説明するた
めの模式図である。
【符号の説明】
1…通信経路マトリクス形成手段 2…通信経路パターン数演算手段 3…特定ノード間検出手段 4…警告メッセージ生成手段 5…データ網 6…制御部 10…通信経路解析部 11…隣接経路記憶部 12…全経路パターン領域記憶部 40…警告メッセージ生成部 50…データ網パターン

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のノード(#1〜#N)からなるデ
    ータ網(5)内の任意のノード間を一方向にデータを送
    信する通信路(C1〜Cn)を介してデータが流れるよ
    うにデータ処理が行われるデータ処理装置において、 データを送るノードとデータを受けるノードとを対応付
    けるために、前記通信路を含み、かつ、各ノード間を直
    接結ぶ直接の通信経路の数を要素とするマトリクスを形
    成する通信経路マトリクス形成手段(1)と、 該通信経路マトリクス形成手段(1)により形成される
    マトリクスをもとに所定の演算を行い、ある一つのノー
    ドと他のノードとの間に存在する全ての通信経路のパタ
    ーン数を算出する通信経路パターン数演算手段(2)
    と、 該通信経路パターン数演算手段(2)により算出される
    通信経路のパターン数が予め定められた値以上となるノ
    ード間を特定のノード間として検出する特定ノード間検
    出手段(3)とを備え、 該特定のノード間に対しデータの送受信待ちの状態にな
    る旨の警告メッセージを出力することを特徴とするデー
    タ処理装置。
  2. 【請求項2】 前記通信経路パターン数演算手段(2)
    が、前記の直接の通信経路が存在するノードに関し、当
    該ノードから他の任意のノードに対し直接または間接の
    通信経路が存在するものについては、該通信経路の数を
    前記マトリクス内の対応する要素に加算することによ
    り、各ノード間に存在する全ての通信経路のパターン数
    を算出する請求項1記載のデータ処理装置。
  3. 【請求項3】 前記データ網(5)にジョブ制御文が入
    力されて並列バッチ処理によりデータが処理される場
    合、該ジョブ制御文中の複数のジョブステップの各々を
    前記ノードに対応させ、データの一時的な記憶場所であ
    るパイプデータセットを前記通信路に対応させる請求項
    1または2記載のデータ処理装置。
JP27559195A 1995-10-24 1995-10-24 データ処理装置 Expired - Fee Related JP3461636B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP27559195A JP3461636B2 (ja) 1995-10-24 1995-10-24 データ処理装置
US08/728,853 US6178459B1 (en) 1995-10-24 1996-10-10 Data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27559195A JP3461636B2 (ja) 1995-10-24 1995-10-24 データ処理装置

Publications (2)

Publication Number Publication Date
JPH09120387A true JPH09120387A (ja) 1997-05-06
JP3461636B2 JP3461636B2 (ja) 2003-10-27

Family

ID=17557592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27559195A Expired - Fee Related JP3461636B2 (ja) 1995-10-24 1995-10-24 データ処理装置

Country Status (2)

Country Link
US (1) US6178459B1 (ja)
JP (1) JP3461636B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004068342A1 (ja) * 2003-01-28 2004-08-12 Catena Corporation ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置
JP2010073015A (ja) * 2008-09-19 2010-04-02 Hitachi Information Systems Ltd ジョブ管理システム及びジョブ管理方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111073B1 (en) 2000-05-30 2006-09-19 Cisco Technology, Inc. Apparatus for estimating delay and jitter between network routers
US6868068B1 (en) 2000-06-30 2005-03-15 Cisco Technology, Inc. Method and apparatus for estimating delay and jitter between network routers
US6912203B1 (en) 2000-07-31 2005-06-28 Cisco Technology, Inc. Method and apparatus for estimating delay and jitter between many network routers using measurements between a preferred set of routers
US6877160B2 (en) * 2000-11-30 2005-04-05 International Business Machines Corporation Method, apparatus and program storage device for enabling the reading of data from a named pipe while minimizing the use of system resources
US7140017B2 (en) * 2001-02-22 2006-11-21 International Business Machines Corporation Performance of channels used in communicating between senders and receivers
JP2004102449A (ja) * 2002-09-05 2004-04-02 Hitachi Ltd ジョブネットワークの設定方法、ジョブネットワークの実行方法、ジョブ管理システム、管理端末、およびプログラム
US7721287B2 (en) * 2004-08-31 2010-05-18 Sap Ag Organizing transmission of repository data
US7721288B2 (en) * 2004-08-31 2010-05-18 Sap Ag Organizing transmission of repository data
JP4776571B2 (ja) * 2007-03-16 2011-09-21 富士通株式会社 実行制御プログラム,実行制御方法及び実行制御装置
EP2392103B1 (en) 2009-02-02 2017-03-22 Level 3 Communications, LLC Analysis of network traffic

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4756019A (en) * 1986-08-27 1988-07-05 Edmund Szybicki Traffic routing and automatic network management system for telecommunication networks
US5291489A (en) * 1987-11-13 1994-03-01 Dsc Communications Corporation Interprocessor switching network
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
US5471622A (en) * 1989-10-04 1995-11-28 Paralogic, Inc. Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks
US5577030A (en) * 1995-08-31 1996-11-19 Nippon Telegraph And Telephone Corporation Data communication routing method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004068342A1 (ja) * 2003-01-28 2004-08-12 Catena Corporation ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置
JP2010073015A (ja) * 2008-09-19 2010-04-02 Hitachi Information Systems Ltd ジョブ管理システム及びジョブ管理方法

Also Published As

Publication number Publication date
US6178459B1 (en) 2001-01-23
JP3461636B2 (ja) 2003-10-27

Similar Documents

Publication Publication Date Title
US7546393B2 (en) System for asynchronous DMA command completion notification wherein the DMA command comprising a tag belongs to a plurality of tag groups
US7844856B1 (en) Methods and apparatus for bottleneck processing in a continuous data protection system having journaling
US5276828A (en) Methods of maintaining cache coherence and processor synchronization in a multiprocessor system using send and receive instructions
US5317739A (en) Method and apparatus for coupling data processing systems
US7392433B2 (en) Method and system for deciding when to checkpoint an application based on risk analysis
US5287496A (en) Dynamic, finite versioning for concurrent transaction and query processing
US6658554B1 (en) Electronic processor providing direct data transfer between linked data consuming instructions
JP3461636B2 (ja) データ処理装置
US20060089975A1 (en) Online system recovery system, method and program
CA2549453A1 (en) Method and apparatus for synchronizing an industrial controller with a redundant controller
CN107025130B (zh) 处理节点、计算机系统及事务冲突检测方法
US20110202725A1 (en) Software-accessible hardware support for determining set membership
CN101154202B (zh) 管理多处理器计算机系统中的系统管理中断的系统和方法
Brzezinski et al. Deadlock models and a general algorithm for distributed deadlock detection
EP0785504A2 (en) Out of order execution of load instructions in a superscalar processor
CN1303043A (zh) 具有指令历史信息的基本块高速缓存的微处理器
JP3382080B2 (ja) 命令実行順序の一貫性を照合する方法及びシステム
Miller et al. The guardian model and primitives for exception handling in distributed systems
US7921220B2 (en) Reducing occurrences of two-phase commits in a multi-node computing system
US7146533B2 (en) Method for and system producing shared usage of intercommunication fabric error logging registers in a multiprocessor environment
CN1116638C (zh) 使用基本块高速缓存的微处理器、系统及指令执行方法
US6651164B1 (en) System and method for detecting an erroneous data hazard between instructions of an instruction group and resulting from a compiler grouping error
Miller et al. The guardian model for exception handling in distributed systems
JPH06149485A (ja) データ完結性保証処理方法
JP2001229063A (ja) データ管理システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030708

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

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees