JPH0877029A - 負荷率に基づいた処理要求実行順序制御方式 - Google Patents
負荷率に基づいた処理要求実行順序制御方式Info
- Publication number
- JPH0877029A JPH0877029A JP21559794A JP21559794A JPH0877029A JP H0877029 A JPH0877029 A JP H0877029A JP 21559794 A JP21559794 A JP 21559794A JP 21559794 A JP21559794 A JP 21559794A JP H0877029 A JPH0877029 A JP H0877029A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing request
- processing
- calculation
- server
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】複数の計算プロセッサとサーバプロセッサから
構成される計算機システムにおいて、プロセッサ間で同
期を取って処理を遂行する形態のアプリケーションプロ
グラムを効率的に実行することを目的する。 【構成】ジョブ割り当てプロセッサJはジョブ数が均等
化されるように計算プロセッサA〜Eにジョブを割り当
てる。計算プロセッサ上のプロセスが処理要求メッセー
ジをサーバプロセッサSに送信する。サーバプロセッサ
は、処理要求を受信後、処理要求の送信元の計算プロセ
ッサの負荷状況、処理要求を送信したプロセスのスケジ
ューリング優先度を考慮して処理要求の実行優先度を決
定し、決定した順序に従って処理要求を実行し、応答を
計算プロセッサに返信する。このため、計算プロセッサ
間での処理の進み具合が調整され、複数プロセッサを連
携させて処理を進める形態のプログラムを効率的に実行
できる。
構成される計算機システムにおいて、プロセッサ間で同
期を取って処理を遂行する形態のアプリケーションプロ
グラムを効率的に実行することを目的する。 【構成】ジョブ割り当てプロセッサJはジョブ数が均等
化されるように計算プロセッサA〜Eにジョブを割り当
てる。計算プロセッサ上のプロセスが処理要求メッセー
ジをサーバプロセッサSに送信する。サーバプロセッサ
は、処理要求を受信後、処理要求の送信元の計算プロセ
ッサの負荷状況、処理要求を送信したプロセスのスケジ
ューリング優先度を考慮して処理要求の実行優先度を決
定し、決定した順序に従って処理要求を実行し、応答を
計算プロセッサに返信する。このため、計算プロセッサ
間での処理の進み具合が調整され、複数プロセッサを連
携させて処理を進める形態のプログラムを効率的に実行
できる。
Description
【0001】
【産業上の利用分野】本発明は、複数のプロセッサが連
携して処理を行う計算機システムにおいて、プロセッサ
間で生じる処理要求の実行順序制御方式に関する。
携して処理を行う計算機システムにおいて、プロセッサ
間で生じる処理要求の実行順序制御方式に関する。
【0002】
【従来の技術】従来、プロセッサを複数結合し、計算中
心の処理を行う計算プロセッサと、計算プロセッサに共
通な機能を提供するサーバプロセッサから構成される計
算機システムにおいては、計算プロセッサのプロセスか
らの処理要求をサーバプロセッサで実行する際に、計算
プロセッサの負荷情報が処理要求の実行順序に反映され
ていなかった。
心の処理を行う計算プロセッサと、計算プロセッサに共
通な機能を提供するサーバプロセッサから構成される計
算機システムにおいては、計算プロセッサのプロセスか
らの処理要求をサーバプロセッサで実行する際に、計算
プロセッサの負荷情報が処理要求の実行順序に反映され
ていなかった。
【0003】複数のプロセスが複数のプロセッサに跨
り、プロセス間で同期を取って処理を遂行する形態のア
プリケーションは、複数のプロセスに処理を振り分ける
役割を果たすプロセス(マスタプロセス)と、マスタプ
ロセスからの処理を請け負うプロセス(ワーカープロセ
ス)から構成される。マスタプロセスが複数のワーカー
プロセスに処理を依頼した場合、全てのワーカープロセ
スが処理を完了してマスタプロセスに応答を送るまでマ
スタプロセスの処理は待ち続ける。このため、プロセッ
サ毎に負荷の高低がばらついている複数の計算プロセッ
サにワーカープロセスが分散されている場合、マスタプ
ロセスの待ち時間は、負荷の一番高いプロセッサ上のワ
ーカープロセスからの応答時間となり、非効率な待ち時
間が生じる。
り、プロセス間で同期を取って処理を遂行する形態のア
プリケーションは、複数のプロセスに処理を振り分ける
役割を果たすプロセス(マスタプロセス)と、マスタプ
ロセスからの処理を請け負うプロセス(ワーカープロセ
ス)から構成される。マスタプロセスが複数のワーカー
プロセスに処理を依頼した場合、全てのワーカープロセ
スが処理を完了してマスタプロセスに応答を送るまでマ
スタプロセスの処理は待ち続ける。このため、プロセッ
サ毎に負荷の高低がばらついている複数の計算プロセッ
サにワーカープロセスが分散されている場合、マスタプ
ロセスの待ち時間は、負荷の一番高いプロセッサ上のワ
ーカープロセスからの応答時間となり、非効率な待ち時
間が生じる。
【0004】また、マスタプロセスが全ワーカープロセ
スにI/O処理を含む処理要求を依頼する場合、全ワー
カープロセスは同時にI/Oサーバプロセッサへ処理要
求を送信し、サーバプロセッサからの応答を待つことに
なる。ここで、従来方式では、サーバプロセッサでの処
理要求の実行順序は計算プロセッサの負荷情報を考慮し
ないため、サーバプロセッサから計算プロセッサへの応
答時間は計算プロセッサの負荷の高低に関わらず均一で
あった。
スにI/O処理を含む処理要求を依頼する場合、全ワー
カープロセスは同時にI/Oサーバプロセッサへ処理要
求を送信し、サーバプロセッサからの応答を待つことに
なる。ここで、従来方式では、サーバプロセッサでの処
理要求の実行順序は計算プロセッサの負荷情報を考慮し
ないため、サーバプロセッサから計算プロセッサへの応
答時間は計算プロセッサの負荷の高低に関わらず均一で
あった。
【0005】このため、従来方式では、マスタプロセス
のワーカープロセスからの応答待ち時間は、負荷の最も
高い計算プロセッサ上のワーカープロセスの応答時間に
依存してしまい、前述の非効率な待ち時間を解消する有
効な手段が存在しなかった。
のワーカープロセスからの応答待ち時間は、負荷の最も
高い計算プロセッサ上のワーカープロセスの応答時間に
依存してしまい、前述の非効率な待ち時間を解消する有
効な手段が存在しなかった。
【0006】
【発明が解決しようとする課題】プロセッサ間の負荷の
差を減少させる方法として、ユーザから投入されたジョ
ブをジョブ数が均等になるように各計算プロセッサに配
分することが考えられるが、各ジョブの実行時間や特性
がジョブ毎に異なり、プロセスの生成・消滅により計算
プロセッサ上のプロセス数が動的に変化することも考え
られるため、動的な負荷の変化を吸収することは困難で
ある。そこで、サーバプロセッサで計算プロセッサから
の処理要求を実行する際に、負荷の高い計算プロセッサ
上で実行されている高優先度のプロセスからの処理要求
の実行順序を優先し、負荷の高い計算プロセッサへの応
答時間を短くし、負荷の高いプロセッサ上で実行されて
いるプロセスの処理遂行を効率化することを考えた。
差を減少させる方法として、ユーザから投入されたジョ
ブをジョブ数が均等になるように各計算プロセッサに配
分することが考えられるが、各ジョブの実行時間や特性
がジョブ毎に異なり、プロセスの生成・消滅により計算
プロセッサ上のプロセス数が動的に変化することも考え
られるため、動的な負荷の変化を吸収することは困難で
ある。そこで、サーバプロセッサで計算プロセッサから
の処理要求を実行する際に、負荷の高い計算プロセッサ
上で実行されている高優先度のプロセスからの処理要求
の実行順序を優先し、負荷の高い計算プロセッサへの応
答時間を短くし、負荷の高いプロセッサ上で実行されて
いるプロセスの処理遂行を効率化することを考えた。
【0007】このことにより、マスタプロセスが複数の
ワーカープロセスにI/O処理を含む処理要求を依頼
し、複数のワーカープロセスがI/Oサーバプロセッサ
に同時にI/O処理要求を依頼した場合、サーバプロセ
ッサからワーカープロセスへの応答は、負荷の最も高い
計算プロセッサ上のワーカープロセスへ優先して行われ
る。このため、最も負荷の高い計算プロセッサ上のワー
カープロセスからマスタプロセスへの応答時間は従来方
式に比べて短くなる。このため、ワーカープロセスから
マスタプロセスへの応答時間が均一化され、マスタプロ
セスが全ワーカープロセスの応答を待つ時間が従来方式
に比べ短くなり、非効率な待ち時間が改善されることに
なる。
ワーカープロセスにI/O処理を含む処理要求を依頼
し、複数のワーカープロセスがI/Oサーバプロセッサ
に同時にI/O処理要求を依頼した場合、サーバプロセ
ッサからワーカープロセスへの応答は、負荷の最も高い
計算プロセッサ上のワーカープロセスへ優先して行われ
る。このため、最も負荷の高い計算プロセッサ上のワー
カープロセスからマスタプロセスへの応答時間は従来方
式に比べて短くなる。このため、ワーカープロセスから
マスタプロセスへの応答時間が均一化され、マスタプロ
セスが全ワーカープロセスの応答を待つ時間が従来方式
に比べ短くなり、非効率な待ち時間が改善されることに
なる。
【0008】本発明の1つの目的は、負荷の高い計算プ
ロセッサ上で実行されているプロセスに対して、サーバ
プロセッサの応答時間を短くすることにより、そのプロ
セスの処理遂行時間を相対的に短くさせることである。
ロセッサ上で実行されているプロセスに対して、サーバ
プロセッサの応答時間を短くすることにより、そのプロ
セスの処理遂行時間を相対的に短くさせることである。
【0009】本発明の他の目的は、計算プロセッサ上の
各プロセスの処理遂行時間を相対的に均衡化することに
より、プロセス間で同期を取って処理を遂行する形態の
アプリケーションプログラムを効率的に実行することで
ある。
各プロセスの処理遂行時間を相対的に均衡化することに
より、プロセス間で同期を取って処理を遂行する形態の
アプリケーションプログラムを効率的に実行することで
ある。
【0010】本発明の更に他の目的は、各計算プロセッ
サの負荷状況を把握する手段として、各計算プロセッサ
がサーバプロセッサへ処理要求を送信する際に負荷状況
も一緒に送信することにより負荷状況を監視するための
オーバーヘッドを減少させることである。
サの負荷状況を把握する手段として、各計算プロセッサ
がサーバプロセッサへ処理要求を送信する際に負荷状況
も一緒に送信することにより負荷状況を監視するための
オーバーヘッドを減少させることである。
【0011】
【課題を解決するための手段】本発明では、前述した目
的を達成するために、計算プロセッサの負荷を計算する
ための手段と、それを計算プロセッサ上で与えられたプ
ロセスのスケジューリング優先度とともにサーバプロセ
ッサへの処理要求メッセージに挿入する手段とを提供
し、サーバプロセッサにおいては、処理要求メッセージ
に含まれる情報からその処理要求を送信した計算プロセ
ッサの相対的な負荷を計算するための手段と、そこで求
めた負荷情報とプロセスのスケジューリング優先度によ
り、処理要求の実行順序と処理要求を実行するサーバプ
ロセスのスケジューリング優先度を制御する手段を提供
する。
的を達成するために、計算プロセッサの負荷を計算する
ための手段と、それを計算プロセッサ上で与えられたプ
ロセスのスケジューリング優先度とともにサーバプロセ
ッサへの処理要求メッセージに挿入する手段とを提供
し、サーバプロセッサにおいては、処理要求メッセージ
に含まれる情報からその処理要求を送信した計算プロセ
ッサの相対的な負荷を計算するための手段と、そこで求
めた負荷情報とプロセスのスケジューリング優先度によ
り、処理要求の実行順序と処理要求を実行するサーバプ
ロセスのスケジューリング優先度を制御する手段を提供
する。
【0012】
【作用】ワーカープロセスからサーバプロセッサへの処
理要求の実行順序と、その処理要求を実行するサーバプ
ロセスのスケジューリング優先度を制御することがで
き、計算プロセッサの負荷とアプリケーシヨンが設定し
たプロセスのスケジューリング優先度に応じてサーバプ
ロセッサから計算プロセッサへの応答時間を制御するこ
とができる。このことにより、プロセッサ間で同期を取
って処理を遂行する形態のアプリケーションプログラム
を効率的に実行できる。
理要求の実行順序と、その処理要求を実行するサーバプ
ロセスのスケジューリング優先度を制御することがで
き、計算プロセッサの負荷とアプリケーシヨンが設定し
たプロセスのスケジューリング優先度に応じてサーバプ
ロセッサから計算プロセッサへの応答時間を制御するこ
とができる。このことにより、プロセッサ間で同期を取
って処理を遂行する形態のアプリケーションプログラム
を効率的に実行できる。
【0013】
【実施例】図1は本発明のシステム構成図である。A〜
Eは計算プロセッサである。
Eは計算プロセッサである。
【0014】計算プロセッサではユーザから投入された
ジョブをプロセスとして実行する。Jはジョブ割当プロ
セッサである。ジョブ割当プロセッサは各計算プロセッ
サに割り当てられているジョブの数を把握する手段を備
え、各計算プロセッサのジョブ数が均等になるようにジ
ョブを割り当てる。Sはサーバプロセッサである。サー
バプロセッサでは、計算プロセッサからの処理要求を実
行する。IはI/O処理装置である。ここでは、サーバ
プロセッサの一例としてI/Oサーバプロセッサを示し
ている。Nは各プロセッサを接続する高速ネットワーク
である。
ジョブをプロセスとして実行する。Jはジョブ割当プロ
セッサである。ジョブ割当プロセッサは各計算プロセッ
サに割り当てられているジョブの数を把握する手段を備
え、各計算プロセッサのジョブ数が均等になるようにジ
ョブを割り当てる。Sはサーバプロセッサである。サー
バプロセッサでは、計算プロセッサからの処理要求を実
行する。IはI/O処理装置である。ここでは、サーバ
プロセッサの一例としてI/Oサーバプロセッサを示し
ている。Nは各プロセッサを接続する高速ネットワーク
である。
【0015】図2は、図1で示した計算機システム上で
動作するアプリケーションプログラムの動作例を示して
いる。ジョブ割当プロセッサに投入されたジョブはジョ
ブJ1,J2として示されている。ジョブJ1,J2は
計算プロセッサに割り当てられるのを待っている状態で
あり、すでに割り当てられたジョブは、計算プロセッサ
上でプロセスとして実行されている。また、計算プロセ
ッサB,C,Dでは、マスタプロセスA1に属さない他
のプロセスB2,C1,D1が実行されていることを示
している。マスタプロセスA1はワーカープロセスB
1,E1にI/O処理を含む処理要求を送信し、ワーカ
ープロセスはI/O処理要求をサーバプロセッサSに送
信する。サーバプロセッサSでは、計算プロセッサから
の処理要求を処理するためにS1,S2,S3,S4の
4つのサーバプロセスを用意して処理要求を実行する例
を示している。また、それら4つのサーバプロセスで処
理しきれない数の処理要求がある場合、それらの処理要
求は処理要求キューS5にキューイングされる。サーバ
プロセッサでの処理が終了した処理要求は、応答として
送信元のワーカープロセスに返信される。ワーカープロ
セスはサーバプロセッサからの応答を処理した後、マス
タプロセスA1にその処理結果を返信する。マスタプロ
セスA1からワーカープロセスB1,E1への処理要求
をA1B1,A1E1として示し、ワーカープロセスB
1,E1からサーバプロセッサSへの処理要求をB1
S,E1Sで示す。また、サーバプロセッサSからワー
カープロセスB1,E1への応答をSB1,SE1とし
て示し、ワーカープロセスB1,E1からマスタプロセ
スA1への応答をB1A1,E1A1として示す。本方
式では、例えば、計算プロセッサBの負荷が計算プロセ
ッサEの負荷よりも高く、計算プロセッサBとEからほ
ぼ同時に処理要求がサーバプロセッサSに送信された場
合、サーバプロセッサでは処理要求B1Sを優先して実
行する。このことにより、負荷の最も高い計算プロセッ
サ上のワーカープロセスからマスタプロセスへの応答時
間は短縮され、その結果として、マスタプロセスの非効
率な待ち時間は改善される。
動作するアプリケーションプログラムの動作例を示して
いる。ジョブ割当プロセッサに投入されたジョブはジョ
ブJ1,J2として示されている。ジョブJ1,J2は
計算プロセッサに割り当てられるのを待っている状態で
あり、すでに割り当てられたジョブは、計算プロセッサ
上でプロセスとして実行されている。また、計算プロセ
ッサB,C,Dでは、マスタプロセスA1に属さない他
のプロセスB2,C1,D1が実行されていることを示
している。マスタプロセスA1はワーカープロセスB
1,E1にI/O処理を含む処理要求を送信し、ワーカ
ープロセスはI/O処理要求をサーバプロセッサSに送
信する。サーバプロセッサSでは、計算プロセッサから
の処理要求を処理するためにS1,S2,S3,S4の
4つのサーバプロセスを用意して処理要求を実行する例
を示している。また、それら4つのサーバプロセスで処
理しきれない数の処理要求がある場合、それらの処理要
求は処理要求キューS5にキューイングされる。サーバ
プロセッサでの処理が終了した処理要求は、応答として
送信元のワーカープロセスに返信される。ワーカープロ
セスはサーバプロセッサからの応答を処理した後、マス
タプロセスA1にその処理結果を返信する。マスタプロ
セスA1からワーカープロセスB1,E1への処理要求
をA1B1,A1E1として示し、ワーカープロセスB
1,E1からサーバプロセッサSへの処理要求をB1
S,E1Sで示す。また、サーバプロセッサSからワー
カープロセスB1,E1への応答をSB1,SE1とし
て示し、ワーカープロセスB1,E1からマスタプロセ
スA1への応答をB1A1,E1A1として示す。本方
式では、例えば、計算プロセッサBの負荷が計算プロセ
ッサEの負荷よりも高く、計算プロセッサBとEからほ
ぼ同時に処理要求がサーバプロセッサSに送信された場
合、サーバプロセッサでは処理要求B1Sを優先して実
行する。このことにより、負荷の最も高い計算プロセッ
サ上のワーカープロセスからマスタプロセスへの応答時
間は短縮され、その結果として、マスタプロセスの非効
率な待ち時間は改善される。
【0016】また、サーバプロセッサの負荷が低いと
き、または、処理要求の数が少ないときは、サーバプロ
セッサからワーカープロセスへの平均的な応答時間が短
いため処理要求の実行順序を入れ換えた際のワーカープ
ロセスへ与える効果が少ない。しかし、サーバプロセッ
サの負荷が高いとき、または、処理要求の数が多いとき
は、一番最初に実行される処理要求と一番最後に実行さ
れる処理要求とでは、その処理要求を送信したワーカー
プロセスへの応答時間が大きく変わるため、処理要求の
実行順序を入れ換えた際のワーカープロセスへ与える効
果が大きく、本方式を用いて適切な順序で処理要求を実
行した際にマスタプロセスに与える効果が大きくなる。
き、または、処理要求の数が少ないときは、サーバプロ
セッサからワーカープロセスへの平均的な応答時間が短
いため処理要求の実行順序を入れ換えた際のワーカープ
ロセスへ与える効果が少ない。しかし、サーバプロセッ
サの負荷が高いとき、または、処理要求の数が多いとき
は、一番最初に実行される処理要求と一番最後に実行さ
れる処理要求とでは、その処理要求を送信したワーカー
プロセスへの応答時間が大きく変わるため、処理要求の
実行順序を入れ換えた際のワーカープロセスへ与える効
果が大きく、本方式を用いて適切な順序で処理要求を実
行した際にマスタプロセスに与える効果が大きくなる。
【0017】図3は計算プロセッサ上のプロセスがサー
バプロセッサへの処理要求を実行した際の処理要求メッ
セージの作成手順である。計算プロセッサの負荷率は、
走行可能プロセス数とCPU稼働率から求めるものとす
る。走行可能プロセス数とは、1つのプロセッサを共用
しているプロセスの数であり、子の値が大きいと1プロ
セスが単位時間あたりに利用できるCPU使用時間が少
なくなり、プロセッサの負荷が高い状態を表す。一方、
CPU稼働率は、単位時間あたりにCPUが稼働してい
る割合を示している。実際のシステムで負荷率を求める
場合の計算式の一例として、図3にある負荷率の計算式
を示す。次に、処理要求メッセージを作成するまでの手
順について説明する。プロセスが処理要求命令を発行し
た場合、システムは、そのプロセスのプロセス構造体に
記述されているスケジューリング優先度を求める。次
に、CPU稼働率と走行可能プロセス数を求め、得られ
た走行可能プロセス数とCPU稼働率を用いてプロセッ
サの負荷を計算する。次に、図4に示す処理要求メッセ
ージを作成し、プロセスのスケジューリング優先度とプ
ロセッサの負荷をメッセージに代入し、メッセージをサ
ーバプロセッサに送信する。
バプロセッサへの処理要求を実行した際の処理要求メッ
セージの作成手順である。計算プロセッサの負荷率は、
走行可能プロセス数とCPU稼働率から求めるものとす
る。走行可能プロセス数とは、1つのプロセッサを共用
しているプロセスの数であり、子の値が大きいと1プロ
セスが単位時間あたりに利用できるCPU使用時間が少
なくなり、プロセッサの負荷が高い状態を表す。一方、
CPU稼働率は、単位時間あたりにCPUが稼働してい
る割合を示している。実際のシステムで負荷率を求める
場合の計算式の一例として、図3にある負荷率の計算式
を示す。次に、処理要求メッセージを作成するまでの手
順について説明する。プロセスが処理要求命令を発行し
た場合、システムは、そのプロセスのプロセス構造体に
記述されているスケジューリング優先度を求める。次
に、CPU稼働率と走行可能プロセス数を求め、得られ
た走行可能プロセス数とCPU稼働率を用いてプロセッ
サの負荷を計算する。次に、図4に示す処理要求メッセ
ージを作成し、プロセスのスケジューリング優先度とプ
ロセッサの負荷をメッセージに代入し、メッセージをサ
ーバプロセッサに送信する。
【0018】図5はサーバプロセッサにおける処理要求
の実行順序の決定手順を示している。処理要求の優先度
(実行順序)は、サーバプロセッサでどの処理要求から
実行するかを決定するために求めるものである。処理要
求の優先度は、処理要求を送信したワーカープロセスの
スケジューリング優先度とそのプロセスを実行している
計算プロセッサの相対的な負荷率から求めるものとす
る。計算プロセッサの相対的な負荷率とは、(計算プロ
セッサの負荷率/処理要求を送信した全計算プロセッサ
の負荷率の平均)によって求めるものとする。実際のシ
ステムで処理要求の優先度を求めるための計算式の一例
として図5にある処理要求優先度の計算式を示す。次
に、処理要求の実行順序を決定するための手順について
説明する。はじめに、処理要求メッセージを受信し、処
理要求の送信元アドレス、処理要求を送信したプロセス
のスケジューリング優先度、計算プロセッサの負荷率を
図6に示す実行順序管理テーブルに記録する。次に、実
行順序管理テーブルのプロセススケジューリング優先度
とプロセッサ負荷を参照し、図5に示す処理要求優先度
の計算式より処理要求優先度を求め、実行順序管理テー
ブルに記録する。図6に示す処理要求送信元アドレスと
は、処理要求が全システム上で一元的に識別できるアド
レスを示し、プロセススケジューリング優先度は、処理
要求を送信したワーカープロセスのスケジューリング優
先度であり、サーバプロセッサ上で処理要求を実行する
サーバプロセスのスケジューリング優先度を決定するた
めに用いる。また、プロセッサ負荷とは処理要求を送信
した計算プロセッサの負荷率、処理要求優先度とは、図
5に示す処理要求優先度の計算式より求めた優先度を示
している。次に、実行順序管理テーブルの処理要求優先
度に基づいて、処理要求を一時的に保持するための処理
要求キューの該当箇所に処理要求を挿入する。処理要求
キューは図7に示すように、多段階待ち行列となってい
る。図7の各段階が処理要求優先度を示し、図6の実行
順序管理テーブルにある処理要求優先度に対応してい
る。実行順序は、上位の優先度の段階にキューされてい
る処理要求から順に実行される。従来のUNIXのプロ
セスのスケジューリングに用いられているように、一定
の時間が経過した後に、下位の優先度の処理要求を上位
の段階に移動し、処理要求がある時間が経過した後には
必ず実行されることを保証するものとする。
の実行順序の決定手順を示している。処理要求の優先度
(実行順序)は、サーバプロセッサでどの処理要求から
実行するかを決定するために求めるものである。処理要
求の優先度は、処理要求を送信したワーカープロセスの
スケジューリング優先度とそのプロセスを実行している
計算プロセッサの相対的な負荷率から求めるものとす
る。計算プロセッサの相対的な負荷率とは、(計算プロ
セッサの負荷率/処理要求を送信した全計算プロセッサ
の負荷率の平均)によって求めるものとする。実際のシ
ステムで処理要求の優先度を求めるための計算式の一例
として図5にある処理要求優先度の計算式を示す。次
に、処理要求の実行順序を決定するための手順について
説明する。はじめに、処理要求メッセージを受信し、処
理要求の送信元アドレス、処理要求を送信したプロセス
のスケジューリング優先度、計算プロセッサの負荷率を
図6に示す実行順序管理テーブルに記録する。次に、実
行順序管理テーブルのプロセススケジューリング優先度
とプロセッサ負荷を参照し、図5に示す処理要求優先度
の計算式より処理要求優先度を求め、実行順序管理テー
ブルに記録する。図6に示す処理要求送信元アドレスと
は、処理要求が全システム上で一元的に識別できるアド
レスを示し、プロセススケジューリング優先度は、処理
要求を送信したワーカープロセスのスケジューリング優
先度であり、サーバプロセッサ上で処理要求を実行する
サーバプロセスのスケジューリング優先度を決定するた
めに用いる。また、プロセッサ負荷とは処理要求を送信
した計算プロセッサの負荷率、処理要求優先度とは、図
5に示す処理要求優先度の計算式より求めた優先度を示
している。次に、実行順序管理テーブルの処理要求優先
度に基づいて、処理要求を一時的に保持するための処理
要求キューの該当箇所に処理要求を挿入する。処理要求
キューは図7に示すように、多段階待ち行列となってい
る。図7の各段階が処理要求優先度を示し、図6の実行
順序管理テーブルにある処理要求優先度に対応してい
る。実行順序は、上位の優先度の段階にキューされてい
る処理要求から順に実行される。従来のUNIXのプロ
セスのスケジューリングに用いられているように、一定
の時間が経過した後に、下位の優先度の処理要求を上位
の段階に移動し、処理要求がある時間が経過した後には
必ず実行されることを保証するものとする。
【0019】図8は処理要求の実行手順を示している。
サーバプロセッサ上の4つのサーバプロセスのうち待機
状態にあるサーバプロセスが処理要求キューで最上位に
キューされている処理要求を取りだし、サーバプロセス
の優先度を図6の実行順序管理テーブルのプロセススケ
ジューリング優先度に変更して処理要求を実行する。実
行終了後は、送信先アドレス、送信元アドレス、処理結
果から構成される応答メッセージを作成し、送信元の計
算プロセッサに送信する。
サーバプロセッサ上の4つのサーバプロセスのうち待機
状態にあるサーバプロセスが処理要求キューで最上位に
キューされている処理要求を取りだし、サーバプロセス
の優先度を図6の実行順序管理テーブルのプロセススケ
ジューリング優先度に変更して処理要求を実行する。実
行終了後は、送信先アドレス、送信元アドレス、処理結
果から構成される応答メッセージを作成し、送信元の計
算プロセッサに送信する。
【0020】
【発明の効果】本発明によれば、サーバプロセッサの応
答時間を送信元の計算プロセッサの状況に応じて制御で
きるため、従来方式のように、計算プロセッサの状況を
無視して処理要求を実行する場合に比べ、計算プロセッ
サ間で負荷が変動した場合や、サーバプロセッサの負荷
が高くなった場合に、複数プロセッサを連携させて実行
する形態のアプリケーションプログラムを効率的に実行
することができる。
答時間を送信元の計算プロセッサの状況に応じて制御で
きるため、従来方式のように、計算プロセッサの状況を
無視して処理要求を実行する場合に比べ、計算プロセッ
サ間で負荷が変動した場合や、サーバプロセッサの負荷
が高くなった場合に、複数プロセッサを連携させて実行
する形態のアプリケーションプログラムを効率的に実行
することができる。
【図1】本発明のシステム構成図である。
【図2】本発明のシステム上で動作するアプリケーショ
ンプログラムの動作例である。
ンプログラムの動作例である。
【図3】処理要求メッセージの作成手順を示す図であ
る。
る。
【図4】処理要求メッセージの構成図である。
【図5】処理要求の実行順序の決定手順を示す図であ
る。
る。
【図6】実行順序管理テーブルの構成図である。
【図7】処理要求キューを示す図である。
【図8】処理要求の実行手順を示す図である。
A,B,C,D,E…計算プロセッサ、 J…ジョブ割り当てプロセッサ、 S…サーバプロセッサ、 I…ディスク装置、 N…高速ネットワーク、 A1…マスタプロセス、 B1,E1…ワーカープロセス、 B2,C1,D1…マスタプロセスA1に属さないプロ
セス、 J1,J2…ユーザジョブ、 S5…処理要求キュー、 S1,S2,S3,S4…サーバプロセス、 A1B1,A1E1…マスタプロセスからワーカープロ
セスへの処理要求、 B1A1,E1A1…ワーカープロセスからマスタプロ
セスへの応答、 B1S,E1S…ワーカープロセスからサーバプロセッ
サへの処理要求、 SB1,SE1…サーバプロセッサからワーカープロセ
ッサへの応答、 71,72,73…高優先度処理要求、 74,75…低優先度処理要求。
セス、 J1,J2…ユーザジョブ、 S5…処理要求キュー、 S1,S2,S3,S4…サーバプロセス、 A1B1,A1E1…マスタプロセスからワーカープロ
セスへの処理要求、 B1A1,E1A1…ワーカープロセスからマスタプロ
セスへの応答、 B1S,E1S…ワーカープロセスからサーバプロセッ
サへの処理要求、 SB1,SE1…サーバプロセッサからワーカープロセ
ッサへの応答、 71,72,73…高優先度処理要求、 74,75…低優先度処理要求。
Claims (1)
- 【請求項1】メモリとCPUからなるプロセッサを複数
結合した計算機システムにおいて、 CPU依存の計算処理を主体に行う計算プロセッサと、
I/O処理、ネットワーク処理等の各プロセッサに共通
の機能を提供し、かつ、計算プロセッサからの処理要求
を実行するサーバプロセッサと、ユーザから投入された
ジョブを計算プロセッサに均等に割り当てるジョブ割当
プロセッサから構成され、 計算プロセッサ上では、自プロセッサの負荷状況を検知
する手段を有し、計算プロセッサ上のプロセスがサーバ
プロセッサへ処理要求を通知する際に、そのプロセスの
スケジューリング優先度と検知したプロセッサの負荷状
況を通知する手段を有し、 処理要求をサーバプロセッサにおいて実行する際に、処
理要求を送信したプロセスのスケジューリング優先度と
プロセッサの負荷の状況に基づいて実行順序と実行の優
先度を制御することを特徴とする処理要求実行順序制御
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21559794A JPH0877029A (ja) | 1994-09-09 | 1994-09-09 | 負荷率に基づいた処理要求実行順序制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21559794A JPH0877029A (ja) | 1994-09-09 | 1994-09-09 | 負荷率に基づいた処理要求実行順序制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0877029A true JPH0877029A (ja) | 1996-03-22 |
Family
ID=16675072
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21559794A Pending JPH0877029A (ja) | 1994-09-09 | 1994-09-09 | 負荷率に基づいた処理要求実行順序制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0877029A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000284980A (ja) * | 1999-01-28 | 2000-10-13 | Mitsubishi Electric Inf Technol Center America Inc | マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法 |
| US6760820B2 (en) * | 1999-06-14 | 2004-07-06 | Maxtor Corporation | Method of arbitrating requests for access to a single buffer memory in a disk drive |
| US7293092B2 (en) | 2002-07-23 | 2007-11-06 | Hitachi, Ltd. | Computing system and control method |
-
1994
- 1994-09-09 JP JP21559794A patent/JPH0877029A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000284980A (ja) * | 1999-01-28 | 2000-10-13 | Mitsubishi Electric Inf Technol Center America Inc | マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法 |
| US6760820B2 (en) * | 1999-06-14 | 2004-07-06 | Maxtor Corporation | Method of arbitrating requests for access to a single buffer memory in a disk drive |
| US7293092B2 (en) | 2002-07-23 | 2007-11-06 | Hitachi, Ltd. | Computing system and control method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hui et al. | Improved strategies for dynamic load balancing | |
| JP3678414B2 (ja) | 多重プロセッサ・システム | |
| JP3882931B2 (ja) | 仮想計算機環境におけるディスパッチ機能の管理 | |
| JP3882930B2 (ja) | 共用リソースを使用するための仮想計算機の管理 | |
| US10089142B2 (en) | Dynamic task prioritization for in-memory databases | |
| CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
| JPH09167141A (ja) | 負荷分散制御方法 | |
| JP4912927B2 (ja) | タスク割当装置、及びタスク割当方法 | |
| CN109739634A (zh) | 一种原子任务执行方法及装置 | |
| WO2023165485A1 (zh) | 调度方法及计算机系统 | |
| CN112395063B (zh) | 一种动态多线程调度方法及系统 | |
| CN109189581B (zh) | 一种作业调度方法和装置 | |
| JPH0628323A (ja) | プロセス実行制御方法 | |
| CN114816777B (zh) | 命令处理装置、方法、电子设备以及计算机可读存储介质 | |
| CN115567425A (zh) | 一种互联网分布式主动探测方法及系统 | |
| JPH0877029A (ja) | 負荷率に基づいた処理要求実行順序制御方式 | |
| KR101639947B1 (ko) | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 | |
| US20020196799A1 (en) | Throttling queue | |
| JPH0991257A (ja) | Cpu管理方式 | |
| JP2001282560A (ja) | 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体 | |
| JPH07234847A (ja) | ジョブのスケジューリング方法 | |
| CN116382844A (zh) | 一种分布式存储多异步任务动态控制方法及系统 | |
| CN115934335A (zh) | 任务处理方法以及相关设备 | |
| JPH0612395A (ja) | マルチプロセサシステムにおけるタスク割り付け方法 | |
| JP2023009934A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム |