JP4961931B2 - ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 - Google Patents

ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 Download PDF

Info

Publication number
JP4961931B2
JP4961931B2 JP2006269082A JP2006269082A JP4961931B2 JP 4961931 B2 JP4961931 B2 JP 4961931B2 JP 2006269082 A JP2006269082 A JP 2006269082A JP 2006269082 A JP2006269082 A JP 2006269082A JP 4961931 B2 JP4961931 B2 JP 4961931B2
Authority
JP
Japan
Prior art keywords
job
queue
information processing
estimated
moved
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.)
Expired - Fee Related
Application number
JP2006269082A
Other languages
English (en)
Other versions
JP2008090507A (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.)
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 JP2006269082A priority Critical patent/JP4961931B2/ja
Priority to US11/905,355 priority patent/US8161485B2/en
Publication of JP2008090507A publication Critical patent/JP2008090507A/ja
Application granted granted Critical
Publication of JP4961931B2 publication Critical patent/JP4961931B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Description

本発明は、複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムにおけるジョブ実行のスケジューリングに関する。
企業内に分散配置されているパーソナルコンピュータ等の情報処理装置(以下、「マシン」と称する)を遊休時に有効に利用するために、各マシンを用いてグリッドコンピューティングシステムを構築することが考えられている。
このようなグリッドコンピューティングシステムを用いて、シミュレーションジョブ等の大規模計算が行われるジョブを実行する立場からは、ジョブの特定に応じて最適なマシンで実行したいという要求がある。例えば、大規模計算が必要なジョブについては、大容量メモリを搭載したマシンにジョブを投入するケース等が該当する(以下、処理を実行させるマシンを指定したジョブを「マシン指定ジョブ」と称する)。
グリッドコンピューティングシステムにおける一般的なスケジューラでは、複数のマシンに共通するキュー(実行待ち行列)を設け、このキューに対してジョブを投入する構成となっている。このような構成では、マシンを指定してジョブを投入することはできない。
このため、マシン毎にキューを設け、マシン指定ジョブについては指定されたマシンに対応するキューへ投入する構成も採用されつつある。また、部門等で複数のマシンをグルーピングし、部門を指定したジョブについては該部門に対応する部門グループに属するいずれかのマシンのキューに投入する構成も考えられている。このような構成の例を図9を用いて説明する。
図9の例では、部門Xに2台のマシン#1、マシン#2を設け、部門Yに1台のマシン#3を設けられている。このうちマシン#2は他のマシン#1、#3と比較して大容量のメモリを搭載したマシンであり、ジョブの処理能力が高い。一方投入されるジョブは、特定のマシンを指定することなくキューに投入されるジョブ、部門を指定して該部門に設けられたマシンのキューに投入されるジョブ、マシンを指定して該マシンに対応するキューに投入されるジョブがある。図9の例では部門Xを指定したジョブについてはマシン#1、マシン#2に対応するキュー#1、キュー#2に投入され、部門Yを指定したジョブについてはマシン#3に対応するキュー#3に投入される。
なお、図中(図9及び後述する図10)における○はジョブを示し、○内の数字はキューグループに投入された順番を示す。図9では、ジョブ1、ジョブ2、ジョブ3がそれぞれマシン1,2,3で実行中であり、ジョブ4からジョブ15が、マシンに対応するキューに投入されて実行待ちの状態にある。
特開平3−19035号公報
上記のような構成において、通常ジョブ(高い優先度が設定されていないジョブ)はマシンが特定されずいずれかのマシンに対応するキューに投入されるか、あるいは指定された部門グループのキューに投入される。
一方マシン指定ジョブはマシンを特定した実行依頼であり、実行環境の選択肢が少なくなることから、通常ジョブと同じ条件で待たせることは好ましくなく、高い優先度で待ち状態にする必要がある場合が多い。
このようにマシン指定ジョブを高優先度設定で投入した場合、指定されたマシンに対応するキューで実行待ちとなっている通常ジョブは、マシン指定ジョブの投入の都度割り込まれてしまう。
この例を図10に示す。この図10は、図9に示した各ジョブの実行状態において、新たにマシン#2に対応するキュー#2に対して優先度の高いジョブA、Bが投入された状態を示す。ジョブA,Bは優先度が高いので、マシン#2が実行中のジョブ2の次に処理がなされるようキューの先頭に割り込みがなされ、ジョブ5,8,11,14はジョブA,Bが終了するまで待たされることとなる。したがって部門X内ではジョブ5より後に投入がなされたジョブ7が先に実行されることとなる。また、アプリA全体では、ジョブ8よりもジョブ9,10、12が先に実行されることとなる。
上記特許文献1を含む従来技術では、上述したように優先度の高くないジョブが早い時刻にキューに投入されたにも係わらず、当該キューに優先度の高いジョブが投入されると待たされてしまい、より遅い時刻に他のキューに投入されたジョブよりも実行が遅くなるという問題点を解消するものはなかった。
この発明は、上述した従来技術による問題点を解消するためになされたものであって、複数の情報処理ユニット毎に該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムにおいて、複数のキューに投入された通常ジョブの実行開始を、できるだけキューへの投入順となるよう平準化させる方法を提供することを目的とする。
本発明は、上記の問題を、
複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、高優先度として設定されたジョブについては高優先度ではない通常ジョブより先に実行されるようキューに投入する制御がコンピュータにより実行されるジョブ実行のスケジューリングプログラムであって、上記コンピュータを、各情報処理ユニットにおいて実行中のジョブの処理終了予想時間と、各情報処理ユニットに対応するキューに投入された高優先度のジョブの処理実行予想時間とに基づいて、各情報処理単位に対応するキュー毎にキュー選択基準値を算出する第一の手段と、全てのキューに投入された通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二の手段と、上記移動処理対象ジョブをキュー選択基準値が最も小さいキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて当該キューにおける新たなキュー選択基準値を算出する処理を実行する第三の手段と、上記第三の手段において処理がなされた移動処理対象ジョブの次にキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三の手段における処理を実行させる第四の手段と、して機能させる構成により解決するものである。
更に、上記コンピュータには、1つまたは複数のキューをグループとして定義するキューグループ定義の記憶手段が更に設けられ、 上記投入されるジョブには、キューグループを指定するための情報が付加されており、上記第三の手段は、上記キューグループを指定するための情報に基づいて上記キューグループ定義を検索して、得られた該キューグループに含まれるキューのうちキュー選択基準値が最も小さいキューに上記移動処理対象ジョブを移動させるよう構成を採用しても良い。
上記の構成により、複数の情報処理ユニット毎に該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムにおいて、複数のキューに投入された通常ジョブ(高い優先度が設定されていないジョブ)の実行開始を、キューへの投入順となるよう平準化させることができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
1)本発明の概念の説明
まず、本発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、本発明の概念を示す図である。
本発明では、対象となるキューから通常ジョブを選択し、優先度の高いマシン指定ジョブの割り当て及び各キューの実行待ち(マシンにおける処理中のジョブの終了予測)に基づいて、キューへの投入順にジョブが実行されるよう調整がなされる。
図1の例では、図の左側が平準化処理前の各キューにおける実行待ちジョブの状態が示されており、これから説明する通常ジョブ平準化機能がなされた状態は図の右側に示されている。
より具体的に説明すると、通常ジョブ平準化機能の実行前は、マシン♯2に対応するキュー#2に優先度の高いマシン指定ジョブであるジョブA,ジョブB、ジョブCが投入されているため、ジョブ5以降のジョブが他のキューに投入されたジョブより待たされた状態となっている。この状態で通常ジョブ平準化機能を実施することにより、投入順に通常ジョブが実行されるよう調整がなされる。
2)本発明の一実施形態におけるシステム構成
次に、本発明の一実施形態におけるシステム構成を図2のブロック図を用いて説明する。
図中、1は本実施形態のジョブのスケジューリングを実行するマスタサーバである。このマスタサーバ1には、図示しないが後述する処理を実行するプロセッサ、該プロセッサを動作させるプログラムや各種テーブル(リスト)及び各種データベース(以下の説明及び図中ではデータベースを「DB」と称する)、キューに投入されたジョブの情報等を保持するための記憶手段(半導体メモリやハードディスクドライブ等)、アプリを実行している利用者端末からのジョブを受信したりキューに投入されたジョブを送出して各マシンに実行させるためにネットワークにアクセスする通信手段を少なくとも有する。
上記のようなハードウェア構成を有するマスタサーバ1において、ジョブスケジューリング機能11は、マシン#1からマシン#3に対応して設けられたキュー#1(21)、キュー#2(22)、キュー#3(23)に利用者端末から受付けたジョブの投入を行う。またこのジョブスケジューリング機能11はジョブ平準化機能を含むものであり、各キューに投入されたジョブの平準化処理を行う。
更にマスタサーバ1には、ジョブスケジューリング機能11がジョブの投入およびジョブの平準化を行うために、利用者情報DB31、キューグループ定義DB32、キュー状況DB33、資源定義DB34が設けられ、また通常ジョブ実行待ちリスト35、通常ジョブ実行待ち投入順リスト36、キュー選択基準値テーブル37といったリスト(テーブル)が設けられる。これらのDBまたはテーブルの具体的な構造については後述する。なお、上述したDB等は、必ずしも物理的にマスタサーバ1上の記憶手段上に構築する必要はなく、マスタサーバ1が容易にアクセスし得る別のハードウェア資源上に構築する構成としても良い。
また、図上ではキュー#1からキュー#3の3つのキューのみを図示しているが、これは後述するアプリAを実施することができる3台のマシンに対応するものである。図示は省略したが複数のアプリに係わるジョブを実施が依頼された場合には、それぞれアプリに対応するマシンにジョブが投入される。
以下、このようなシステムにおけるジョブ投入時の処理およびジョブ平準化処理を説明する。
3)ジョブ投入時の処理
まず、ジョブ投入コマンドの例を以下に示す。

qsub -q キュー名 [-m マシン名] [-local] 実行バッチファイル

ジョブ投入コマンドの命令qsubに付与されるオプションは下記のとおりである。

-q :キュー名としてアプリ名称を指定する。
-m :実行を行うマシンを指定する。
このオプションが指定された場合に、ジョブは指定された計算サーバでのみ実 行される。
-local :ジョブを自部門内のマシンでのみ実行する場合にこれを指定するものであ 。る。
このような指定を可能としたのは、各マシンは(図2では図示を省略した が)各部門に設けられたDBなどの情報資源にアクセスしてジョブを実行する ものであるので、当該部門に設けられたマシンにジョブを実行させたほうが 、他の部門に設けられたマシンにジョブを実行させるよりも、余分なトラフ ィックが生じることがなくなり好都合なためである。
つぎに、ジョブ投入の依頼を受けたマスタサーバ1上のジョブ投入制御処理を図3を用いて説明する。なお、以下の1)から15)で示した各ステップは、図中では丸で囲んだ数字で表記している。
1)ジョブ投入コマンドの-qオプションにて指定されたアプリ名を得る。
2)ジョブ投入コマンドのコマンド列中に-localが指定されているかを解析し、指定され
ている場合は下記のステップ3からステップ6を実行する。一方指定がない場合は 、 下記のステップ7に進む。
3)−localが指定されている場合は、利用者と所属情報(部門名)とを対応づけて記録さ れた利用者情報DBから、利用者の所属情報(部門名)を得る。なお、利用者について は予めマスタサーバ1により認証がなされているのでこの認証情報を用いて利用者を特 定し、該利用者の所属情報を利用者情報DBから検索が成される。
4)利用者の所属に一致する部門名とステップ1で求めたアプリ名から、キューグループ定 義DBのアプリ(部門名)を検索し、ジョブを投入すべきキューリストを得る。例え ば、部門Xの利用者であれば、キュー#1、#2がリストとして得られる。
5)範囲として部門名を設定する。(ここで設定された範囲は後述するステップ15におい てジョブ名に対応する範囲フィールドに記録される。後述するステップ9、12も同 様。)
6)キューリストとして得られたキューから、割り当てられたジョブの数が少ないキュー を選び、ジョブ投入対象のキューとして指定する。
7)上記ステップ2でコマンド列中に-localの指定がない場合には、更に-mでマシン名 が指定されているか否かを解析し、マシン名が指定されている場合はステップ8か ら10に進む。一方マシン名が指定されていない場合はステップ11から13に進む。
8)-mで指定されたマシン名とステップ1で求めたアプリ名から、キューグループ定義DB のアプリ(マシン名)をを検索し、キュー情報を得る。
9)範囲としてマシン名を設定する。
10)ジョブに対して高優先度設定を行う。
11)マシン名が指定されていない場合は、-qオプションに一致するアプリ名から、キュ
ーグループ定義DBのアプリ(全社)を検索し、キューリストを得る。
12)範囲として「全社」を設定する。
13)キューリストとして得られたキューから、割り当てられたジョブの数が少ないキュー
を選び、ジョブ投入対象のキューとして指定する。
14)選択されたキューにジョブを投入する。
なお、上記ステップ10にて高優先度として設定されたジョブについては、割り込みがな されて通常ジョブよりも早く実行されるようキューに投入される。
15)投入されたジョブの状況をキュー状況DBに記録する。
キュー状況DBには、ジョブ名と対応づけて、範囲(上記ステップ5、9、12にて設定 された情報)、優先度(通常ジョブは「中」とする)、投入日時が記録される。
上述した各ステップは、依頼者端末からジョブ投入コマンドを受信するたびに実行さ れる。
4)通常ジョブ平準化機能
次に、キューに投入されたジョブの実行順序を平準化する処理の例を図4及び図5を用いて説明する。
1) キューグループ定義DBから、平準化を行うアプリに対応するキューを選定する。
図4における実施形態では、アプリAを実行するマシンに対応するキューに投入 されたジョブの平準化を行うものであり、キュー#1、#2、#3が選定される 。
なお、図示は省略するが、キューグループ定義DBにはアプリ毎にキューグループ定義がなされており、アプリA以外のアプリに係わるキューについても、同様の平準化制御がなされるものとする(例えば、他のアプリBを実行するマシンに対応してキュー#4、#5、#6が設けられている場合には、キューグループ定義DBからこれらのキューが選定され、後述の動作と同様の平準化処理がなされる)。
2)キュー状況DBを参照して、各キューから実行待ち状態の通常ジョブ(優先度中の ジョブ)を抽出し、通常ジョブ実行待ちリストに記録する。
3)通常ジョブ実行待ちリストに記録された通常ジョブについて、投入日時順に並び替 え、通常ジョブ実行待ち投入順リストに記録する。
4)各キューから、実行中ジョブの経過時間を得る。
5)各キューの実行中ジョブの残り時間を算出する。
この実行中ジョブの残り時間は、下記の計算式で算出される。

