JPH05250336A - 負荷分散による処理高速化のためのコンピュータ・プログラミング手法 - Google Patents

負荷分散による処理高速化のためのコンピュータ・プログラミング手法

Info

Publication number
JPH05250336A
JPH05250336A JP4699892A JP4699892A JPH05250336A JP H05250336 A JPH05250336 A JP H05250336A JP 4699892 A JP4699892 A JP 4699892A JP 4699892 A JP4699892 A JP 4699892A JP H05250336 A JPH05250336 A JP H05250336A
Authority
JP
Japan
Prior art keywords
processing
child process
remote
child
remote system
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.)
Pending
Application number
JP4699892A
Other languages
English (en)
Inventor
Tadashi Ikehara
原 正 池
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4699892A priority Critical patent/JPH05250336A/ja
Publication of JPH05250336A publication Critical patent/JPH05250336A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 負荷分散による処理高速化のためのコンピュ
ータ・プログラミング手法において、その処理時間をさ
らに短くすること。 【構成】 複数のコンピュータ・システムが、相互通信
可能にネットワークにより接続されている。かつ、ユー
ザが利用している自システム1から、リモート・システ
ム2に対し、プログラムの実行、ファイルの作成または
自システム1とリモート・システム2との間でのファイ
ル転送が可能な環境にある。このような状態において、
親プロセス3から発生する子プロセス4の処理を、自シ
ステム1で行なわず、リモート・システム2で処理す
る。これにより、子プロセス4を、単独で実行したのと
同等の速度で処理できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、負荷分散による処理高
速化のためのコンピュータ・プログラミング手法に係
り、特にプログラム中の処理の一部を、他のコンピュー
タ・システムで実行することにより、処理の分散化を図
って処理時間を短縮するコンピュータ・プログラミング
手法に関する。
【0002】
【従来の技術】一般に、コンピュータ・プログラムを作
成する場合、1つのプログラムの中から別のプログラム
を実行するような処理は、“子プロセスの発生”という
手法で広く知られている(村上純(他)「プロフェッシ
ョナルUNIX」アスキー出版,37頁)。
【0003】図7は、このような子プロセス発生を伴な
うプログラム処理の流れの一例を示すもので、以下これ
について説明する。
【0004】この例は、親プロセスから子プロセスを1
つ発生させ、子プロセス実行中親プロセスは処理を待機
し、子プロセス終了後、親プロセスの処理を再開するも
のである。
【0005】すなわち、このプログラム処理は、親プロ
セスの処理10と子プロセスの処理20とに分けられ
る。親プロセスの処理10では、まずステップS11で
プログラムを起動し、ステップS12で処理Aを実行す
る。次いで、ステップS13で子プロセスの発生と親プ
ロセスの待機処理とを行ない、子プロセスの処理20に
移る。
【0006】子プロセスの処理20では、まずステップ
S21で処理を開始し、ステップS22で処理Bを実行
する。そして実行後、ステップS23で子プロセスの処
理20を終了させ、再び親プロセスの処理10に移る。
【0007】親プロセスの処理10では、ステップS1
4で親プロセスを再開し、ステップS15で処理Cを実
行する。この実行は、子プロセスの実行結果を取込んで
行なわれる。そしてその後、ステップS16で親プロセ
スの処理10を終了させる。
【0008】ところで、プログラム作成において子プロ
セス発生手法は、例えば処理B部分のプログラムが既存
であり、これを実行するための前処理、例えば入力作成
に係る処理を処理Aとし、また実行結果を表示・編集・
加工するような後処理を処理Cとし、処理Aと処理Cと
を新規に作成し、処理Bと連動させて1つのプログラム
に統合するような場合に多用される。そして、このよう
な子プロセス発生手法を用いて既存のプログラムを含む
複数の処理を統合することは、プログラムの処理機能の
高度化と同時に、プログラム生産性の向上に大きく寄与
するものである。
【0009】
【発明が解決しようとする課題】前記従来の子プロセス
発生手法において、子プロセス実行時には、親プロセス
と子プロセスとが同一コンピュータ・システム上に共存
しているので、子プロセスが単独で実行されるよりも処
理速度は当然遅くなる。親プロセスまたは子プロセスが
小規模プログラムであれば、両プロセスが共存しても、
コンピュータ・システムの負荷がそれほど大きくなるこ
とはないが、両プロセスがともに大規模プログラムであ
る場合には、両プロセスが共存することによる処理速度
の低下は著しくなる。このため、処理速度の観点から
は、処理A,B,Cを1つに統合したメリットが損われ
ることになる。
【0010】本発明は、上記の点を考慮してなされたも
ので、子プロセスを単独で実行したのと同等の速度で処
理することができる負荷分散による処理高速化のための
コンピュータ・プログラミング手法を提供することを目
的とする。
【0011】
【課題を解決するための手段】本発明は、前記目的を達
成する手段として、複数のコンピュータ・システムが相
互通信可能にネットワークにより接続され、かつユーザ
が利用している自システム以外の複数のリモート・シス
テムに対し、プログラムの実行,ファイルの作成または
自システムとリモート・システムとの間でのファイル転
送が可能な環境下にあるとき、所定のコンピュータ・プ
ログラムが、それを実行する親プロセスから新たな子プ
ロセスを発生させ、この子プロセスにより所定の処理を
させるとともに親プロセスは子プロセス終了まで待機
し、子プロセス終了後、親プロセスの処理を再開するコ
ンピュータ・プログラミング手法において、子プロセス
が行なう処理を自システムでは実行せず、処理能力が高
いかまたは負荷の低いリモート・システムを選択すると
ともに、このリモート・システムに前記子プロセスを転
送し、リモート・システムでの処理終了後、処理結果を
自システムに転送して親プロセスの処理を再開するよう
にしたことを特徴とする。
【0012】
【作用】本発明に係る負荷分散による処理高速化のため
のコンピュータ・プログラミング手法においては、親プ
ロセスから子プロセスを発生させるようなコンピュータ
・プログラムがある場合に、子プロセスが行なう処理を
自システムでは実行せず、処理能力が高いかまたは負荷
の低いリモート・システムを探し、このリモート・シス
テムに前記子プロセスを転送し、リモート・システムで
の処理終了後、処理結果を自システムに転送して親プロ
セスの処理を再開している。このため、親プロセスと子
プロセスとが同一コンピュータ・システム上に共存する
ことで、CPUの時分割やメモリの分割による処理速度
の低下を回避でき、子プロセス部分の処理速度を高速化
することが可能となる。
【0013】
【実施例】以下、本発明を図面を参照して説明する。
【0014】図1は、本発明に係るコンピュータ・プロ
グラミング手法を概念的に示すもので、複数のコンピュ
ータ・システムが相互通信可能にネットワークにより接
続され、かつユーザが自分で利用しているコンピュータ
・システムである自システム1を用い、それ以外のコン
ピュータ・システムである複数のリモート・システム2
に対し、プログラムの実行、ファイルの作成または自シ
ステム1とリモート・システム2との間でのファイル転
送が可能な環境下にある場合に、親プロセス3から発生
する子プロセス4を、リモート・システム2に転送して
リモート・システム2で実行するようになっている。
【0015】図2は、一種のパラメータ・サーベイを行
なうコンピュータ・プログラム中に子プロセス発生を伴
なう部分がある場合の処理の流れを示すもので、以下、
子プロセスをリモート・システムで実行する方法につい
て説明する。
【0016】図2は、n個のパラメータセットα1 ,α
2 ,…αn の値を調節することで、これらの関数である
f(α1 ,α2 ,…αn )が、ある許容範囲内の値をと
るようなパラメータセットαi ,(i=1,n)値を探
索するためのプログラムの処理の流れを示す。
【0017】この処理手順は、まずステップS1でプロ
グラムを起動し、ステップS2でパラメータセットの初
期値を入力する。次いで、ステップS3において、パラ
メータセット値に対し、これを入力として関数fを評価
する。そして、ステップS4において、評価結果が許容
範囲内にあるか否か判別する。
【0018】この判別の結果、許容範囲内にない場合に
は、ステップS5においてパラメータ値を修正した後、
再びステップS3,S4を実行する。そして、ステップ
S4での評価結果が許容範囲内になったならば、ステッ
プS6において処理を終了させる。
【0019】このような処理の流れにおいて、いま関数
fの評価部分を子プロセスとして、プログラムの作成を
行なう場合を考える。この場合、関数fの評価は、図2
からも明らかなように、パラメータセットαi ,(i=
1,n)の解探索過程で複数回実行されるので、処理速
度が速いことが望ましい。
【0020】図3は、子プロセスをリモート・システム
にて実行する場合の処理の流れを示すもので、自システ
ム1においては、入力31、出力32、リモート処理前
処理33、リモート処理実行命令の発火34、リモート
処理後処理35、判定36、およびパラメータ値修正3
7の各処理が行なわれ、またリモート・システム2にお
いては、関数fの評価38の処理が行なわれる。
【0021】図4は、図3に示すリモート処理に必要な
各処理部と、データベースとの関係を示すもので、以下
これについて説明する。
【0022】図4において、リモート処理前処理33
は、リモート・システム選択部41、子プロセス用ロー
ドモジュール転送部42、子プロセス用ロードモジュー
ル入力データ転送部43、および子プロセス用ロードモ
ジュール実行命令転送部44から構成され、また、リモ
ート処理実行命令の発火34は、子プロセスのリモート
処理実行命令の発火部45で構成され、さらに、リモー
ト処理後処理35は、子プロセス実行結果転送部46で
構成されている。
【0023】前記リモート・システム選択部41では、
図5に示すロジックに従い、ネットワーク上のどのリモ
ート・システムにより子プロセスを実行するか選択す
る。そのために、図4に示すリモート・システムデータ
ベース47が用意される。このデータベース47内に
は、図6に示すように、ネットワーク上のリモート・シ
ステムの識別名とその機種とが、処理速度の速い順に書
かれている。リモート・システム選択部41では、デー
タベース47を参照し、処理速度の速い順にリモート・
システムの負荷状況を調査し、負荷がある閾値以下であ
ればそのシステムを選択し、そうでなければ次候補につ
いて同様の調査をするといった動作を繰返す。データベ
ース47内のリモート・システムに、負荷が閾値以下の
ものが見出せない場合には、自システムが子プロセスの
実行システムとして選択される。
【0024】以上の手順を、図5を参照して説明する。
【0025】まず、ステップS51で起動がなされたな
らば、ステップS52において、データベース47から
リモート・システムの識別名を選択するとともに、ステ
ップS53において、選択が成功したか否か、すなわち
選択すべきリモート・システムが存在するか否か判別す
る。そして、存在している場合には、ステップS54に
おいて、そのリモート・システムの負荷調査を行ない、
ステップS55において、負荷が閾値以下であるか否か
を判別する。負荷が閾値以下である場合には、ステップ
S56において作業を終了させるとともに、負荷が閾値
を超えている場合には、ステップS52に戻って負荷調
査をやり直す。
【0026】一方、ステップS53において、リモート
・システムの識別名の選択が失敗したと判断した場合に
は、ステップS57において、リモート処理をキャンセ
ルし、自システムを子プロセス実行システムとして選択
した後、ステップS58において作業を終了させる。
【0027】図4に示す子プロセス用ロードモジュール
転送部42では、リモート・システム選択部41にて選
択されたシステムに、子プロセス実行用(関数f評価)
プログラムを転送する。転送に際しては、リモート・シ
ステムデータベース47を参照してリモート・システム
の機種を確認し、そこで実行可能なロードモジュール
を、ロードモジュールバンク48から取込み転送する
(注:通常、機種の異なる計算機間では実行可能形式プ
ログラム(ロードモジュール)に互換性がないので、各
機種毎にソースプログラムをコンパイルし、ロードモジ
ュールを用意しなければならない)。
【0028】また、子プロセス用ロードモジュール入力
データ転送部43では、関数f評価プログラムを実行す
るために必要な入力データを作成し、これを対象リモー
ト・システムに転送する。コマンド列中には、リモート
・システムに転送されたロードモジュール/入力データ
の格納場所、出力の格納場所さらには実行手順等が記述
される。
【0029】また、リモート処理実行命令発火部45で
は、リモート・システムに転送済みの子プロセス用ロー
ドモジュール実行命令を発火させる。これによりリモー
ト処理が開始され、同時に自システム上の親プロセス
は、子プロセスであるリモート処理が終了するまで待機
状態となる。
【0030】さらに、子プロセス実行結果転送部46
は、子プロセスであるリモート処理が終了するのを待っ
て、その実行結果を自システムに転送し、同時に子プロ
セス実行に際し作成された種々のファイル(ロードモジ
ュール、入力データ)や子プロセス出力結果を消去す
る。
【0031】このように、子プロセスはリモート・シス
テムで実行されるので、親プロセスと子プロセスとが同
一コンピュータ・システム上に共存することでCPUの
時分割やメモリの分割による処理速度の低下を回避でき
る。
【0032】ただし、親プロセスまたは子プロセスが小
規模プログラムであり、両プロセスの共存による処理速
度の低下が問題にならないような場合には、リモート処
理のメリットも少なく、逆にデータの転送時間のために
リモート処理が不利になることもある。
【0033】しかしながら、親および子のプロセスが大
規模である場合や、リモート・システムの処理速度が速
い場合には、前記方法により子プロセスの処理の高速化
ができる。特に、同時に複数個のリモート・システムが
利用可能なコンピュータ・ネットワーク環境において、
大規模な子プロセスを同時に複数実行するような場合に
はその効果は極めて大きい。
【0034】
【発明の効果】以上説明したように本発明によれば、子
プロセスがリモート・システムで実行されるので、子プ
ロセスを単独で実行したのと同等の速度で処理すること
ができ、親プロセスと子プロセスとが同一コンピュータ
・システム上に共存することに伴なうCPUの時分割や
メモリの分割による処理速度の低下を回避できる。
【図面の簡単な説明】
【図1】本発明に係るコンピュータ・プログラミング手
法を概念的に示す説明図。
【図2】パラメータ・サーベイを行なうコンピュータ・
プログラムの処理の流れを示すフローチャート。
【図3】子プロセスをリモート・システムで実行する場
合の処理の流れを示す説明図。
【図4】リモート処理に必要な各処理部およびデータベ
ースの構成を示す説明図。
【図5】リモート・システム選択部におけるシステム選
択ロジックを示すフローチャート。
【図6】リモート・システムデータベースの記述内容の
一例を示す説明図。
【図7】子プロセス発生を伴なうプログラムの従来の処
理方法を示す説明図。
【符号の説明】
1 自システム 2 リモート・システム 3 親プロセス 4 子プロセス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のコンピュータ・システムが相互通信
    可能にネットワークにより接続され、かつユーザが利用
    している自システム以外の複数のリモート・システムに
    対し、プログラムの実行,ファイルの作成または自シス
    テムとリモート・システムとの間でのファイル転送が可
    能な環境下にあるとき、所定のコンピュータ・プログラ
    ムが、それを実行する親プロセスから新たな子プロセス
    を発生させ、この子プロセスにより所定の処理をさせる
    とともに親プロセスは子プロセス終了まで待機し、子プ
    ロセス終了後、親プロセスの処理を再開するコンピュー
    タ・プログラミング手法において、子プロセスが行なう
    処理を自システムでは実行せず、処理能力が高いかまた
    は負荷の低いリモート・システムを選択するとともに、
    このリモート・システムに前記子プロセスを転送し、リ
    モート・システムでの処理終了後、処理結果を自システ
    ムに転送して親プロセスの処理を再開することを特徴と
    する負荷分散による処理高速化のためのコンピュータ・
    プロクラミング手法。
JP4699892A 1992-03-04 1992-03-04 負荷分散による処理高速化のためのコンピュータ・プログラミング手法 Pending JPH05250336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4699892A JPH05250336A (ja) 1992-03-04 1992-03-04 負荷分散による処理高速化のためのコンピュータ・プログラミング手法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4699892A JPH05250336A (ja) 1992-03-04 1992-03-04 負荷分散による処理高速化のためのコンピュータ・プログラミング手法

Publications (1)

Publication Number Publication Date
JPH05250336A true JPH05250336A (ja) 1993-09-28

Family

ID=12762864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4699892A Pending JPH05250336A (ja) 1992-03-04 1992-03-04 負荷分散による処理高速化のためのコンピュータ・プログラミング手法

Country Status (1)

Country Link
JP (1) JPH05250336A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005172750A (ja) * 2003-12-15 2005-06-30 Global Nuclear Fuel-Japan Co Ltd 炉心監視システム
US8595350B2 (en) 1999-06-28 2013-11-26 Sony Corporation User information processing unit, user information processing system, terminal unit, apparatus and method for providing information

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595350B2 (en) 1999-06-28 2013-11-26 Sony Corporation User information processing unit, user information processing system, terminal unit, apparatus and method for providing information
JP2005172750A (ja) * 2003-12-15 2005-06-30 Global Nuclear Fuel-Japan Co Ltd 炉心監視システム
JP4617503B2 (ja) * 2003-12-15 2011-01-26 株式会社グローバル・ニュークリア・フュエル・ジャパン 炉心監視システム

Similar Documents

Publication Publication Date Title
JP2551312B2 (ja) ジョブステップ並列実行方式
US7689582B2 (en) Data flow system and method for heterogeneous data integration environments
US20070214111A1 (en) System and method for generating code for an integrated data system
JPH04229355A (ja) データアクセス方法及びデータ処理システム
JP3268338B2 (ja) 計算機システム
EP3396542B1 (en) Database operating method and device
US6141776A (en) Data-driven process generator
JPH05250336A (ja) 負荷分散による処理高速化のためのコンピュータ・プログラミング手法
JPH0528088A (ja) ハードウエア構成情報の自動作成方法
Tamura et al. Generation of semantic concurrency control program by using genetic programming
US5287509A (en) Multitasking system for in-procedure loops
WO2023100289A1 (ja) データベース管理装置、データベース管理方法およびデータベース管理プログラム
JPS635780B2 (ja)
JPH0330066A (ja) 情報検索方式
JPH03204035A (ja) ネットワークジョブステップ実行制御方式
US10592212B2 (en) System and method for software development based on procedures
JP6798506B2 (ja) 手順生成システム、手順生成方法および手順生成プログラム
JP3394353B2 (ja) 機械語命令スケジューリング装置
JPH08137923A (ja) Cadシステムの設計データ管理方式
CN113986596A (zh) 一种数据处理方法、装置、电子设备及存储介质
JP3146970B2 (ja) オブジェクトユニットリンク管理方式
CN118798563A (zh) 分布式存储的运维业务处理方法及装置、存储介质、设备
JP2816430B2 (ja) 集合フエツチ処理方式
CN117149210A (zh) 一种软件优化方法、系统、设备及介质
JPH04190434A (ja) データベース管理装置及びデータベース管理方法