JP2004538561A - 処理の実行を制御するスケジューリング方法およびシステム - Google Patents

処理の実行を制御するスケジューリング方法およびシステム Download PDF

Info

Publication number
JP2004538561A
JP2004538561A JP2003511044A JP2003511044A JP2004538561A JP 2004538561 A JP2004538561 A JP 2004538561A JP 2003511044 A JP2003511044 A JP 2003511044A JP 2003511044 A JP2003511044 A JP 2003511044A JP 2004538561 A JP2004538561 A JP 2004538561A
Authority
JP
Japan
Prior art keywords
multiplier
duration
job
expected duration
level
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
JP2003511044A
Other languages
English (en)
Other versions
JP3828112B2 (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004538561A publication Critical patent/JP2004538561A/ja
Application granted granted Critical
Publication of JP3828112B2 publication Critical patent/JP3828112B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Debugging And Monitoring (AREA)
  • Multi-Process Working Machines And Systems (AREA)
  • General Factory Administration (AREA)
  • Programmable Controllers (AREA)
  • Selective Calling Equipment (AREA)

Abstract

【課題】ジョブの推定持続時間に乗数を与えて計算された閾値をジョブの持続時間が超えたときに、実行時間が長いジョブを検出する作業負荷スケジューラを提供すること。
【解決手段】オペレータが、持続時間が短いジョブの上位レベルと持続時間が長いジョブの下位レベルからなる、乗数の2つの極限値を入力する。次いで、アルゴリズムによって、どのジョブに対しても適切な乗数を計算し、推定持続時間が短い場合は上位レベルに一層の重み付けをするが、乗数は次第にレベルを変動させ、推定持続時間が長い場合は下位レベルにより重要性が与えられる。

Description

【技術分野】
【0001】
本発明は、処理の実行を制御するスケジューリング方法およびシステムに関する。
【背景技術】
【0002】
スケジューリング方法は、たとえばバッチ処理における一連のジョブを管理するいくつかのアプリケーションにおいて一般に使用される。通常、スケジューリングにはプランの構築が含まれ、このプランは、ジョブの実行を依頼し制御するのに使用される、指定された順序で構成されるジョブの流れからなる。プランの構築には、各ジョブの期待持続時間の予測が必要である。たとえば、推定持続時間は、以前実行されたジョブの完了したインスタンスの測定持続時間の平均に設定される。
【0003】
ジョブが推定持続時間よりはるかに長く実行されると、ジョブの実行を制御する作業負荷スケジューラが、対応する異常状態を検出する。この状況では、オペレータに警告を行うことが望ましい。オペレータは、たとえば実行時間が長いジョブをキャンセルして介入を行う必要があるかどうか決定する。あるいは、スケジューラは、(限界であると分類された場合)追加のシステム資源をジョブに与えるために作業負荷マネージャを呼び出す。
【0004】
一般的な手法は、推定持続時間に乗算する因子を指定することである。その結果得られる数によって、ジョブの現時点での持続時間に対する閾値が与えられる。現時点での持続時間が閾値を超えると、ジョブは実行時間が長いとみなされてそれに対応する動作が行われる。
【0005】
当分野において公知の解決方法の欠点は、検出機構が不十分でありほとんど価値がないことである。その結果、作業負荷スケジューラは、不正に動作することがある。
【0006】
具体的には、閾値が低すぎる場合、本当の異常状態が起こっていない場合でも、間違った警告が起こり、またはシステム資源が見境なく使用される。反対に、閾値が高すぎる場合、実行時間が長いジョブは、非常に長い時間が経過した後でないと検出されない。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、上述の欠点を軽減する技術を提供することである。
【課題を解決するための手段】
【0008】
本発明によれば、処理の実行を制御するスケジューリング方法が提供され、この方法は、処理の期待持続時間を推定するステップと、期待持続時間に乗数を掛けて閾値を決定するステップと、処理を実行するステップと、処理の実際の持続時間が閾値を超えたときに異常状態を検出するステップとを含み、乗数は期待持続時間の減少関数として決定される。
【0009】
また、本発明によれば、こうした方法を実施するコンピュータ・プログラム、こうしたプログラムを格納するプログラム製品、および対応するシステムが提供される。
【0010】
本発明による解決方法のさらなる特徴および利点は、本発明を限定するものではない、添付の図面を参照して以下で説明する本発明の好ましい実施形態によって明らかになるであろう。
【発明を実施するための最良の形態】
【0011】
図1を具体的に参照すると、データ処理システム100、たとえばメインフレームを示してある。システム100はいくつかのユニットを含み、そのユニットはシステム・バス(SYS_BUS)105に並列に接続される。具体的には、複数のマイクロプロセッサ(μP)110が、システム100の動作を制御する。マイクロプロセッサ110は、一般に交互配置モジュールを有するDRAMで形成される共用ワーキング・メモリ115にアクセスする。読出し専用メモリ(ROM)120は、システム100を起動する基本プログラムを格納する。
【0012】
様々な周辺ユニットが、ローカル・バス(LOC_BUS)125の周囲にクラスタ化される。より詳細には、大容量記憶装置がハード・ディスク130から構成され、システム100は、たとえばキーボードおよびCD−ROM140用ドライバから構成される入力ユニット(IN)135と、たとえばモニタおよびプリンタから構成される出力ユニット(OUT)145とをさらに含む。ブリッジ・ユニット(BRIDGE)150は、システム・バス105をローカル・バス125とインターフェースさせる。
【0013】
各マイクロプロセッサ110およびブリッジ・ユニット150は、情報を伝送するためにシステム・バス105へのアクセスを要求する主エージェントとして動作することができる。システム・バス105への相互排他を伴うアクセスの認可は、アービタ(ARB)155によって管理される。
【0014】
システムが異なる構造を有する(たとえば単一バスを有する)場合、ミニコンピュータまたはワークステーションのネットワークから構成される場合、異なるユニット(たとえば磁気テープ用ドライバ)を含む場合なども、同様に考慮される。
【0015】
ここで図2を検討すると、動作中のシステムのワーキング・メモリ115の部分的な内容を示してある。情報(プログラムおよびデータ)は通常、ハード・ディスク上に格納され、プログラムがオペレーティング・システムおよび他のアプリケーション・プログラム(図示せず)と共に実行されているときにワーキング・メモリに(少なくとも部分的に)ロードされる。プログラムは、最初にCD−ROMからハード・ディスク上にインストールされる。
【0016】
ワーキング・メモリ115は、オペレータとの情報交換に使用される入出力インターフェース(I/O)205を含む。入出力インターフェース205は、バッチ・コントローラ(BATCH)210と通信する。バッチ・コントローラ210は、(通常、夜間またはシステムがアイドル状態であれば常に)一連の非対話式ジョブの実行を管理する。バッチ処理は、長時間にわたってシステムまたは周辺装置を必要とする動作には特に有益である。
【0017】
バッチ・コントローラ210は、企業のプロダクション作業負荷の記述を格納するデータベース215にアクセスする。作業負荷データベース215は、システム上で実行すべきバッチの各ジョブごとの(それぞれの識別子コードを介してアクセスされる)記録を含む。記録は、ジョブの動作を記述するフィールド(JOB)、実行の予定時間(時間、日付、週、月)、および他のジョブとのあらゆる依存関係によって構成される。実際、システムが時分割技術によって複数のジョブを並列に実行することができても、いくつかのジョブは順序の制約を示すことが多い。たとえば、あるジョブによって使用されるべき資源(ファイルなど)が別のジョブによってアクセスされている場合、そのジョブの実行は、他方のジョブの実行が完了するまでは開始しないことが必要である。記録は、ジョブの推定持続時間を示すフィールド(ED)をさらに含む。
【0018】
実行すべきジョブの記述およびその推定持続時間はバッチ・コントローラ210に提供され、次いでプラン・ビルダ(BUILDER)220に伝送される。ビルダ220は、指定された期間に所定の順序でジョブの実行の流れを制御するスケジューリング・プランを作成する。プランは、(たとえばシステム負荷を調整し、またはピーク性能を最適化する)予め設定されたスケジューリング戦略によって構築される。プランは、バッチ・コントローラ210を介して、プラン実行装置(EXEC)225に供給される。プラン実行装置225は、プロダクション環境(RUN)230内でバッチを実行依頼し、それに応じてジョブの実行を制御する。
【0019】
バッチ・コントローラ210は、構成リポジトリ(CONFIG)235へのパラメータ入力をさらに管理する。リポジトリ235に格納された構成パラメータは、論理ユニット(LOGIC)240に供給される。論理ユニット240はさらに、バッチ・コントローラ210から現在の各ジョブの推定持続時間EDを受け取る。論理ユニット240は、以下で説明するように、現在のジョブに対する乗数(MF)を計算する。乗数MFおよび推定持続時間EDは、乗算ブロック250に入力される。乗算ブロック250は、現在のジョブに対応する閾値(TH)を計算し、この値は比較ブロック(COMP)255に供給される。比較ブロック255はさらに、ジョブの現時点での持続時間(CD)を受け取る。現時点での持続時間CDは、プラン実行装置225によって、(システム・クロックによって提供される)現在の時間からジョブの実際の開始時間を減算して測定される。比較ブロック255は、予想より長く実行されているジョブから生じるどの異常状態も検出し、それに応じてプラン実行装置225に通知を行う。異常状態はさらに、バッチ・コントローラ210および入出力インターフェース205を介してオペレータに報告される。
【0020】
ジョブがその実行を(すべての動作が完了した、異常状態に応答してオペレータによってキャンセルされた、またはエラーが起きたために)終了すると、フィードバック情報がプラン実行装置225からバッチ・コントローラ210に、次いで入出力インターフェース205に返される。フィードバック情報は、ジョブの実際の開始時間、ジョブの実際の終了時間、動作の結果を指定する戻りコードなどを含む。プラン実行装置225はまた、実際の終了時間から実際の開始時間を減算することによって、ジョブの実際の持続時間(AD)を測定する。
【0021】
実際の持続時間ADは、推定モジュール(EST)235に供給され、推定モジュール235は、実際の持続時間ADを使用して、ジョブが今後どれだけ長く実行されるべきか予測する。各実行の実際の持続時間ADに重み付けをしてジョブの持続時間の継続的に変化する平均をとるアルゴリズムが適用される。具体的には、ジョブの実行回数に従って減少する値を有する因子を実際の持続時間ADに乗算し、その結果を用いて現時点での推定持続時間を見直す。見直された推定持続時間EDはバッチ・コントローラ210に提供され、次いで作業負荷データベース215の対応する記録に格納される。
【0022】
(上で説明した様々なモジュールからなる)スケジューリング・プログラム全体およびデータが異なるやり方で構成される場合、たとえば作業負荷データベースおよび構成リポジトリが単一のインベントリから構成される場合または等価なメモリ構造で置き換えられる場合、異なる機能が提供される場合、推定持続時間が異なる方法(たとえばジョブの完了した各インスタンスの実際の持続時間を累算してその実際の実行平均を計算する)で予想される場合も、同様に考慮される。
【0023】
ここで図3を参照すると、(システム上で実行中の)スケジューリング・プログラムは、ブロック303で始まる方法300を実施する。次いで、方法はブロック306に移り、ここで一連の可能な選択肢を有するメニューがシステムのモニタに表示される。この方法は、選択された選択肢に対応する動作を実行する。具体的には、構成パラメータを編集する機能をオペレータが選択した場合、ブロック309〜333が実行され、これに対して、ジョブを依頼する機能をオペレータが選択した場合、ブロック336〜366が実行される。それ以外に、オペレータが終了選択肢を選択した場合、方法は最終ブロック367で終わる。
【0024】
ここでブロック309(編集機能)を検討すると、方法は、どのようにして乗数MFが定義されるかを検査する。乗数MFが推定持続時間EDの一次関数として計算される場合、方法はブロック312に移る。オペレータは、持続時間が短いジョブに関連づけられた乗数の上位レベルULを入力する。ブロック315に進むと、オペレータは、持続時間が長いジョブに関連づけられた乗数の下位レベルLL(ただしLL<UL)を入力する。方法は、ブロック318に進み、ここでオペレータは乗数に対するブレーク限度(break limit)BLを入力する。ブレーク限度BLは、乗数がどれだけ速く上位レベルULと下位レベルLLの間で変動するか定義し、さらに、乗数を安定させるためのキャップ(cap)としても使用される。方法は次いで、ブロック306に戻って新しいコマンドを待つ。
【0025】
ブロック309を再度参照すると、乗数MFが推定持続時間EDの双曲線関数として計算される場合、方法は試験ブロック321に移る。オペレータが(双曲線の凹みを更新するための)基準係数Aの定義を望む場合、方法はブロック324に移り、ここでオペレータは基準係数Aを入力する。定義を望まない場合、基準係数はブロック327で定数値1に設定される。いずれの場合も、オペレータはブロック330でパラメータBを入力し、さらにブロック333でパラメータCを入力する。パラメータBとCの間の比率により、持続時間が短いジョブに対する乗数の上位レベルが定義される。次いで、方法はブロック306に戻る。
【0026】
ここでブロック336(実行依頼機能)を参照すると、現在のジョブの推定持続時間EDが論理ユニットに提供される。論理ユニットは、ブロック339で乗数MFがどのようにして定義されるか検査する。乗数MFが推定持続時間EDの一次関数として計算される場合、方法は試験ブロック342に移る。推定持続時間EDがブレーク限度BLより大きい場合、ブロック348で乗数MFは下位レベルLLに設定される(MF=LL)。逆の場合、乗数MFは、期待持続時間ED=0に対する上位レベルULと期待持続時間ED=BLに対する下位レベルLLとの間の一次補間として以下の式で計算される。
【0027】
【数1】
Figure 2004538561
【0028】
いずれの場合も、方法は次いで、(以下で説明する)ブロック351に進む。
【0029】
たとえば、オペレータが上位レベルULに対して値3(すなわち、非常に持続時間が短いジョブは、推定持続時間より3倍長く実行されたとき遅延したことになる)を、下位レベルLLに対して値0.1(すなわち、非常に持続時間が長いジョブは、推定持続時間を10%超えて実行されたとき遅延したことになる)を選択すると決定したとする。さらに、乗数MFは、24時間(BL=1440分)を超えるどの推定持続時間に対しても0.1で安定するべきである。この場合、1分のジョブは、2.997986分実行された場合遅延したとみなされる(すなわち、アルゴリズムは上位レベルULに多くの重み付けをする)。24時間のジョブは、1584分(1440+10%)実行された場合遅延したとみなされる。いくつかの中間例によって、乗数MFが推定持続時間EDとともにどのようにして変化するか説明される。
【0030】
【表1】
Figure 2004538561
【0031】
乗数MFが推定持続時間EDとともにどのように変化するか図示する対応する曲線を、図4に実線で示す。
【0032】
別の例では、オペレータは、ブレーク限度BL=240分(4時間)と設定する。この場合、乗数MFは次第に減少し、次いで4時間以上で定数0.1で安定する。
【0033】
【表2】
Figure 2004538561
【0034】
対応する曲線を、図4に破線で示す。
【0035】
再度ブロック339を参照すると、乗数MFが推定持続時間EDの双曲線関数として計算される場合、方法はブロック354に移り、ここで乗数MFは以下の公式によって定義される。
【0036】
【数2】
Figure 2004538561
【0037】
方法は次いで、ブロック351に進む。
【0038】
たとえば、A=1、B=500およびC=100を用いると、12時間の期間に渡って以下の値が得られる。
【0039】
【表3】
Figure 2004538561
【0040】
乗数MFが推定持続時間EDとともにどのように変化するかを図示する対応する曲線を、図5に示す。
【0041】
ここでブロック351を検討すると、閾値THは、推定持続時間EDを因子MFで乗算して、すなわちTH=MF・EDで計算される。ジョブは、ブロック357で依頼され、方法は次いで、ブロック360でジョブの実行が終了したか検証する。終了した場合、方法はブロック306に戻って新しいコマンドを待つ。終了していない場合、試験ブロック363に入る。ジョブの現時点での持続時間CDが閾値THを超えている場合、ブロック366で異常状態が検出され、それに応じてオペレータに通知が行われる。方法は次いで、ブロック306に戻る。閾値を超えていない場合、方法はブロック360に戻って上記の動作を繰り返す。
【0042】
たとえばエラー・ルーチン、動作レベルで乗数を上書きする例外処理機能、ジョブを追跡する監視機能などを有する等価な方法をプログラムが実行する場合も、同様に考慮される。あるいは、こうした方法は、分散コンピュータ・ネットワークにおけるシステム資源の制御や、異なるアプリケーションにおける他のどのような処理にも使用される。
【0043】
より全般的には、本発明は、処理の実行を制御するスケジューリング方法を提供する。この方法は処理の期待持続時間を推定し、次いで期待持続時間に乗数を与えることによって閾値が決定される。処理が実行されて処理の実際の持続時間が閾値を超えると異常状態が検出される。本発明の方法では、乗数は期待持続時間の減少関数として決定される。
【0044】
この考案した解決方法により、実行時間が長いどのジョブも非常に正確に検出される。これにより、作業負荷スケジューラの動作が改善される。その結果、作業負荷スケジューラが発するどの警告も、予想されたよりもはるかに長く実行されているジョブによる本当の異常状態を常に示す。システム資源を、推定持続時間より実際に長く実行されている限界のジョブに対して作業負荷マネージャが適正に使用することもできる。
【0045】
実際、本発明の発明者は、持続時間がかなり異なるジョブから各バッチが構成される通常のシナリオでは、予め設定された乗数値が許容されないことに気づいた。
【0046】
たとえば、ある程度の時間が経過した後で持続時間が長いジョブの異常状態を検出するためには、小さい乗数が望ましい。ただし、この場合持続時間が短いジョブの(仮定される)異常状態は、ジョブがわずか数秒間オーバーランした(より短いジョブに比較的多く影響を与える軽微な摂動によって引き起こされることが非常に多い)後で検出する可能性がある。
【0047】
一方、大きい乗数により、持続時間が短いジョブに受け入れられる閾値が得られる。残念ながら、この場合持続時間が長いジョブの異常状態は何時間も経過した後でないと検出されない。
【0048】
それとは反対に、本発明の解決方法では、実行時間が長いジョブを検出する方法を使用し、この方法は、持続時間が短いジョブの固有の非持久性を考慮しながら、持続時間が長いジョブのどの異常状態も長い時間が経過する前に検出することを可能にする。
【0049】
上述した本発明の好ましい実施形態により、さらに利点が提供される。たとえば、乗数は、(少なくとも一定の範囲の値で)期待持続時間の一次関数として非常に簡単なやり方で計算される。
【0050】
好ましくは、この関数は、下位レベルLL、上位レベルULおよびブレーク限度BLによって定義される。乗数MFに対して望む最高値および最低値を符号化するオペレータにとってパラメータは非常に重要なので、このアルゴリズムは有用である。このようにして、アルゴリズムは、どのジョブに対しても適切な乗数MFを計算し、推定持続時間EDが小さいときには上位レベルULにさらに重み付けをするが、乗数は次第にレベルを変動させ、推定持続時間EDが長くなると下位レベルLLにより重要性が与えられる。
【0051】
さらに、乗数MFは、ブレーク限度BL以上になると、下位レベルLLによって定義された定数で安定する。こうすることにより、乗数MFは上位レベルULから下位レベルLLに次第に減少するとともに、持続時間が非常に長いジョブに許容されるレベルに維持されることが可能になる。
【0052】
あるいは、乗数MFは、推定持続時間EDの双曲線関数として計算される。このようにして、(係数がオペレータにとってあまり重要ではなく、どれが最適の値であるか理解することがより難しい場合でも)乗数MFの曲線は所望の形に操作することができる。
【0053】
好ましくは、双曲線の曲率はさらに、オペレータによって定義することができ、そうすることによって本解決方法をさらに柔軟にすることができる。
【0054】
閾値が違うやり方で定義される場合、異なるパラメータが考察される場合なども同様に考慮される。あるいは、一次関数においてブレーク限度を使用せず、乗数が別の関数、たとえば対数関数、指数関数、より一般的には推定持続時間のどのような減少関数などでも計算される。さらに、本発明による解決方法により、この解決方法自体が、予め設定されたテーブルでも、上述の論理を提供する他のどの方法でも乗数を決定するよう実装されるようになる。
【0055】
有利には、本発明による解決方法は、CD−ROM上で提供されるコンピュータ・プログラム(ソフトウェア)で実装される。
【0056】
あるいは、こうしたプログラムは、フロッピー(R)・ディスクまたはテープで提供され、ハード・ディスクに予め搭載され、または他のどのコンピュータ可読媒体にも格納され、ネットワーク(通常はインターネット)を介してシステムに送られ、同報通信され、より一般的にはコンピュータのワーキング・メモリに直接搭載可能な他のどのような形でも提供される。さらに、本発明による方法により、この方法自体が、たとえば半導体材料のチップに集積されたハードウェア構造でも実行されるようになる。
【図面の簡単な説明】
【0057】
【図1】本発明のスケジューリング方法を使用することができるデータ処理システムを示す基本ブロック図である。
【図2】本システムのワーキング・メモリの部分的な内容を示す図である。
【図3】本システムで実装されるスケジューリング方法を示すフロー図である。
【図4】関数の乗数/推定持続時間の異なる曲線を示す図である。
【図5】関数の乗数/推定持続時間の異なる曲線を示す図である。

Claims (10)

  1. 処理の実行を制御するスケジューリング方法であって、
    処理の期待持続時間を推定するステップと、
    前記期待持続時間に乗数を与えて閾値を決定するステップと、
    前記処理を実行するステップと、
    前記処理の実際の持続時間が前記閾値を超えたときに異常状態を検出するステップとを含み、
    前記期待持続時間の減少関数として前記乗数を決定するステップを特徴とする方法。
  2. 前記乗数を決定するステップが、前記乗数を少なくともある範囲の値で前記期待持続時間の一次関数として計算することを含む、請求項1に記載の方法。
  3. 前記乗数を計算するステップが、
    前記乗数の第1のレベルを設定すること、
    前記第2のレベルが前記第1のレベルより低くなるように、前記乗数の第2のレベルを設定すること、
    前記期待持続時間のブレーク限度を設定すること、
    ゼロに等しい前記期待持続時間に対する前記第1のレベルと前記ブレーク限度に等しい前記期待持続時間に対する前記第2のレベルとの間で前記乗数を一次補間することを含む、請求項2に記載の方法。
  4. 前記乗数を計算するステップが、前記ブレーク限度より大きい前記期待持続時間の任意の値に対して前記第2のレベルに前記乗数を設定することをさらに含む、請求項3に記載の方法。
  5. 前記乗数を決定するステップが、前記期待持続時間の双曲線関数として前記乗数を計算することを含む、請求項1に記載の方法。
  6. 前記乗数を計算するステップが、
    第1のパラメータを設定すること、
    第2のパラメータを設定すること、
    第3のパラメータを設定すること、
    前記期待持続時間と前記第3のパラメータとの積と、前記第2のパラメータとの合計で前記第1のパラメータを割ることによって前記乗数を計算することを含む、請求項5に記載の方法。
  7. 前記第3のパラメータが、予め設定された1に等しい定数である、請求項6に記載の方法。
  8. 請求項1ないし7のいずれかに記載の方法を実施するよう適合されたプログラム・コード手段を含み、コンピュータ上で実行されるコンピュータ・プログラム。
  9. 請求項8に記載のプログラムが格納されるコンピュータ可読媒体を備えるプログラム製品。
  10. 処理の実行を制御するスケジューリング・システム(100)であって、処理の期待持続時間を推定する手段(235)と、前記期待持続時間に乗数を与えて閾値を決定する手段(250)と、前記処理を実行する手段(225)と、前記処理の実際の持続時間が前記閾値を超えたときに異常状態を検出する手段(255)とを含み、前記乗数を前記期待持続時間の減少関数として決定する手段(235、240)をさらに含むシステム。
JP2003511044A 2001-06-29 2002-03-21 処理の実行を制御するスケジューリング方法およびシステム Expired - Fee Related JP3828112B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0115952.4A GB0115952D0 (en) 2001-06-29 2001-06-29 A scheduling method and system for controlling execution of processes
PCT/EP2002/004290 WO2003005136A2 (en) 2001-06-29 2002-03-21 A scheduling method and system for controlling execution of processes

Publications (2)

Publication Number Publication Date
JP2004538561A true JP2004538561A (ja) 2004-12-24
JP3828112B2 JP3828112B2 (ja) 2006-10-04

Family

ID=9917628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003511044A Expired - Fee Related JP3828112B2 (ja) 2001-06-29 2002-03-21 処理の実行を制御するスケジューリング方法およびシステム

Country Status (8)

Country Link
US (1) US7512946B2 (ja)
EP (1) EP1399785B1 (ja)
JP (1) JP3828112B2 (ja)
AT (1) ATE372535T1 (ja)
AU (1) AU2002308150A1 (ja)
DE (1) DE60222259T2 (ja)
GB (1) GB0115952D0 (ja)
WO (1) WO2003005136A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041796B2 (en) * 2002-05-02 2011-10-18 Hewlett-Packard Development Company, L.P. Process duration control
US7441244B2 (en) * 2003-12-10 2008-10-21 International Business Machines Corporation Workload scheduler with cumulative weighting indexes
US7509336B2 (en) * 2004-12-17 2009-03-24 International Business Machines Corporation Workload periodcity analyzer for autonomic database components
ATE409905T1 (de) * 2005-04-21 2008-10-15 Ibm Verfahren und system zur arbeitslastplanung mit verbessertem schema zur aktualisierung der dauer einer geplanten arbeit
EP1715421B1 (en) * 2005-04-21 2008-10-01 International Business Machines Corporation Workload scheduling method and system with improved planned job duration updating scheme
DE102005048037A1 (de) 2005-10-07 2007-04-12 Robert Bosch Gmbh Verfahren zur Steuerung/Regelung wenigstens einer Task
US8843221B2 (en) * 2009-12-09 2014-09-23 Comau Spa Automation management system and method
US9307048B2 (en) * 2010-12-28 2016-04-05 Microsoft Technology Licensing, Llc System and method for proactive task scheduling of a copy of outlier task in a computing environment
US9262216B2 (en) 2012-02-14 2016-02-16 Microsoft Technologies Licensing, LLC Computing cluster with latency control
CN105446801A (zh) * 2014-06-23 2016-03-30 阿里巴巴集团控股有限公司 分布式系统中的任务处理方法和装置
ES2654335T3 (es) 2014-10-23 2018-02-13 Comau S.P.A. Sistema para monitorizar y controlar una instalación industrial
US11573831B2 (en) * 2017-06-20 2023-02-07 International Business Machines Corporation Optimizing resource usage in distributed computing environments by dynamically adjusting resource unit size
IT201800005091A1 (it) 2018-05-04 2019-11-04 "Procedimento per monitorare lo stato di funzionamento di una stazione di lavorazione, relativo sistema di monitoraggio e prodotto informatico"
US10678590B1 (en) * 2019-12-02 2020-06-09 Capital One Services, Llc Batch process monitoring and alerting based on selection of buffer times
CN111413897B (zh) * 2020-03-18 2021-05-14 四川中微芯成科技有限公司 一种安全的任意切换芯片工作模式的方法和芯片

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4952927A (en) 1987-08-05 1990-08-28 Motorola, Inc. Paging receiver with dynamically allocated display rate
EP0559348A3 (en) * 1992-03-02 1993-11-03 AT&T Corp. Rate control loop processor for perceptual encoder/decoder
US5471564A (en) 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
JP2826442B2 (ja) 1993-06-18 1998-11-18 株式会社エフ・エフ・シー 処理走行時間監視方法
JPH09244923A (ja) 1996-03-11 1997-09-19 Hitachi Ltd ウォッチドッグタイマを用いた異常監視装置
JP2000132428A (ja) 1998-10-21 2000-05-12 Toshiba Corp コンピュータシステム、コンピュータシステムのアプリケーション監視方法、及びプログラム記録媒体
US6618742B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
GB2376542B (en) * 2001-06-15 2005-06-29 Ibm A method and system for scheduling execution of activities

Also Published As

Publication number Publication date
EP1399785B1 (en) 2007-09-05
DE60222259D1 (de) 2007-10-18
WO2003005136A2 (en) 2003-01-16
ATE372535T1 (de) 2007-09-15
GB0115952D0 (en) 2001-08-22
JP3828112B2 (ja) 2006-10-04
US20050192750A1 (en) 2005-09-01
AU2002308150A1 (en) 2003-01-21
EP1399785A2 (en) 2004-03-24
US7512946B2 (en) 2009-03-31
WO2003005136A3 (en) 2003-12-04
DE60222259T2 (de) 2008-05-29

Similar Documents

Publication Publication Date Title
CN111176419B (zh) 估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置
JP3828112B2 (ja) 処理の実行を制御するスケジューリング方法およびシステム
Kang et al. Managing deadline miss ratio and sensor data freshness in real-time databases
US7302450B2 (en) Workload scheduler with resource optimization factoring
US9396008B2 (en) System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
WO2017045553A1 (zh) 一种任务分配方法和系统
US7117499B2 (en) Virtual computer systems and computer virtualization programs
US8856793B2 (en) System, method and program for scheduling computer program jobs
US20080244588A1 (en) Computing the processor desires of jobs in an adaptively parallel scheduling environment
US20080162965A1 (en) Managing performance of a processor in a data processing image
US8112644B2 (en) Dynamic voltage scaling scheduling mechanism for sporadic, hard real-time tasks with resource sharing
US20040143664A1 (en) Method for allocating computer resource
WO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
US20090077235A1 (en) Mechanism for profiling and estimating the runtime needed to execute a job
EP3935503B1 (en) Capacity management in a cloud computing system using virtual machine series modeling
US20070266385A1 (en) Performance level setting in a data processing system
US8677375B2 (en) Selecting executing requests to preempt
US20220291959A1 (en) Activity scheduling method, system, terminal and storage medium based on high response ratio
Matani et al. A fault-tolerant workflow scheduling algorithm for grid with near-optimal redundancy
Birkenheuer et al. The gain of overbooking
CN111475261A (zh) 一种云平台弹性度量方法、系统和存储介质
US9043353B2 (en) Query stream execution using priority gradient multiprogramming
Amirijoo et al. Robust quality management for differentiated imprecise data services
KR101013731B1 (ko) 작업 완료 시간 제약에 따라 가용성을 차등적으로 적용하는 유연하고 안정적인 스케줄링 프로그램을 저장한 기록매체 및 이를 이용한 스케줄링 방법
CN115309561A (zh) 一种基于任务协处理芯片进行任务协同处理的方法及系统

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060531

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: 20060627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060705

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: 20100714

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees