JPH0566954A - タイムスライス最適化方式 - Google Patents

タイムスライス最適化方式

Info

Publication number
JPH0566954A
JPH0566954A JP25290991A JP25290991A JPH0566954A JP H0566954 A JPH0566954 A JP H0566954A JP 25290991 A JP25290991 A JP 25290991A JP 25290991 A JP25290991 A JP 25290991A JP H0566954 A JPH0566954 A JP H0566954A
Authority
JP
Japan
Prior art keywords
time slice
unit
program
value
system load
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
JP25290991A
Other languages
English (en)
Inventor
Ryoichi Shibano
良一 芝野
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.)
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe Ltd
Original Assignee
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe 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 KOBE NIPPON DENKI SOFTWARE KK, NEC Software Kobe Ltd filed Critical KOBE NIPPON DENKI SOFTWARE KK
Priority to JP25290991A priority Critical patent/JPH0566954A/ja
Publication of JPH0566954A publication Critical patent/JPH0566954A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 各プログラムのタイムスライス値をシステム
の状態に合わせて自動的に調整を行い、容易に効率的な
システム運用が行えるようにする。 【構成】 タイムスライス情報格納部1により各プログ
ラムのタイムスライス情報を格納し、ディスパッチ部4
でこのタイムスライス情報格納部1に格納されているタ
イムスライス値を基に各プログラムにCPUをディスパ
ッチし、システム負荷状態監視部2でシステムの負荷状
態を監視し、タイムスライス最適化部3によりディスパ
ッチ部4から一定間隔で実行されシステム負荷状態監視
部2から得た情報を基にタイムスライス情報格納部1に
格納している各プログラムのタイムスライス値を最適化
する構成にした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は各プログラム毎に異なる
タイムスライスを用いてCPUディスパッチを行うマル
チプログラミングシステムにおいて、システムの負荷状
態に合わせて自動的にタイムスライス値の調整をするこ
とができるタイムスライス最適化方式に関するものであ
る。
【0002】
【従来の技術】従来、マルチプログラミングシステムで
は、特定のプログラムが長時間CPUを占有することを
防ぐためにタイムスライスを用いたCPUディスパッチ
を行っていた。このタイムスライスはプログラム毎また
は複数のプログラムからなるプログラムグループ毎に設
定される。そして、一般に計算処理を主体とするプログ
ラムの場合はディスパッチされたCPUをタイムスライ
スを使いきって放棄することが多く、逆にインタラクテ
ィブ処理や入出力処理が主体のプログラムの場合はディ
スパッチされたCPUを入出力の完了待ちやその他のイ
ベント待ち等の理由でタイムスライスを使いきらずに放
棄することが多い。また、CPUの使用が放棄された時
点でディスパッチング処理が実行されシステムのオーバ
ヘッドの一部となるため、システムの使用効率をより高
めるためにはタイムスライスの値を大きくし単位時間当
たりのディスパッチング処理の実行回数を減らすことが
有用である。
【0003】しかし、各プログラムのタイムスライス値
を大きくすると、システムの負荷が軽い場合は特に問題
にはならないが、システムの負荷が高くなるとインタラ
クティブ処理を主体とするプログラムの応答性が極端に
遅くなってしまう。したがって、システムの負荷が軽い
間は長めのタイムスライス値が有効であり、負荷が高く
なると短めのタイムスライス値が有効となる。
【0004】
【発明が解決しようとする課題】上述した従来の方式で
は、各プログラムに設定するタイムスライスは固定であ
り、システムの状態に合わせて自動的に変更することは
できないという課題があった。
【0005】
【課題を解決するための手段】本発明のタイムスライス
最適化方式は、各プログラム毎に異なるタイムスライス
値を用いてCPUディスパッチを行うマルチプログラミ
ングシステムにおいて、現在実行している各プログラム
毎にそのプログラムに関するタイムスライス情報を格納
するタイムスライス情報格納部と、一定間隔でシステム
の負荷状況を監視しているシステム負荷状態監視部と、
一定期間毎に上記システム負荷状態監視部より取得した
その期間のシステム負荷状態より上記タイムスライス情
報格納部に格納した各プログラムのタイムスライス値を
最適化するタイムスライス最適化部と、このタイムスラ
イス最適化部で最適化して上記タイムスライス情報格納
部に格納しているタイムスライス値で上記CPUをプロ
グラムにディスパッチするディスパッチ部を設け、シス
テムの状態に合わせて自動的にタイムスライス値を調整
するようにしたものである。
【0006】
【作用】本発明においては、一定期間毎にその間のシス
テム負荷状態により各プログラムのタイムスライス値を
見直し、最適なシステム運用が行えるように自動的にタ
イムスライス値の調整を行うようにする。
【0007】
【実施例】図1は本発明の一実施例を示すブロック図で
ある。この図1において、1は現在実行している各プロ
グラム毎にそのプログラムに関するタイムスライス情報
を格納するタイムスライス情報格納部、2は一定間隔で
システムの負荷状況を監視しているシステム負荷状態監
視部、3は一定期間毎にシステム負荷状態監視部2より
取得したその期間のシステム負荷状態よりタイムスライ
ス情報格納部1に格納した各プログラムのタイムスライ
ス値を最適化するタイムスライス最適化部、4はこのタ
イムスライス最適化部3で最適化してタイムスライス情
報格納部1に格納しているタイムスライス値でCPUを
プログラムにディスパッチするディスパッチ部である。
【0008】ここで、上記システム負荷状態監視部2は
周期的にシステムの負荷状況を監視しているシステム負
荷状態監視部であり、タイムスライス最適化部3は一定
期間毎にシステム負荷状態監視部2より得る現在のシス
テムの負荷状況によって各プログラムに設定したタイム
スライス値に対する調整値を計算しタイムスライス情報
格納部1に格納された各プログラムのタイムスライス値
を調整するタイムスライス最適化部である。また、ディ
スパッチ部4は次に実行すべきプログラムを決定しその
プログラムに対しタイムスライス情報格納部1に格納さ
れたタイムスライス値でCPUをディスパッチするとと
もに一定期間毎にタイムスライス最適化部3を実行する
ディスパッチ部である。そして、システムの状態に合わ
せて自動的にタイムスライス値を調整するように構成さ
れている。
【0009】図2は図1におけるタイムスライス情報格
納部1の構成例を示す説明図である。この図2におい
て、11はそのプログラムに最初に設定されたタイムス
ライス初期値を示し、12は現在のタイムスライス値、
13は取り得ることのできるタイムスライス値の最大
値、14はタイムスライス値の最小値を示す。そして、
これらの情報は対応するプログラムが実行可能になった
時点で新しく用意され値が格納される。その場合、現在
のタイムスライス値12の値はタイムスライス初期値1
1と同じ値が格納される。
【0010】図3は図1におけるディスパッチ部4のア
ルゴリズムの例を示すフローチャートである。まずシス
テム起動時にディスパッチ部4がタイムスライス最適化
部3を実行する間隔を設定する(ステップ101)。つ
ぎに、実行すべきプログラムを決定し、そのプログラム
のタイムスライス情報を格納しているタイムスライス情
報格納部1を参照し、図2に示す現在のタイムスライス
値12だけそのプログラムにCPUをディスパッチする
(ステップ102〜104)。そして、そのプログラム
がCPUの使用を放棄すると、ディスパッチ部4は以前
タイムスライス最適化部3を実行してから設定した期間
が過ぎたかどうかを調べる(ステップ105,10
6)。過ぎていた場合にはタイムスライス最適化部3を
実行し、次にタイムスライス最適化部3を実行するまで
の期間を設定する(ステップ107,108)。その
後、ディスパッチ部4は次に実行するプログラムの選定
に戻る。
【0011】図4は図1におけるタイムスライス最適化
部3のアルゴリズムの例を示すフローチャートである。
まず、タイムスライス最適化部3はディスパッチ部4に
より一定期間毎に実行される。そして、タイムスライス
最適化部3はシステム負荷状態監視部2より前回調べて
から今までのシステムの負荷状況を取得する。この例で
はシステムの負荷状況としてその期間中のアイドルCP
U比率を取得している(ステップ201)。つぎに、こ
のシステム負荷状況よりタイムスライス値の調整を行う
べきか否か、または調整する場合はその調整値をどのく
らいにするかを決定する。この例の場合はアイドルCP
U比率が25%以下の場合はシステムの負荷が高いとみ
なし(ステップ202)、次回からのタイムスライス値
を減らすために調整値としてマイナスの値(−△)を設
定する(ステップ203)。逆にアイドルCPU比率が
75%以上の場合(ステップ204)はシステムの負荷
が軽いとみなし、次回からのタイムスライス値を増やす
ために調整値としてプラスの値(+△)を設定する(ス
テップ205)。ここで、アイドルCPU比率が25%
以下でも85%以上でもない場合には、現在のタイムス
ライス値が妥当であるとみなし、タイムスライス値の調
整は行わない。
【0012】つぎに、各実行中のプログラムに対応する
タイムスライス情報格納部1を順番に調べ(ステップ2
06)、タイムスライス情報格納部1内の現在のタイム
スライス値12の値に上記調整値を加える(ステップ2
07)。ただし、加算した後の値が上記タイムスライス
情報格納部1内のタイムスライス値の最大値13より大
きくなった場合は(ステップ208)、現在のタイムス
ライス値12の値をタイムスライス値の最大値13にす
る(ステップ209)。これはタイムスライス値が無限
に大きくなるのを防ぐためである。また、加算した後の
値が上記タイムスライス情報格納部1内のタイムスライ
ス値の最小値14より小さくなった場合には(ステップ
210)、現在のタイムスライス値12の値をタイムス
ライス値の最小値14にする(ステップ211)。これ
はタイムスライス値が「0」以下になることを防ぐため
である。
【0013】そして、上記調整値の決め方は図4の例の
方法の他に図5に示すような表を用いて行うこともでき
る。図5は図1におけるタイムスライス最適化部3で使
用する調整値決定用の表の一例を示す説明図である。こ
の場合はシステム負荷状態監視部2より得たアイドルC
PU比率で表の条件部を検索し、合致した条件部の横の
調整値をタイムスライスの調整値とするとともに、その
値が「0」の場合は調整の必要がないものとする。
【0014】図6は図1におけるシステム負荷状態監視
部2の構成例を示すブロック図である。システム負荷状
態監視部2は、一定時間間隔で割り込みを発生させるタ
イマ部21と、このタイマ部21の発生する割り込み毎
にシステムの負荷状態を調べるシステム状態調査部22
と、このシステム状態調査部22の結果を記録保存する
システム状態記録部24と、タイムスライス最適化部3
からの状態問い合わせに対してシステム状態記録部24
の内容より現在のシステムの負荷状態を答えるシステム
状態回答部23から構成されている。
【0015】図7はこの図6におけるシステム状態調査
部22のアルゴリズムの例を示すフローチャートであ
る。システム状態調査部22は、起動時にまず、システ
ム状態記録部24内の各値を「0」にクリアし(ステッ
プ301)、つぎに、システム状態を監視する間隔を示
す割り込み間隔をタイマ部21に設定する(ステップ3
02)。タイマ部21からの割り込みが発生する毎にC
PUの状態を調べ(ステップ303,304)、CPU
が使用中であれば(ステップ305)、システム状態記
録部24内のCPUビジー回数に「1」足す(システム
306)。使用中で無い場合には同じくシステム状態記
録部24内のCPUアイドル回数に「1」足す(ステッ
プ307)。その後再度割り込み待ちに戻る。
【0016】図8は図6におけるシステム状態回答部2
3のアルゴリズムの例を示すフローチャートである。ま
ず、システム状態回答部23は、タイムスライス最適化
部3より実行され、システム状態記録部24の内容を調
べシステムの負荷状態を回答する。この例では、まず、
システムの負荷状態として図8の最初のステップ401
で計算されるアイドルCPU比率を求める。つぎに、シ
ステム状態記録部24内の各値を「0」にクリアする
(ステップ402)。最後に上記で求めたアイドルCP
U比率を問い合わせ元であるタイムスライス最適化部3
に回答する(ステップ403)。
【0017】
【発明の効果】以上説明したように本発明は、一定期間
毎にその間のシステム負荷状態により各プログラムのタ
イムスライス値を見直し、最適なシステム運用が行える
ように自動的にタイムスライス値の調整を行うようにし
たので、一定期間毎にシステムの負荷状況により自動的
に各プログラムのタイムスライス値を調整することがで
きるため、容易に効率の良い最適なシステム運用ができ
るという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1におけるタイムスライス情報格納部の構成
例を示す説明図である。
【図3】図1におけるディスパッチ部のアルゴリズムの
例を示すフローチャートである。
【図4】図1におけるタイムスライス最適化部のアルゴ
リズムの例を示すフローチャートである。
【図5】図1におけるタイムスライス最適化部で使用す
る調整値決定用の表の一例を示す説明図である。
【図6】図1におけるシステム負荷状態監視部の構成例
を示すブロック図である。
【図7】図6におけるシステム状態調査部のアルゴリズ
ムの例を示すフローチャートである。
【図8】図6におけるシステム状態回答部のアルゴリズ
ムの例を示すフローチャートである。
【符号の説明】
1 タイムスライス情報格納部 2 システム負荷状態監視部 3 タイムスライス最適化部 4 ディスパッチ部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 各プログラム毎に異なるタイムスライス
    値を用いてCPUディスパッチを行うマルチプログラミ
    ングシステムにおいて、現在実行している各プログラム
    毎にそのプログラムに関するタイムスライス情報を格納
    するタイムスライス情報格納部と、一定間隔でシステム
    の負荷状況を監視しているシステム負荷状態監視部と、
    一定期間毎に前記システム負荷状態監視部より取得した
    その期間のシステム負荷状態より前記タイムスライス情
    報格納部に格納した各プログラムのタイムスライス値を
    最適化するタイムスライス最適化部と、このタイムスラ
    イス最適化部で最適化して前記タイムスライス情報格納
    部に格納しているタイムスライス値で前記CPUをプロ
    グラムにディスパッチするディスパッチ部を設け、シス
    テムの状態に合わせて自動的にタイムスライス値を調整
    するようにしたことを特徴とするタイムスライス最適化
    方式。
JP25290991A 1991-09-05 1991-09-05 タイムスライス最適化方式 Pending JPH0566954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25290991A JPH0566954A (ja) 1991-09-05 1991-09-05 タイムスライス最適化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25290991A JPH0566954A (ja) 1991-09-05 1991-09-05 タイムスライス最適化方式

Publications (1)

Publication Number Publication Date
JPH0566954A true JPH0566954A (ja) 1993-03-19

Family

ID=17243858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25290991A Pending JPH0566954A (ja) 1991-09-05 1991-09-05 タイムスライス最適化方式

Country Status (1)

Country Link
JP (1) JPH0566954A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281908A (ja) * 1994-04-04 1995-10-27 Internatl Business Mach Corp <Ibm> 目標制御データを生成する作業負荷を管理する方法及び装置
JPH08328881A (ja) * 1995-05-29 1996-12-13 Nec Corp タスクのスケジューリング方式
JP2001525570A (ja) * 1997-12-03 2001-12-11 ストリームコア 幾人かのユーザの間における資源の分担管理用装置
JP2003256394A (ja) * 2002-03-05 2003-09-12 Nec Corp トランザクション処理の負荷分散方法およびそのシステム
WO2007001014A1 (ja) * 2005-06-28 2007-01-04 Xanavi Informatics Corporation 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
CN113886077A (zh) * 2021-09-28 2022-01-04 北京威努特技术有限公司 一种针对cpu上下文切换的性能提升方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281908A (ja) * 1994-04-04 1995-10-27 Internatl Business Mach Corp <Ibm> 目標制御データを生成する作業負荷を管理する方法及び装置
JPH08328881A (ja) * 1995-05-29 1996-12-13 Nec Corp タスクのスケジューリング方式
JP2001525570A (ja) * 1997-12-03 2001-12-11 ストリームコア 幾人かのユーザの間における資源の分担管理用装置
JP2003256394A (ja) * 2002-03-05 2003-09-12 Nec Corp トランザクション処理の負荷分散方法およびそのシステム
WO2007001014A1 (ja) * 2005-06-28 2007-01-04 Xanavi Informatics Corporation 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
JP2007011491A (ja) * 2005-06-28 2007-01-18 Xanavi Informatics Corp 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
CN100465902C (zh) * 2005-06-28 2009-03-04 株式会社查纳位资讯情报 信息终端、计算机资源管理方法和虚拟计算机的运行切换方法
US8365180B2 (en) 2005-06-28 2013-01-29 Xanavi Informatics Corporation Information terminal, computer resource managing method, and virtual machine execution switching method
CN113886077A (zh) * 2021-09-28 2022-01-04 北京威努特技术有限公司 一种针对cpu上下文切换的性能提升方法

Similar Documents

Publication Publication Date Title
US5448735A (en) Task organization for execution using linked records referencing code modules
US6349321B1 (en) Data processing system and scheduling method
US8370846B2 (en) Task execution device and method
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
JP3610120B2 (ja) トランザクション・システム内のサーバの数を動的に制御する方法
US20220083375A1 (en) Method and apparatus for scheduling task processing entity
US6304891B1 (en) Execution control for processor tasks
US6951019B1 (en) Execution control for processor tasks
US20100031266A1 (en) System and method for determining a number of threads to maximize utilization of a system
US6854116B1 (en) Execution control for process task
JPH0566954A (ja) タイムスライス最適化方式
US6604200B2 (en) System and method for managing processing
US5835767A (en) Method and apparatus for controlling available processor capacity
JPH05241860A (ja) タイムスライス最適化方式
JP2001236236A (ja) タスク制御装置およびそのタスクスケジューリング方法
JP3005562B1 (ja) タスク管理装置及びタスクスケジューリング方法
JP3027526B2 (ja) ジョブスケジュール方法
JPH08235047A (ja) 排他ウエイト削減制御方法
CN116561226B (zh) 一种数据同步方法、装置、介质
JPH08314740A (ja) プロセスディスパッチ方法
JP2566002B2 (ja) タスクディスパッチング方式
JPH0736831A (ja) ジョブ制御方式
JPH06236285A (ja) ジョブスケジュール方式
JPS595370A (ja) 処理時間管理方式