実行中ジョブの残り時間(秒)
=アプリの実行制限時間(秒)−実行中ジョブの経過時間(秒)

なお、資源定義DBには各アプリ毎に、マシンがジョブを実行する際の制限時間 が定義されている(図4ではアプリAの制限時間のみを示している)。
本実施形態においては、各マシンの制限時間は均等として設定されている。こ れは、マシン#1、#2、#3がアプリAに係わるジョブの処理時間がほぼ同一とし ているためである。(但し、大規模演算が必要なジョブについてはメモリ容量の大き いマシン#2の処理能力が高いものとする。)
本発明は、マシン毎の処理時間が全く同一か、ほぼ同一の場合に好適である。
6)キュー状況DBから「範囲」のフィールドを参照して、各キューの実行待ち指定ジ ョブ数を得る。
7)各キュー毎に、キュー選択基準値を作成する。
このキュー選択値は、例えば以下の計算式にて算出される。

選択基準値=実行中ジョブの残り時間(秒)
+アプリの実行制限時間(秒)×実行待ちのマシン指定ジョブ数

これは、実行中ジョブの残り時間に加え、高優先度で実行がなされるマシンを考 慮してジョブが全て終了する時間を予測して加算することを意味しており、次に 処理がなされる通常ジョブの処理開始時間を予測してこれを選択基準値とするこ とを意味する。
図4の例では、キュー#2にマシン指定ジョブが3つ投入されているので、通 常ジョブはこれらのマシン指定ジョブが終了してから実行されることとなる。こ のため、制限時間3600秒にジョブ数3を掛けた値を実行中ジョブの残り時間 に加算することで、通常ジョブの処理開始予想時間である13860秒が、キュー# 2の選択基準値として設定される。
8)通常ジョブ実行待ち投入順リストに記載された通常ジョブについて、投入日時の早 いジョブから順に、対応するジョブ情報を読み出して下記9から12の平準化処理
を実行する。
9)読み出したジョブ情報における「範囲」の情報について、キューグループ定義DB を参照して対応するキューを抽出する。図5の例では、ジョブ4ならば範囲は「 全社」である全てのキュー(キュー#1、#2、#3)が抽出される。((ジョ ブ5であれば範囲は「部門X」であるので、部門Xに対応するキューであるキュ ー#1、キュー#2が抽出されることとなる。)
上記ステップ9)で抽出されたキューのうち、キュー選択基準値が小さいキューを選 択する。図5の例では、キュー#1が選択されることとなる。
現在の平準化処理対象ジョブを上記ステップ10で選択されたキューに移動する。な
お、選択されたキューが当該ジョブが投入されたキューであれば移動処理は実行 されない。
現在の平準化処理対象ジョブが存在するキュー(上記ステップ10で移動がなされた
場合は移動先のキュー)について、アプリの制限時間を加算する。
実行待ち投入順リスト上にある全てのジョブ情報についてステップ8から13の処理を 実行した場合は終了する。まだ未実行のジョブ情報があれば、ステップ8から13の処理を実行 する。
5)遷移例
上記の実施形態による平準化処理の一例を図6、図7を用いて説明する。
図6の例では、通常ジョブ実行待ち投入順リストに記載された各通常ジョブのうち、ジョブ4が最も投入日時が早いので、まずジョブ4について移動処理がなされる(図5のステップ8)。
ジョブ4の範囲は全社であり、キューグループ定義DBを参照すると範囲が全社である場合はキュー#1、#2、#3の全てのキューが移動範囲となる(図5のステップ9)。
したがって、移動範囲となるキュー#1、#2、#3のうち、最もキュー選択基準値が小さいキューであるキュー#1が移動先として選択される(図5のステップ10)。
但し、ジョブ4はもともとキュー#1に投入されたジョブであるので、実際には移動処理はされない。
選択されたキュー#1の基準値に、アプリの制限時間を加算する(図5のステップ12)。
ジョブ4について平準化処理が終了したので、ジョブ4の次に投入日時の早いジョブ5が選択される(図5のステップ13、8)。
ジョブ5の範囲は部門Xであり、キューグループ定義DBを参照すると範囲が部門Xである場合はキュー#1、#2が移動範囲となる(図5のステップ9)。
したがって、移動範囲となるキュー#1、#2のうち、最もキュー選択基準値が小さいキューであるキュー#1が移動先として選択される(図5のステップ10)。
ジョブ5がキュー#2から選択されたキュー#1に移動がなされる(図5のステップ11)。
選択されたキュー#1の基準値に、アプリの制限時間を加算する(図5のステップ12
)。
ジョブ5について平準化処理が終了したので、ジョブ5の次に投入日時の早いジョブ6が選択される(図5のステップ13、8)。
以下、ジョブ投入日時が早い通常ジョブから順番に図5のステップ8から12の平準化処理が実行されるが、図6及び図7を参照すれば容易に理解できよう。
このようにして平準化された結果を図8に示す。
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
例えば、本発明においてはグリッドコンピューティングシステムに適用する例を説明したが、他の分散システムに適用しても良い。ジョブを実行する情報処理ユニットはパーソナルコンピュータ等のマシンを例にしたが、物理的には1台のコンピュータ上に実装された複数の情報処理ユニットで分散処理を行うシステムに適用しても良い。
(付記1)
複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、高優先度として設定されたジョブについては高優先度ではない通常ジョブより先に実行されるようキューに投入する制御がコンピュータにより実行されるジョブ実行のスケジューリングプログラムであって、
上記コンピュータを、
各情報処理ユニットにおいて実行中のジョブの処理終了予想時間と、各情報処理ユニットに対応するキューに投入された高優先度のジョブの処理実行予想時間とに基づいて、各情報処理単位に対応するキュー毎にキュー選択基準値を算出する第一の手段と、
全てのキューに投入された通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二の手段と、
上記移動処理対象ジョブをキュー選択基準値が最も小さいキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて当該キューにおける新たなキュー選択基準値を算出する処理を実行する第三の手段と、
上記第三の手段において処理がなされた移動処理対象ジョブの次にキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三の手段における処理を実行させる第四の手段と、
して機能させることを特徴とするジョブ実行のスケジューリングプログラム。
(付記2)
上記コンピュータには、1つまたは複数のキューをグループとして定義するキューグループ定義の記憶手段が更に設けられ、
上記投入されるジョブには、キューグループを指定するための情報が付加されており、
上記第三の手段は、上記キューグループを指定するための情報に基づいて上記キューグループ定義を検索して、得られた該キューグループに含まれるキューのうちキュー選択基準値が最も小さいキューに上記移動処理対象ジョブを移動させることを特徴とする付記1に記載のジョブ実行のスケジューリングプログラム。
(付記3)
複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、高優先度として設定されたジョブについては高優先度ではない通常ジョブより先に実行されるようキューに投入する制御がコンピュータにより行われるジョブ実行のスケジューリング方法であって、
上記コンピュータを、
各情報処理ユニットにおいて実行中のジョブの処理終了予想時間と、各情報処理ユニットに対応するキューに投入された高優先度のジョブの処理実行予想時間とに基づいて、各情報処理単位に対応するキュー毎にキュー選択基準値を算出する第一の手段と、
全てのキューに投入された通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二の手段と、
上記移動処理対象ジョブをキュー選択基準値が最も小さいキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて当該キューにおける新たなキュー選択基準値を算出する処理を実行する第三の手段と、
上記第三の手段において処理がなされた移動処理対象ジョブの次にキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三の手段における処理を実行させる第四の手段と、
して機能させることを特徴とするジョブ実行のスケジューリング方法。
(付記4)
上記コンピュータには、1つまたは複数のキューをグループとして定義するキューグループ定義の記憶手段が更に設けられ、
上記投入されるジョブには、キューグループを指定するための情報が付加されており、
上記第三の手段は、上記キューグループを指定するための情報に基づいて上記キューグループ定義を検索して、得られた該キューグループに含まれるキューのうちキュー選択基準値が最も小さいキューに上記移動処理対象ジョブを移動させることを特徴とする付記3に記載のジョブ実行のスケジューリング方法。
(付記5)
複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、高優先度として設定されたジョブについては高優先度ではない通常ジョブより先に実行されるようキューに投入する制御を行うジョブ実行のスケジューリング装置であって、
各情報処理ユニットにおいて実行中のジョブの処理終了予想時間と、各情報処理ユニットに対応するキューに投入された高優先度のジョブの処理実行予想時間とに基づいて、各情報処理単位に対応するキュー毎にキュー選択基準値を算出する第一の手段と、
全てのキューに投入された通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二の手段と、
上記移動処理対象ジョブをキュー選択基準値が最も小さいキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて当該キューにおける新たなキュー選択基準値を算出する処理を実行する第三の手段と、
上記第三の手段において処理がなされた移動処理対象ジョブの次にキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三の手段における処理を実行させる第四の手段と、
を有することを特徴とするジョブ実行のスケジューリング装置。
(付記6)
上記装置には、1つまたは複数のキューをグループとして定義するキューグループ定義の記憶手段が更に設けられ、
上記投入されるジョブには、キューグループを指定するための情報が付加されており、
上記第三の手段は、上記キューグループを指定するための情報に基づいて上記キューグループ定義を検索して、得られた該キューグループに含まれるキューのうちキュー選択基準値が最も小さいキューに上記移動処理対象ジョブを移動させることを特徴とする付記5に記載のジョブ実行のスケジューリング装置。
本発明の概念を示す図である。 本発明の一実施形態のシステム構成を示す図である。 本発明の一実施形態におけるジョブ投入処理を説明するフローチャートで ある。 本発明の一実施形態の通常ジョブ平準化機能を説明するフローチャート( その1)である。 本発明の一実施形態の通常ジョブ平準化機能を説明するフローチャート( その2)である。 本発明の一実施形態における通常ジョブ平準化の遷移の例を示すフローチ ャート(その1)である。 本発明の一実施形態における通常ジョブ平準化の遷移の例を示すフローチ ャート(その2)である。 本発明の一実施形態における通常ジョブ平準化の結果の例を示す図である。 従来の分散処理システムにおけるジョブのスケジューリング処理の例を示 す図である。 従来の分散処理システムにおけるジョブのスケジューリング処理の問題 点の例を示す図である。
符号の説明
1 マスタサーバ1
11 ジョブスケジューリング機能
21〜23 キュー
31 利用者情報DB
32 キューグループ定義DB32
33 キュー状況DB33
34 資源定義DB
35 ジョブ実行待ちリスト
36 通常ジョブ実行待ち投入順リスト
37 キュー選択基準値テーブル


Claims (5)

  1. 複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、処理を行う情報処理ユニットを指定するマシン指定ジョブについてはマシン指定ではない通常ジョブより先に実行されるようキューに投入するスケジューリング装置としてコンピュータを機能させるジョブ実行のスケジューリングプログラムであって、
    上記コンピュータを、
    上記複数の情報処理ユニットそれぞれにおける実行中のジョブの処理終了予想時間と、上記複数の情報処理ユニットそれぞれに対応するキューのうち、少なくとも1つのキューに投入されているマシン指定ジョブの処理実行予想時間とに基づいて、上記複数の情報処理ユニットそれぞれに対応するキュー毎に、上記キューにマシン指定ジョブが投入されていないキューの場合には実行中のジョブの処理終了予想時間であり、マシン指定ジョブが投入されているキューの場合には、実行中のジョブの処理終了予想時間とマシン指定ジョブの処理実行予想時間との和であるキュー選択基準値を算出する第一の手段と、
    上記複数の情報処理ユニットに対応する複数のキューに投入されている通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二の手段と、
    上記移動処理対象ジョブを、上記複数の情報処理ユニットのキュー選択基準値のうち最も小さいキュー選択基準値が算出されたキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて該キューにおける上記キュー選択基準値と上記移動処理対象ジョブの処理実行予想時間との和である新たなキュー選択基準値を算出する処理を実行する第三の手段と、
    上記第三の手段において処理がなされた移動処理対象ジョブの次に、上記複数の情報処理ユニットに対応する複数のキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三の手段における処理を実行する第四の手段と、
    して機能させることを特徴とするジョブ実行のスケジューリングプログラム。
  2. 上記コンピュータには、上記複数のキューの間でジョブを移動してもよい範囲を定義する範囲定義の記憶手段が更に設けられ、
    上記投入されるジョブには、該ジョブを移動してもよい範囲を指定するための情報が付加されており、
    上記第三の手段は、上記ジョブを移動してもよい範囲を指定するための情報に基づいて上記範囲定義を検索して、得られた該ジョブを移動してもよい範囲に含まれるキューのうちキュー選択基準値が最も小さいキューに上記移動処理対象ジョブを移動させることを特徴とする請求項1に記載のジョブ実行のスケジューリングプログラム。
  3. 複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、処理を行う情報処理ユニットを指定するマシン指定ジョブについてはマシン指定ではない通常ジョブより先に実行されるようキューに投入する制御をコンピュータが実行するジョブ実行のスケジューリング方法であって、
    上記コンピュータが、
    上記複数の情報処理ユニットそれぞれにおける実行中のジョブの処理終了予想時間と、上記複数の情報処理ユニットそれぞれに対応するキューのうち、少なくとも1つのキューに投入されているマシン指定ジョブの処理実行予想時間とに基づいて、上記複数の情報処理ユニットそれぞれに対応するキュー毎に、上記キューにマシン指定ジョブが投入されていないキューの場合には実行中のジョブの処理終了予想時間であり、マシン指定ジョブが投入されているキューの場合には、実行中のジョブの処理終了予想時間とマシン指定ジョブの処理実行予想時間との和であるキュー選択基準値を算出する第一のステップと、
    上記複数の情報処理ユニットに対応する複数のキューに投入されている通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二のステップと、
    上記移動処理対象ジョブを、上記複数の情報処理ユニットのキュー選択基準値のうち最も小さいキュー選択基準値が算出されたキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて該キューにおける上記キュー選択基準値と上記移動処理対象ジョブの処理実行予想時間との和である新たなキュー選択基準値を算出する処理を実行する第三のステップと、
    上記第三のステップにおいて処理がなされた移動処理対象ジョブの次に、上記複数の情報処理ユニットに対応する複数のキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三のステップにおける処理を実行させる第四のステップと
    を実行することを特徴とするジョブ実行のスケジューリング方法。
  4. 上記コンピュータは、上記複数のキューの間でジョブを移動してもよい範囲を定義する範囲定義を記憶するステップ更に実行し
    上記投入されるジョブには、該ジョブを移動してもよい範囲を指定するための情報が付加されており、
    上記第三のステップは、上記ジョブを移動してもよい範囲を指定するための情報に基づいて上記範囲定義を検索して、得られた該ジョブを移動してもよい範囲に含まれるキューのうちキュー選択基準値が最も小さいキューに上記移動処理対象ジョブを移動させることを特徴とする請求項3に記載のジョブ実行のスケジューリング方法。
  5. 複数の情報処理ユニット毎に、該情報処理ユニットにより処理されるジョブが投入されるキューが設けられた分散処理システムに対して、処理を行う情報処理ユニットを指定するマシン指定ジョブについてはマシン指定ではない通常ジョブより先に実行されるようキューに投入する制御を行うジョブ実行のスケジューリング装置であって、
    上記複数の情報処理ユニットそれぞれにおける実行中のジョブの処理終了予想時間と、上記複数の情報処理ユニットそれぞれに対応するキューのうち、少なくとも1つのキューに投入されているマシン指定ジョブの処理実行予想時間とに基づいて、上記複数の情報処理ユニットそれぞれに対応するキュー毎に、上記キューにマシン指定ジョブが投入されていないキューの場合には実行中のジョブの処理終了予想時間であり、マシン指定ジョブが投入されているキューの場合には、実行中のジョブの処理終了予想時間とマシン指定ジョブの処理実行予想時間との和であるキュー選択基準値を算出する第一の手段と、
    上記複数の情報処理ユニットに対応する複数のキューに投入されている通常ジョブのうち、キューへの投入時刻の最も早い通常ジョブを移動処理対象ジョブとして抽出する第二の手段と、
    上記移動処理対象ジョブを、上記複数の情報処理ユニットのキュー選択基準値のうち最も小さいキュー選択基準値が算出されたキューに移動させると共に、該移動処理対象ジョブの処理実行予想時間に基づいて該キューにおける上記キュー選択基準値と上記移動処理対象ジョブの処理実行予想時間との和である新たなキュー選択基準値を算出する処理を実行する第三の手段と、
    上記第三の手段において処理がなされた移動処理対象ジョブの次に、上記複数の情報処理ユニットに対応する複数のキューへの投入時刻の早い通常ジョブを新たな移動処理対象ジョブとして抽出し、上記第三の手段における処理を実行させる第四の手段と、
    を有することを特徴とするジョブ実行のスケジューリング装置。
JP2006269082A 2006-09-29 2006-09-29 ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 Expired - Fee Related JP4961931B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006269082A JP4961931B2 (ja) 2006-09-29 2006-09-29 ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置
US11/905,355 US8161485B2 (en) 2006-09-29 2007-09-28 Scheduling jobs in a plurality of queues and dividing jobs into high and normal priority and calculating a queue selection reference value

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006269082A JP4961931B2 (ja) 2006-09-29 2006-09-29 ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置

Publications (2)

Publication Number Publication Date
JP2008090507A JP2008090507A (ja) 2008-04-17
JP4961931B2 true JP4961931B2 (ja) 2012-06-27

Family

ID=39374596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006269082A Expired - Fee Related JP4961931B2 (ja) 2006-09-29 2006-09-29 ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置

Country Status (2)

Country Link
US (1) US8161485B2 (ja)
JP (1) JP4961931B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5631022B2 (ja) * 2010-03-05 2014-11-26 キヤノン株式会社 処理装置、処理の割り当て方法及びプログラム
US8621477B2 (en) 2010-10-29 2013-12-31 International Business Machines Corporation Real-time monitoring of job resource consumption and prediction of resource deficiency based on future availability
JP6342110B2 (ja) * 2012-11-27 2018-06-13 キヤノンマーケティングジャパン株式会社 マルチテナント型サービスシステム、情報処理装置、制御方法、及びプログラム
JP6029553B2 (ja) * 2013-08-22 2016-11-24 日立オートモティブシステムズ株式会社 車両制御装置
US9857974B2 (en) * 2013-10-03 2018-01-02 International Business Machines Corporation Session execution decision
RU2638635C2 (ru) * 2014-06-20 2017-12-14 Общество с ограниченной ответственностью "Аби Девелопмент" Способ определения приоритета задач, находящихся в очереди серверной системы
US10877796B1 (en) * 2016-06-28 2020-12-29 Amazon Technologies, Inc. Job execution with scheduled reserved compute instances
CN110096241A (zh) * 2018-01-31 2019-08-06 京瓷办公信息系统株式会社 图像形成系统及图像形成方法
JP7014010B2 (ja) * 2018-03-30 2022-02-01 日本電気株式会社 ジョブ実行管理システム、およびジョブ実行管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319035A (ja) 1989-06-16 1991-01-28 Nec Corp ジョブ実行多重度制御方式
JPH04147344A (ja) * 1990-10-09 1992-05-20 Nec Software Ltd マルチタスク実行制御方式
JP3660376B2 (ja) 1994-08-08 2005-06-15 株式会社日立製作所 分散処理システムおよび分散処理システムにおける負荷分散方法
JPH09160890A (ja) * 1995-10-06 1997-06-20 Matsushita Electric Ind Co Ltd マルチプロセッサシステム
US5715457A (en) * 1995-10-06 1998-02-03 Matsushita Electtic Industrial Multiprocessor system for determining assignment of task in view of access time to storage resource
JPH09265459A (ja) * 1996-03-28 1997-10-07 Mitsubishi Electric Corp データ処理装置の制御方法
GB2323945B (en) * 1997-04-04 2002-02-27 Sony Uk Ltd Automated job scheduling in a data storage and/or retrieval system
US6366663B1 (en) * 1997-07-21 2002-04-02 Mci Communications Corporation System for achieving local number portability
US6205150B1 (en) * 1998-05-28 2001-03-20 3Com Corporation Method of scheduling higher and lower priority data packets
US7069559B2 (en) * 2001-08-29 2006-06-27 International Business Machines Corporation System and method for monitoring software queuing applications

Also Published As

Publication number Publication date
US8161485B2 (en) 2012-04-17
JP2008090507A (ja) 2008-04-17
US20080127193A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
JP4961931B2 (ja) ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置
US10788989B2 (en) Non-uniform memory access (NUMA) resource assignment and re-evaluation
US10810051B1 (en) Autoscaling using file access or cache usage for cluster machines
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
US8549526B2 (en) Access control apparatus and access control method
US20050034130A1 (en) Balancing workload of a grid computing environment
US20090083746A1 (en) Method for job management of computer system
JP2008015888A (ja) 負荷分散制御システム及び負荷分散制御方法
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
WO2018133821A1 (en) Memory-aware plan negotiation in query concurrency control
JP4813975B2 (ja) 無共有型データベースシステムの構成変更方法、管理サーバ及び無共有型データベースシステム
JP7439928B2 (ja) 管理装置、管理方法、管理プログラム、及び管理システム
JP5055059B2 (ja) データベース処理方法、その実施システム及びプログラム
US20090168092A1 (en) Job management and scheduling method for network system
JP2015176218A (ja) 演算処理装置、演算処理装置の制御方法、及び演算処理装置の制御プログラム
US9304829B2 (en) Determining and ranking distributions of operations across execution environments
JPH08137910A (ja) 並列データベース処理方法及びその実施装置
JP2001331463A (ja) データベース構築方法及びそのプログラムを記録した記録媒体
JP5476208B2 (ja) リクエスト処理システム、方法及びプログラム
JP2007233608A (ja) 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。
Zhang et al. Minimizing Data Access Latencies via Virtual Machine Placement Method in Datacenter
CN113918307A (zh) 一种任务处理方法、装置、设备及介质
CN116755851A (zh) 基于异构优先级及关键任务复制的任务调度方法及系统
CN116226081A (zh) 数据库弹性伸缩方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

R150 Certificate of patent or registration of utility model

Ref document number: 4961931

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees