JP5417626B2 - 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム - Google Patents

管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム Download PDF

Info

Publication number
JP5417626B2
JP5417626B2 JP2010105301A JP2010105301A JP5417626B2 JP 5417626 B2 JP5417626 B2 JP 5417626B2 JP 2010105301 A JP2010105301 A JP 2010105301A JP 2010105301 A JP2010105301 A JP 2010105301A JP 5417626 B2 JP5417626 B2 JP 5417626B2
Authority
JP
Japan
Prior art keywords
service
execution
computer
job
assigned
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.)
Active
Application number
JP2010105301A
Other languages
English (en)
Other versions
JP2011233086A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010105301A priority Critical patent/JP5417626B2/ja
Publication of JP2011233086A publication Critical patent/JP2011233086A/ja
Application granted granted Critical
Publication of JP5417626B2 publication Critical patent/JP5417626B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラムに係り、特に、ジョブの実行をスケジュールする管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラムに関する。
従来、バッチジョブは、メインフレーム、又は少数台の計算機等、事前に構成された計算機上でジョブスケジューリングされ、実行されていた。このため、バッチジョブに含まれるサービスの割り当て及びジョブ終了時間の見積もりは、事前に設計可能であった。
近年の計算機の高速化、及びネットワークの高速化などに伴い、サーバの仮想化又は並列分散による処理が増加している。このようにサーバの仮想化又は並列分散が実装された環境における処理は、従来に比べて多くの物理計算機、又は仮想計算機を用いたクラスタシステムによって実行される。このようなクラスタシステムにおいて処理可能な計算機の構成は、台数の増減、及びリソース使用量の増減といった要因によって変化するため、クラスタシステムにおいてバッチジョブをスケジューリングする際にサービスの割り当てを手動で設定するのは従来に比べて困難となる。
そこで、クラスタシステムにおいてジョブを実行し、計算機が障害になった場合又は計算機の性能が低下した場合、あらかじめ用意した計算機を含むプール領域から代替計算機を割り当てて処理を続行する技術が開示されている(例えば、特許文献1参照)。特許文献1に開示された技術では、代替計算機をスタンバイプール、ベアメタルプール、及び、共用プールに分類し、障害からの回復や負荷変動へ高速に対応する方法を提案されている。
また、過去のジョブ実行履歴情報からジョブの実行時間を求め、ジョブスケジュール案を提供する技術が開示されている(例えば、特許文献2参照)。特許文献2に開示された技術によって、ジョブ多重度増減などのパラメタ情報によって各ジョブの実行シミュレーションを行い、ジョブスケジューリングを解析する方法が提案されている。
特開2005−346204号公報 特開平8−286958号公報
しかし、特許文献1に開示された技術は、ジョブが実行中に障害が発生した場合、代替のための計算機に、障害によって中断されていたサービスを割り当てて処理を続行する。このため、特許文献1に開示された技術を用いた場合、ジョブ実行前に予定されていたジョブ終了時間を超過する可能性がある。
また、特許文献2に開示された技術は、短時間でバッチジョブが完了するように、ジョブを並列実行して効率のよいジョブスケジュールを生成するが、ジョブ実行中に計算機に障害が発生した場合について考慮されていない。このため、特許文献2に開示された技術を用いた場合、障害が発生した場合、ジョブ実行前に予定されていたジョブ終了時間を超過する可能性がある。
本発明の目的は、ジョブ実行中に計算機において、障害等による想定外なシステム停止が発生しても、事前に予定されたジョブ終了時間を満たすように、ジョブをスケジューリングする手段を提供する。
本発明の代表的な一形態によると、複数のジョブを処理する一つ以上の実行計算機と、前記一つ以上の実行計算機と接続され、前記複数のジョブを前記一つ以上の実行計算機に割り当てる管理計算機であって、前記各ジョブは、複数のサービスを含み、前記サービスは、前記実行計算機によって処理されるプログラムモジュールを含み、前記管理計算機は、所定の係数と、前記各ジョブの終了時間とを取得し、前記取得された所定の係数が示す回数分実行されるように、前記各サービスを前記実行計算機に割り当て、前記各サービスが前記実行計算機によって処理されている間に、前記サービスが割り当てられた前記実行計算機において障害が発生した場合、前記割り当てられたサービスを、前記実行計算機によって再度処理させる。
本発明の一実施形態によると、ジョブ実行中に計算機に想定外なシステム停止が発生した場合でも、計算機リソースを有効利用しながら、ジョブの終了時間を見積もることができる。
本発明の第1の実施形態のクラスタシステムの構成を示すブロック図である。 本発明の第1の実施形態のスケジュール管理計算機のハードウェアの構成を示すブロック図である。 本発明の第1の実施形態の実行計算機のハードウェアの構成を示すブロック図である。 本発明の第1の実施形態のスケジュール管理テーブルの構成を示す説明図である。 本発明の第1の実施形態の統計情報管理テーブルの構成を示す説明図である。 本発明の第1の実施形態のジョブ及びサービスの関係の例を示す説明図である。 本発明の第1の実施形態のジョブスケジューリング部によるジョブスケジューリング処理の手順を示す説明図である。 本発明の第1の実施形態のジョブスケジューリング部によるサービス振り分け処理407の手順を示す説明図である。 本発明の第1の実施形態のジョブスケジューリング処理のサービスの具体例を示す説明図である。 本発明の第1の実施形態の統計情報管理テーブルの具体例を示す説明図である。 本発明の第1の実施形態のケース1における入力値の具体例を示す説明図である。 本発明の第1の実施形態のケース1におけるジョブスケジューリング結果を示す説明図である。 本発明の第1の実施形態のケース1におけるスケジュール管理テーブルを示す説明図である。 本発明の第1の実施形態のケース2における入力値の具体例を示す説明図である。 本発明の第1の実施形態のケース2におけるジョブスケジューリング結果を示す説明図である。 本発明の第1の実施形態のケース2におけるスケジュール管理テーブルを示す説明図である。 本発明の第1の実施形態のディスプレイ装置に表示されるジョブ投入画面を示す説明図である。
以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明の第1の実施形態のクラスタシステムの構成を示すブロック図である。
本発明のクラスタシステムは、スケジュール管理計算機11、複数の実行計算機10−1〜10−n(nは任意の正の数)、及び処理データ141を格納するディスク装置を備える。なお、実行計算機10−1〜10−nを総称して、実行計算機10と記載する。
本発明のクラスタシステムにおいてジョブスケジューリングする場合、スケジュール管理計算機11は、入力値101を入力される。入力値101は、入力データ量102、ジョブ終了時間103、及び障害安全係数104を含む。
入力データ量102は、ジョブが処理する入力データの量である。入力データの量は、ジョブ実行時間が増減する要因となる値である。入力データの量以外の要因によって、ジョブの処理時間が増減する場合、入力値101には、ジョブの処理時間を増減する要因を数値化した値が保持されてもよい。また、入力値101がジョブに含まれるサービス毎に異なる場合、入力値101は、入力データ量102をサービス毎に複数保持してもよい。なおサービスとは、ジョブに含まれる実行単位である。サービスについては詳細を後述する。
ジョブ終了時間103は、ジョブ及びジョブに含まれるすべてのサービスが終了すべき時間を示す時間である。ジョブ及びジョブに含まれるサービスは、ジョブ終了時間103が示す終了時間を超過しないようにスケジューリングされる。
障害安全係数104は、0以上の整数値であり、ジョブが実行される間に、実行計算機10において障害が発生した場合においても、ジョブ終了時間103を満たすことができる、ジョブの再実行回数を示す。すなわち、障害安全係数104をnとした場合、ジョブ実行中に実行計算機10にn回障害が発生した場合においても、ジョブ終了時間103を超過しないようにジョブがスケジューリングされる。
障害安全係数104は、ジョブの重要度、又は、ジョブに含まれるサービスを実行するための実行計算機10の稼働率などに従って、ユーザ又はシステムによって値を指定されてもよい。また、システムにおける固定値として保持されてもよい。
例えばユーザは、必ず実行される必要があるジョブには、障害安全係数104に高い値を指定する。これによって、高い値を指定されたジョブは、実行中に障害が発生しても、障害安全係数104の値分繰り返して実行される。
ジョブの重要度に従って障害安全係数104を判定する方法には、ジョブに含まれるサービスが、データを参照するサービス、又は、重要度の低いデータを更新するサービスでしかなく、ジョブの実行を中断しても後続ジョブの動作に影響を与えないようなサービスである場合、障害安全係数104が低く指定される方法がある。また、この方法を用いた場合、重要度の高いデータを更新するサービス、又は、ジョブを中断すると後続ジョブの動作に影響を与えるようなサービスには、障害安全係数104が高く指定される。
実行計算機10の稼働率に従って障害安全係数104を判定する方法は、過去のシステム停止発生件数、実行計算機の稼働年数、又は、ハードウェア構成などの情報に基づいて、システム停止の可能性が高いと判定された実行計算機10を備えるクラスタシステムには、障害安全係数104を高く指定するという方法である。
スケジュール管理計算機11は、ジョブ受付部111、ジョブスケジューリング部112、実行指示部113、及び、統計情報管理部114を備える。
ジョブ受付部111は、ユーザ等から前述の入力値101をスケジュール管理計算機11に入力するためのインターフェースである。ジョブスケジューリング部112は、入力された入力値101と統計情報管理テーブル132のデータとに基づいて、ジョブをスケジューリングする。そして、ジョブをスケジューリングした結果を、スケジュール管理テーブル131に格納する。
実行指示部113は、スケジュール管理テーブル131に格納されたデータに基づいて、実行計算機10−1〜10−nにサービスのデプロイ及びサービスの実行を指示する。
実行計算機10−1〜10−nは、サービスデプロイ部121、サービス実行部122、統計情報転送部123を備える。
サービスデプロイ部121は、実行指示部113から受けた指示に従って、サービスを計算機上にデプロイする。デプロイとは、サービスが用いるアプリケーションのローディング、及び、アプリケーションの各種設定を行い、サービスを実行可能な状態に、実行計算機10を構築するための処理である。
サービス実行部122は、実行指示部113から受けた指示に従って、処理データ141を参照及び更新しながら、サービスを実行する。統計情報転送部123は、サービスデプロイ部121及びサービス実行部122において、サービスを実行するために経過した時間を、統計情報管理部114に転送する。
統計情報管理部114は、統計情報転送部123から転送された、サービスデプロイ部121において経過した時間及びサービス実行部122において経過した時間を、統計情報管理テーブル132に格納する。
スケジュール管理計算機11は、実行中の実行計算機10−1〜10−nに障害が発生した場合、障害を検出する手段を備える。障害を検出する手段は、サービスのデプロイ、又は、サービスの実行終了の時刻までに、統計情報管理部114に統計情報が転送されないことを契機として、障害を検出する方法であってもよい。また、実行指示部113の通信が途絶えることを契機として障害を検出する方法であってもよい。また、前記以外の別の通信によって直接あるいは間接的に監視する方法を用いてもよい。
図2は、本発明の第1の実施形態のスケジュール管理計算機11のハードウェアの構成を示すブロック図である。
スケジュール管理計算機11は、CPU21、ディスプレイ装置22、キーボード23、マウス24、ネットワークインタフェースカード(NIC)25、ハードディスク26及びメモリ27を備える。CPU21、ディスプレイ装置22、キーボード23、マウス24、NIC25、ハードディスク26及びメモリ27は、バス28によって接続される。
スケジュール管理計算機11は、NIC25を介してネットワークに接続され、実行計算機10及び他のスケジュール管理計算機11と相互に通信する。ネットワークは、LAN、WANなどいずれのネットワークでもよい。
CPU21は、メモリ27に記憶されたプログラムを実行する。メモリ27は、CPU21によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。メモリ27には、オペレーティングシステム30、スケジューリング制御プログラム91、ジョブ受付部111、ジョブスケジューリング部112、実行指示部113、統計情報管理部114、スケジュール管理テーブル131及び統計情報管理テーブル132などのプログラムが格納される。
スケジューリング制御プログラム91は、オペレーティングシステム30上で実行されるプログラムである。ジョブ受付部111、ジョブスケジューリング部112、実行指示部113及び統計情報管理部114は、スケジューリング制御プログラム91によって呼び出されるプログラムである。ジョブ受付部111、ジョブスケジューリング部112、実行指示部113及び統計情報管理部114は、図1において説明した処理を実行する。
スケジュール管理テーブル131には、図1において説明したように、ジョブのスケジュールに関する情報が格納される。統計情報管理テーブル132は、図1において説明したように、サービスのデプロイ時間及び実行時間に関する情報が格納される。
ディスプレイ装置22は、業務処理の実行結果、すなわちジョブの実行結果などの各種情報を表示する。キーボード23及びマウス24は、利用者が入力値101を入力する際に、利用者によって用いられる装置である。
NIC25は、スケジュール管理計算機11がネットワークに接続するためのインターフェースである。ハードディスク26は、メモリ27に格納される処理データ、及び、メモリ27にロードされるプログラムなどが格納される。
スケジュール管理計算機11は、仮想計算機上で実行されるプログラムによって実装されてもよい。
図3は、本発明の第1の実施形態の実行計算機10−1〜10−nのハードウェアの構成を示すブロック図である。
実行計算機10−1〜10−nは、図2において説明したスケジュール管理計算機11のハードウェア構成と同様なハードウェアを備える。実行計算機10のCPU31、ディスプレイ装置32、キーボード33、マウス34、ネットワークインタフェースカード(NIC)35、ハードディスク36及びメモリ37は、スケジュール管理計算機11のCPU21、ディスプレイ装置22、キーボード23、マウス24、NIC25、ハードディスク26及びメモリ27と同じ装置である。
ただし、実行計算機10に備わるメモリ37には、オペレーティングシステム30、実行制御プログラム92、サービスデプロイ部121、サービス実行部122、統計情報転送部123及びサービス99が格納される。
実行制御プログラム92は、オペレーティングシステム30上で実行されるプログラムである。サービスデプロイ部121、サービス実行部122、及び、統計情報転送部123は、実行制御プログラム92によって呼び出されるプログラムである。サービスデプロイ部121、サービス実行部122、及び、統計情報転送部123は、図1において説明した処理を実行する。サービス99は、サービスデプロイ部121によってメモリ27上に複数格納されるプログラムであり、サービス実行部122の指示によって実行される。
実行計算機10−1〜10−nは、仮想計算機上で実行されるプログラムによって実装されてもよい。
図4は、本発明の第1の実施形態のスケジュール管理テーブル131の構成を示す説明図である。
スケジュール管理テーブル131は、各実行計算機10において実行されるサービスデプロイ処理及びサービス実行処理の、開始時刻と終了時刻とを各々保持する。サービスデプロイ処理及びサービス実行処理は、ジョブスケジューリング部112によってスケジューリングされる。
スケジュール管理テーブル131は、実行計算機名131−1、開始時刻131−2、終了時刻131−3、処理内容131−4、及び、対象処理131−5を含む。実行計算機名131−1は、サービス99が実行される実行計算機10を一意に示す名称が格納される。
開始時刻131−2は、実行計算機名131−1に示される実行計算機10においてサービス99が開始される時刻を示す。終了時刻131−3は、実行計算機名131−1に示される実行計算機10においてサービス99が終了する時刻を示す。
処理内容131−4は、サービス99が処理される内容を示し、「デプロイ」又は「処理実行」の二つの内容を保持する。対象処理131−5は、処理されるサービス99を一意に示す名称が格納される。
図4に示すスケジュール管理テーブル131は、全ての実行計算機10におけるサービス99を、一つのテーブルによって管理する場合の、テーブル例である。なお、サービス99は、実行計算機10毎に分けられたテーブルによって、管理されてもよい。
図5は、本発明の第1の実施形態の統計情報管理テーブル132の構成を示す説明図である。
統計情報管理テーブル132によって、各サービス99のデプロイ時間及び実行時間の履歴情報が管理される。統計情報管理テーブル132は、サービス名132−1、デプロイ時間132−2、及び、実行時間132−3を含む。各実行計算機10の統計情報転送部123は、サービス99が実行された後、デプロイ処理に要した時間、及び実行処理に要した時間を、統計情報管理部114に送信し、統計情報管理部114によって統計情報管理テーブル132が更新される。
サービス名132−1は、処理されるサービス99を一意に示す名称である。デプロイ時間132−2は、サービス名132−1が示すサービス99がデプロイに要する時間を示す。実行時間132−3は、サービス名132−1が示すサービス99が実行されるために要する時間を示す。
統計情報管理テーブル132は、図1において説明したとおり、サービスデプロイ部121によってサービス99がデプロイされた時間(デプロイ時間132−2)、及び、サービス実行部122によってサービス99が実行された時間(実行時間132−3)の履歴情報を保持する。統計情報管理テーブル132は、前述のとおり統計情報管理部113によって値が格納される。また、統計情報管理部113は、統計情報転送部123から転送されたジョブ98の実行結果に基づいて、統計情報管理テーブル132に格納する値を算出する。
統計情報管理テーブル132のデプロイ時間132−2及び実行時間132−3は、入力データ量102によって比例して増減する。このため統計情報管理テーブル132は、実行済みのジョブ98の入力データ量102を”100”とすることによって、ジョブ98に含まれるサービス99が、デプロイ処理に要した時間及び実行処理に要した時間を、相対時間に変換し、変換された各々の時間をデプロイ時間132−2及び実行時間132−3に格納する。
例えば、実行されたジョブ98の入力データ量102が400(バイト)であり、ジョブ98に含まれるサービスAのデプロイ処理に要した時間が40(分)であった場合、デプロイ時間132−2には「10」が格納される。
入力データ量102以外の要因によって、サービスの処理時間が増減する場合は、当該要因を数値化した値に基づいて相対時間を算出し、算出された相対時間を統計情報管理テーブル132に格納してもよい。また、統計情報管理テーブル132に格納する時間は、過去の履歴情報における最大値を格納してもよい。
この場合、初回実行時は履歴情報が存在しないため、本発明によるジョブスケジューリングを行わずに各サービスのデプロイ及び実行を、手動で起動することによって、あらかじめデプロイ時間132−2及び実行時間132−3に値を格納する。
図6は、本発明の第1の実施形態のジョブ98及びサービス99の関係の例を示す説明図である。
サービス99は、ジョブ98を構成する実行単位であり、ジョブ98は、一つ以上のサービス99を含む。図中の矢印は、サービス99の依存関係であり、後続のサービス99を実行する前に、先行するサービス99を実行する必要があることを示す。例えば、サービス99Aは、サービス99B、サービス99C、及び、サービス99Eよりも先行して実行され、サービス99B、サービス99C、及び、サービス99Eは、サービス99Aが実行された後に、実行される。
また、各サービス99の実行前には、そのサービス99がデプロイされている必要がある。すなわち、サービス99Bが実行される前には、サービス99Bがデプロイされている必要がある。
ジョブ98の依存関係に対応するため、サービス99は、サービス99の実行順序に対応した情報を各々保持する。サービス99が保持する実行順序は、例えば、図6に示すように所定の命名ルールによって生成されたサービス99を一意に示す識別子によって、示されてもよい。識別子の命名ルールによってサービス99の実行順序を示す場合、サービス名の末尾に英文字(A−Z)の識別子を付与する。
例えば識別子は、英文字の先頭文字Aから付与され、あるサービス99に先行するサービス99がある場合、識別子は、先行するサービス99に付与した英文字よりも後となる英文字が付与される。ジョブ98に含まれるサービル99のうち、最後に実行されるサービス99は、サービス99中で一番後となる英文字を識別子として付与される。図6ではサービス99A〜99Fの6つのサービス99が、一つのジョブ98に含まれる例を示す。
図6に示すジョブ98を実行計算機10−1〜10−n上で実行する場合、まずサービス99Aを実行する。そして、サービス99A実行終了後、サービス99B、サービス99C、及び、サービス99Eを実行する。サービス99B、サービス99C、及び、サービス99Eの実行順序は問わない。
またサービス99は、複数の実行計算機10上で並列に実行されてもよい。例えば、サービス99B及びサービス99Cの処理内容に関連がなく、別々の実行計算機10によって並列に実行されてもよい場合、ジョブスケジューリング112は、サービス99B及びサービス99Cを別々の実行計算機10にスケジューリングする。
サービス99B、サービス99Cの実行終了後、サービス99Dを実行する。サービス99D、サービス99Eの実行終了後、サービス99Fを実行する。サービス99Fの実行終了をもってジョブ98が終了する。
図7は、本発明の第1の実施形態のジョブスケジューリング部112によるジョブスケジューリング処理401の手順を示す説明図である。
CPU21は、ジョブ受付部111が実行するべきジョブ98を受け付けた場合、ジョブスケジューリング部112によって、図7に示す処理を行う。
CPU21は、各実行計算機10のメモリ27の空き容量及びCPU21の使用状況などに基づいて、ジョブスケジューリング可能な実行計算機10が存在するか否かを判定する(ステップ402)。ジョブスケジューリング可能な実行計算機10が1台もないと判定された場合、CPU21は実行不可と判定し、ジョブスケジューリング処理401を終了する。
CPU21は、ステップ402においてジョブスケジューリング可能と判定された実行計算機10に、サービスのデプロイ処理及び処理実行の組を割り当て、各実行計算機10に対応するスケジュール管理テーブル131を更新する(ステップ405)。デプロイ処理及び実行処理のために要する時間は、統計情報管理テーブル132に格納された値に入力データ量102の相対値を掛け合わせることによって算出される。
CPU21は、障害安全係数104の値に1を加算した値分、ステップ405の処理を、繰り返し実行する(ステップ404)。そして、ステップ404の処理によって、デプロイ処理及び実行処理の組を、同一実行計算機10に複数回割り当てる。障害安全係数104の値に1を加算する理由は、最初の1回目の処理回数を加算するためである。
またCPU21は、ジョブ98を構成するサービス99の実行順序毎に、ステップ404における繰り返し処理を、繰り返し実行する(ステップ403)。ステップ403の処理によって、各サービス99のデプロイ処理及び実行処理の複数の組を、同一実行計算機10に割り当てる。
CPU21は、サービス99を割り当てた各実行計算機10において、ジョブ98の終了予定時刻がジョブ終了時間103を超過するか否かを判定する(ステップ406)。超過していない場合は、実行可能と判定し、ジョブスケジューリング処理401を終了する。
その後、CPU21は、実行指示部113によって、スケジューリングされたサービス99を各実行計算機10に送信する。そして、実行計算機10におけるサービスデプロイ部121及びサービス実行部122は、スケジュール管理計算機11から送信されたサービス99を実行する。
ステップ406において超過すると判定された場合、CPU21は、後述するサービス振り分け処理を実施する(ステップ407)。ステップ407は、図8にて詳細に説明する。
その後CPU21は、ステップ407の処理において振り分け可能であるか否かを判定し(ステップ408)、振り分け可能であると判定された場合、ステップ406の処理に戻る。振り分け不可であると判定された場合、実行不可と判定し、ジョブスケジューリング処理401を終了する。
なお、ステップ406においてCPU21は、ジョブ98の終了予定時刻がジョブ終了時間103以下になった場合に、実行可能と判定するため、不要な実行計算機10にサービス99を振り分けることがない。このため本実施形態のスケジュール管理計算機11は、実行計算機10のリソースを最低限に抑えつつ、サービス99を振り分けることができる。
図8は、本発明の第1の実施形態のジョブスケジューリング部112によるサービス振り分け処理407の手順を示す説明図である。
CPU21は、ジョブ98の終了予定時刻がジョブ終了時間103を超過すると判定された実行計算機10を1台選択する(ステップ421)。そして、選択された実行計算機10に、後述する処理を実行する。
CPU21は、ステップ421において選択された実行計算機10に振り分けられたサービス99毎に、ステップ423〜ステップ425の処理を繰り返す(ステップ422)。
同一サービス99に割り当てられたデプロイ処理及び実行処理が、2以上か否か判定する(ステップ423)。そして、同一サービス99に2以上のデプロイ処理及び実行処理が割り当てられている場合、CPU21は、振り分け対象として当該サービス99を仮選択する(ステップ425)。
また、図6で説明したとおり、サービス99を別実行計算機10上で並列に実行可能か否かを判定する(ステップ424)。なおサービス99には、並列に実行可能であるか否かを示す情報があらかじめ含まれている。サービス99が並列に実行可能な場合、CPU21は、並列に実行可能なサービス99を、振り分け対象として仮選択する(ステップ425)。
その後CPU21は、振り分け対象として仮選択したサービス99があるか否かを判定する(ステップ426)。そして、仮選択したサービス99がないと判定した場合、振り分け不可と判定し、サービス振り分け処理407を終了する。
CPU21は、仮選択したサービス99のうち、サービス99のデプロイ処理及び実行処理の合計時間が最大のサービス99を、振り分け対象サービス99として選択する(ステップ427)。そして別実行計算機10のうち、実行計算機10においてサービス99が実行された後の時間帯に、選択された振り分け対象サービス99を割り当て可能な実行計算機10が存在するか否かを判定する(ステップ428)。
ステップ428において、振り分け対象サービス99を振り分ける別の実行計算機10が存在しない場合、CPU21は、振り分け不可と判定し、サービス振り分け処理407を終了する。
ステップ428において、振り分け対象サービス99を振り分ける別の実行計算機10が存在する場合、CPU21は、ステップ425において選択された振り分け対象サービス99のデプロイ処理及び実行処理を、ステップ428において判定された実行計算機10に、割り当て直し、スケジュール管理テーブル131を更新する(ステップ429)。そして、振り分け可能と判定し、サービス振り分け処理407を終了する。
図9Aは、本発明の第1の実施形態のジョブスケジューリング処理のサービス99の具体例を示す説明図である。
後述するケース1及びケース2におけるジョブ98は、サービス99A、サービス99B、サービス99C及びサービス99Dを含む。サービス99Aは、サービス99B及びサービス99Cに先行して実行され、サービス99B及びサービス99Cは、サービス99Aの実行が終了した後に実行される。サービス99Dは、サービス99B及びサービス99Cに後続して実行され、サービス99B及びサービス99Cは、サービス99Dに先行して実行される。
また、サービス99B及びサービス99Cは、お互いに並列に実行可能である。さらに、サービスA及びサービスDは、自らのサービスA及びサービスDと並行に実行可能である。
図9Bは、本発明の第1の実施形態の統計情報管理テーブル132の具体例を示す説明図である。
統計情報管理テーブル132は、図9Aに示す各サービス99のデプロイ時間132−2及び実行時間132−3を、入力データ量102に対する相対時間として保持する。図9Bに示す統計情報管理テーブル132は、サービス99A、サービス99B、サービス99C及びサービス99Dのデプロイ時間132−2及び実行時間132−3を保持する。
図10Aは、本発明の第1の実施形態のケース1における入力値101の具体例を示す説明図である。
ケース1におけるジョブ98の実行開始時刻は、2:00であり、ジョブ終了時間103の値は、単位が分である。また、図10Aに示すケース1における入力値101は、入力データ量102が100であり、ジョブ終了時間103が130(分)であり、障害安全係数104が1である。
図10Bは、本発明の第1の実施形態のケース1におけるジョブスケジューリング結果を示す説明図である。
図10Bは、実行計算機10−1へ割り当てられたサービス99を示す。また、図10Bは、ジョブスケジューリング部112が、図9Aに示すジョブ98、図9Bに示す統計情報管理テーブル132及び図10Aに示す入力値101に基づいて、実行計算機10−1においてサービス99A〜サービス99Dをスケジューリングした結果を示す。図10Bにおいて、「Aデ」は、「サービスAのデプロイ処理」を示し、「A実」は、「サービスAの実行処理」を示す。
ケース1におけるCPU21は、図7に示すステップ403〜405において、障害安全係数104「1」に1を加算して「2」を取得する。そして、各サービス99のデプロイ処理及び実行処理を2回ずつ割り当てる。また、ステップ406において、ジョブ終了予定時間が、ジョブ終了時間103よりも小さいと判定し、ジョブスケジューリング処理を終了する。
図10Cは、本発明の第1の実施形態のケース1におけるスケジュール管理テーブルを示す説明図である。
ジョブスケジューリング部112は、図10Bに示すスケジュール結果を、スケジュール管理テーブル131に格納する。図10Cに示す実行計算機名131−1の値は、すべて実行計算機10−1である。CPU21は、図10Cに示すスケジュール管理テーブル131によって、各実行計算機10にサービス99を割り当てる。そして実行計算機10−1は、割り当てられたサービス99終了後、処理結果を処理データ141に送信する。
ケース1におけるCPU21は、図9Aに示すジョブ98と、図10Aに示す入力値101を受信した場合、統計情報管理テーブル132の情報に従って、図10Bに示すタイムスケジュールのようにジョブ98をスケジュールする。ケース1におけるCPU21は、図7に示すステップ406において、1台の実行計算機10−1において120分以内に、ジョブ98を実行可能と判定する。このため、ケース1におけるジョブ98は、すべて1台の実行計算機10−1においてスケジュールされる。
図10Bにおいて示すタイムチャートにおける各サービス99のデプロイ処理及び実行処理の開始時刻131−2、終了時刻131−3は、スケジュール管理テーブル131に格納される。CPU21は、入力値101の障害安全係数104に基づいて、実行計算機10−1において全てのサービス99のデプロイ処理及び実行処理を、2回ずつスケジューリングする。このため、スケジュール管理テーブル131には、すべてのサービス99のデプロイ処理及び実行処理の組が二つずつ格納される。
ジョブ98が実行され、サービス99が正常に実行された場合、複数回スケジューリングされたサービス99のデプロイ処理及び実行処理は、スキップされ、実行されない。また、ジョブ98が実行され、サービス99のデプロイ処理時又は実行処理時に障害が発生した場合、CPU21は、障害が発生した旨を検知し、障害の要因に従って、処理を継続する実行計算機10を選択する。
障害の要因がサービス99のソフトウェア障害等であり、実行制御プログラム92が処理可能な場合、CPU21は、同一実行計算機10において再度サービス99のデプロイ処理及び実行処理を実行させる。
障害の要因が実行計算機10におけるハードウェア障害又はネットワーク障害等であり、実行制御プログラム92が処理不可能な場合、CPU21は、直ちに別の実行計算機10に残りのサービス99のスケジュールを割り当て直し、処理を続行させる。残りのサービス99を新たに割り当てられた実行計算機10は、障害の発生した実行計算機10において実行されていたサービス99のデプロイ処理から実行する。
これによって、CPU21は、ジョブ98実行中に障害安全係数104によって指定された数である、「1」回の障害が発生した場合においても、ジョブ終了時間103の130分以内にジョブを終了可能である。
ケース2は、ケース1と異なり、ジョブ終了時間103が75分である場合、ジョブスケジューリング部112によってスケジューリングされた各実行計算機10へのサービス99の割り当てを示す。
図11Aは、本発明の第1の実施形態のケース2における入力値101の具体例を示す説明図である。
ケース2の入力値101は、入力データ量102が100であり、ジョブ終了時間103が75(分)であり、障害安全係数104が1である。
ケース2におけるCPU21は、図7に示す406においてジョブ終了予定時刻が、ジョブ終了時間103よりも多いため、図8に示すサービス振り分け処理を行う。
図11Bは、本発明の第1の実施形態のケース2におけるジョブスケジューリング結果を示す説明図である。
図11Bは、実行計算機10−1及び実行計算機10−2へ割り当てられたサービス99を示す。サービス99Aは、二つの実行計算機10において並列に実行される。
サービス99Cは、サービス99Aの実行後であり、サービス99Bと並列に実行されてもよいため、実行計算機10−2の2:15からと、実行計算機10−1の2:35にスケジュールされる。サービス99Dは、サービス99B及びサービス99Cの後続にスケジュールされる。
ケース2におけるCPU21は、図8に示すステップ423〜ステップ425において、サービス99A〜サービス99Dの全てを仮選択する。そして、ステップ427において、仮選択したサービス99の中から、デプロイ処理及び実行処理の合計時間が最大のサービス99を選択し、実行計算機10−2に割り当てる。
ここで、サービス99Bは、最もデプロイ処理及び実行処理に要する時間が少ないため、実行計算機10−2に振り分けられる順番は遅くなる。ケース2におけるCPU21は、デプロイ処理及び実行処理に要する時間の多い順に、サービス99D、サービス99A、サービス99Cを実行計算機10−2に振り分け(ステップ407)、その後、ジョブ終了時間内にジョブ98が終了する予定であると判定する(ステップ406)。このため、ケース2におけるサービス99Bは、実行計算機10−2に振り分けられない。
図11Cは、本発明の第1の実施形態のケース2におけるスケジュール管理テーブル131を示す説明図である。
図11Cに示す実行計算機名131−1は、実行計算機10−1と実行計算機10−2とが格納される。図11に示すスケジュール管理テーブル131には、図11Bに示すスケジュールに基づいて、値が格納される。ケース2において、ジョブ98の終了予定時刻は、サービス99Dの終了時刻131−3が示す3:10であり、ジョブ98が実行されてから75分間で終了する予定である。
ケース2におけるCPU21は、図9Aに示すジョブ98と、図11Aに示す入力値101を受信した場合、統計情報管理テーブル132の情報に従って、図11Bに示すタイムスケジュールのようにジョブ98をスケジュールする。ケース2におけるCPU21は、図7に示すステップ406において、2台の実行計算機10−1及び実行計算機10−2において70分以内に、ジョブ98を実行可能と判定する。このため、ケース2におけるジョブ98は、2台の実行計算機10−1及び実行計算機10−2においてスケジュールされる。
ケース1とは異なり、ケース2におけるCPU21は、複数のサービス99のデプロイ処理及び実行処理を2台の実行計算機10に割り当てる。ジョブ98が実行され、複数の実行計算機10に割り当てられたサービス99が正常に実行された場合、いずれか一つの実行計算機10は、処理結果を処理データ141に反映する。
スケジュール管理計算機11は、実行計算機10毎に優先順位を設けることによって、いずれの実行計算機10の処理結果を処理データ141に反映するかを定めてもよい。また、一つの実行計算機10が、処理結果を反映している間、スケジュール管理計算機11上又は処理データ141上に、処理結果を反映中であることを示す情報を保持してもよい。そして、処理結果を反映中であることを示す情報を他の実行計算機10が参照することによって、他の実行計算機10が反映処理をスキップしてもよい。
本実施形態によれば、各実行計算機10において、割り当てられたサービス99のデプロイ処理時及び実行処理時に障害が発生した場合、残りの実行計算機10によって同一のサービス99が実行されるため、ジョブ98は、継続して実行される。ジョブ実行中に1回の障害が発生した場合、障害安全係数104によって「1」が指定されていれば、ジョブ終了時間103の75分以内にジョブを終了させることができる。
例えば、実行計算機10−1においてサービス99Aが実行されている際に、障害が発生した場合、実行計算機10−2においてもサービス99Aが同時に実行されているため、サービス99B及びサービス99Cは、継続してスケジュール通り実行される。なお、実行計算機10−1及び10−2においてサービス99Aが正常に実行された場合、前述の通り、優先順位に従っていずれかの実行計算機10による処理結果が処理データ141に反映されてもよいし、より早く送信された処理結果が処理データ141に反映されてもよい。
また例えば、実行計算機10−2においてサービス99Cが実行されている際に、障害が発生した場合、二つ目のサービス99Cがスケジュール通り実行されるため、後続のサービス99Dもスケジュール通り実行される。なお、サービス99Cが正常に実行された場合、サービス99Cはスキップされ、サービス99Dはスケジュール通り実行される。
また、図11Bに示すサービス99Bは直列に実行されるが、サービス99Bにおいて障害が発生した場合、ケース1と同様に、スケジュール管理計算機11は、障害の内容に従って実行計算機10を選択すればよい。
前述のスケジューリングによって、スケジュール管理計算機11は、障害が発生しても、予定した3:10にジョブ98を終了させることができる。
図12は、本発明の第1の実施形態のディスプレイ装置22に表示されるジョブ投入画面を示す説明図である。
前述したジョブスケジューリングシステムに対するジョブ98の投入は、システムが自動的に行う場合、又は、ユーザによってジョブ98の投入がオペレーションされる場合が考えられる。ジョブ98の投入とは、実行されるジョブ98の情報をシステムに入力することである。
ユーザがジョブを投入する場合、スケジュール管理計算機11は、図12に示すジョブ投入画面501をディスプレイ装置22に表示する。そしてユーザは、ジョブ98を実行するために必要な情報を、ジョブ投入画面501を介して入力する。そしてスケジュール管理計算機11は、図7及び図8に示すジョブスケジューリングを行い、ジョブ98の実行可否情報をユーザに通知する。
ジョブ投入画面501は、ジョブ名502、入力データファイル名503、ジョブ実行時刻504、障害安全係数505及びジョブ投入ボタン506を含む入力情報領域と、ジョブ投入結果507を含む結果情報領域とを含む。
ジョブ名502は、実行するジョブを指定するための領域である。
入力データファイル名503は、入力データ量102を指定するための領域である。また、入力データファイル名503に示される入力データファイル以外の形式によってジョブ98の入力データ量を指定する場合、別の入力値から算出した値を用いてもよい。
ジョブ実行時刻504は、ジョブ終了時間103、すなわち、スケジュール管理テーブル131の開始時刻131−2、終了時刻131−3を指定するための領域である。
障害安全係数505は、障害安全係数104を入力するための領域である。当該指定値については、図1において説明したように、ジョブ98の重要度を示す数値によってユーザに候補となる指定値を提示してもよく、実行計算機10の稼働率などの情報に基づいて、システムが自動的に指定してもよい。
ジョブ投入ボタン506は、システムにジョブ投入を指示するためのボタンである。システムは、ジョブ投入後、前述したように、ジョブ98をスケジューリングする。
ジョブ投入結果507は、ジョブ98をスケジューリングした結果として、ジョブ98のスケジューリング可否、ジョブ98の予定開始時刻及び予定終了時刻をユーザに通知するための領域である。ジョブ投入結果507には、サービス99が割り当てられる実行計算機10の台数、又は、実行計算機10毎のサービス実行予定などの情報を含めてもよい。
本発明の実施の形態によれば、ジョブ実行時に障害が発生してもジョブ終了時間を満たすようにジョブ98のサービス99を実行計算機10に割り当てることが可能となる。また本発明は、ジョブ終了時間103を満たす範囲で、サービス99を実行計算機10へ振り分け、サービス99を冗長してスケジューリングしないため、実行計算機10のリソースを有効活用するようにジョブ98をスケジューリングすることができる。
以上、本発明の最適な実施形態を示したが、本発明は前記実施形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば以下のような実施形態が考えられる。
(第2の実施形態)
第1の実施形態におけるサービス99は、各実行計算機10においてデプロイされていない状態において、ジョブスケジューリングされた。実行計算機10上に振り分け対象のサービス99がデプロイ済みであった場合、第2の実施形態におけるスケジュール管理計算機11は、初回のサービス99のデプロイ処理を省略することによって、ジョブ98の実行時間を短縮することができる。
さらに、スケジュール管理計算機11は、各実行計算機10においてデプロイ済みのサービス99の一覧を管理し、図7に示すステップ402及び図8に示すステップ428において、サービス99に対するデプロイが済んでいる実行計算機10を優先的に割り当てることによって、ジョブ98の実行時間を短縮することができる。
(第3の実施形態)
第1の実施形態では、図8に示すステップ429において、先行するサービスが終了した後の時間帯に別の実行計算機10へ後続のサービス99を割り当てていたが、先行するサービス99が実行される前に、サービス99のデプロイ処理に要する時間以上の空き時間が存在した場合、その空き時間に初回のサービス99のデプロイ処理を割り当てることによって、ジョブ98の実行時間を短縮することができる。なお、デプロイ処理は一般的に他のサービスと並行して実行されることができる。
10、10−1〜10−n 実行計算機
11 スケジュール管理計算機
21 CPU
22 ディスプレイ装置
23 キーボード
24 マウス
25 ネットワークインタフェースカード(NIC)
26 ハードディスク
27 メモリ
28 バス
30 オペレーティングシステム
91 スケジューリング制御プログラム
92 実行制御プログラム
99、99A〜99F サービス
101 入力値
102 入力データ量
103 ジョブ終了時間
104 障害安全係数
111 ジョブ受付部
112 ジョブスケジューリング部
113 実行指示部
114 統計情報管理部
121 サービスデプロイ部
122 サービス実行部
123 統計情報転送部
131 スケジュール管理テーブル
132 統計情報管理テーブル
141 処理データ

Claims (16)

  1. 複数のジョブを処理する一つ以上の実行計算機と、前記一つ以上の実行計算機と接続され、前記複数のジョブを前記一つ以上の実行計算機に割り当てる管理計算機であって、
    前記各ジョブは、複数のサービスを含み、
    前記サービスは、前記実行計算機によって処理されるプログラムモジュールを含み、
    前記管理計算機は、
    所定の係数と、前記各ジョブの終了時間とを取得し、
    前記取得された所定の係数が示す回数分実行されるように、前記各サービスを前記実行計算機に割り当て、
    前記各サービスが前記実行計算機によって処理されている間に、前記サービスが割り当てられた前記実行計算機において障害が発生した場合、前記割り当てられたサービスを、前記実行計算機によって再度処理させることを特徴とする管理計算機。
  2. 前記管理計算機は、
    前記取得された所定の係数が示す回数分実行されるように、前記各サービスを第1の前記実行計算機に割り当て、
    前記割り当てられた各サービスを処理するために要する時間の総和に基づいて、前記ジョブを処理するために要する時間を算出し、
    前記算出された時間が、前記取得されたジョブの終了時間を超過する場合、前記第1の実行計算機に割り当てられた複数のサービスのうち、前記ジョブの終了時間内に処理可能な前記サービスを前記第1の実行計算機に割り当て、
    前記第1の実行計算機に割り当てられなかったサービスを、第2の前記実行計算機に割り当てることを特徴とする請求項1に記載の管理計算機。
  3. 前記管理計算機は、
    前記所定の係数が示す回数分実行されるように、前記第1の実行計算機に割り当てられた複数のサービスのうち、並行して処理することができる前記サービスを抽出し、
    前記第1の実行計算機と前記第2の実行計算機とに、前記抽出されたサービスを割り当てることを特徴とする請求項2に記載の管理計算機。
  4. 前記管理計算機は、
    前記所定の係数が示す回数分実行されるように前記第1の実行計算機に割り当てられた複数のサービスのうち、前記処理するために要する時間が長い前記サービスを抽出し、
    前記抽出されたサービスを前記第2の実行計算機に割り当てることを特徴とする請求項3に記載の管理計算機。
  5. 前記サービスの処理は、前記サービスの準備処理、及び前記サービスの実行処理を含み、
    前記管理計算機は、
    前記サービスの準備処理が済んでいる前記実行計算機を選択し、
    前記選択された実行計算機においてサービスの準備処理が済んでいるサービスを、前記選択された実行計算機に割り当てることを特徴とする請求項1に記載の管理計算機。
  6. 前記サービスの処理は、前記サービスの準備処理、及び前記サービスの実行処理を含み、
    前記管理計算機は、
    前記第2の実行計算機に割り当てられたサービスのうち、前記第2の実行計算機においてサービスが処理されていない時間において、前記サービスの準備処理が可能な前記サービスを抽出し、
    前記サービスが処理されていない時間に、前記抽出されたサービスの準備処理を割り当てることを特徴とする請求項2に記載の管理計算機。
  7. 複数のジョブを処理する一つ以上の実行計算機と、前記一つ以上の実行計算機と接続され、前記複数のジョブを前記一つ以上の実行計算機に割り当てるジョブスケジューリング方法であって、
    前記各ジョブは、複数のサービスを含み、
    前記サービスは、前記実行計算機によって処理されるプログラムモジュールを含み、
    前記方法は、
    管理計算機が、所定の係数と、前記各ジョブの終了時間とを取得する手順と、
    前記管理計算機が、前記取得された所定の係数が示す回数分実行されるように、前記各サービスを前記実行計算機に割り当てる手順と、
    前記各サービスが前記実行計算機によって処理されている間に、前記サービスが割り当てられた前記実行計算機において障害が発生した場合、前記管理計算機が、前記割り当てられたサービスを、前記実行計算機によって再度処理させる手順と、を含むことを特徴とするジョブスケジューリング方法。
  8. 前記サービスを実行計算機に割り当てる手順は、
    前記管理計算機が、前記取得された所定の係数が示す回数分実行されるように、前記各サービスを第1の前記実行計算機に割り当てる手順と、
    前記管理計算機が、前記割り当てられた各サービスを処理するために要する時間の総和に基づいて、前記ジョブを処理するために要する時間を算出する手順と、
    前記算出された時間が、前記取得されたジョブの終了時間を超過する場合、前記管理計算機が、前記第1の実行計算機に割り当てられた複数のサービスのうち、前記ジョブの終了時間内に処理可能な前記サービスを前記第1の実行計算機に割り当てる手順と、
    前記管理計算機が、前記第1の実行計算機に割り当てられなかったサービスを、第2の前記実行計算機に割り当てる手順と、を含むことを特徴とする請求項7に記載のジョブスケジューリング方法。
  9. 前記サービスを実行計算機に割り当てる手順は、
    前記管理計算機が、前記所定の係数が示す回数分実行されるように、前記第1の実行計算機に割り当てられた複数のサービスのうち、並行して処理することができる前記サービスを抽出する手順と、
    前記管理計算機が、前記第1の実行計算機と前記第2の実行計算機とに、前記抽出されたサービスを割り当てる手順と、を含むことを特徴とする請求項8に記載のジョブスケジューリング方法。
  10. 前記サービスを実行計算機に割り当てる手順は、
    前記管理計算機が、前記所定の係数が示す回数分実行されるように、前記第1の実行計算機に割り当てられた複数のサービスのうち、前記処理するために要する時間が長い前記サービスを抽出する手順と、
    前記管理計算機が、前記抽出されたサービスを前記第2の実行計算機に割り当てる手順とを含むことを特徴とする請求項9に記載のジョブスケジューリング方法。
  11. 前記サービスの処理は、前記サービスの準備処理、及び前記サービスの実行処理を含み、
    前記サービスを実行計算機に割り当てる手順は、
    前記管理計算機が、前記サービスの準備処理が済んでいる前記実行計算機を選択する手順と、
    前記選択された実行計算機においてサービスの準備処理が済んでいるサービスを、前記選択された実行計算機に割り当てる手順と、を含むことを特徴とする請求項7に記載のジョブスケジューリング方法。
  12. 前記サービスの処理は、前記サービスの準備処理、及び前記サービスの実行処理を含み、
    前記サービスを実行計算機に割り当てる手順は、
    前記管理計算機が、前記第2の実行計算機に割り当てられたサービスのうち、前記第2の実行計算機においてサービスが処理されていない時間において、前記サービスの準備処理が可能な前記サービスを抽出する手順と、
    前記サービスが処理されていない時間に、前記抽出されたサービスの準備処理を割り当てる手順と、を含むことを特徴とする請求項8に記載のジョブスケジューリング方法。
  13. 複数のジョブを処理する一つ以上の実行計算機と、前記一つ以上の実行計算機と接続され、前記複数のジョブを前記一つ以上の実行計算機に割り当てるジョブスケジューリングプログラムであって、
    前記各ジョブは、複数のサービスを含み、
    前記サービスは、前記実行計算機によって処理されるプログラムモジュールを含み、
    前記ジョブスケジューリングプログラムは、
    管理計算機に、所定の係数と、前記各ジョブの終了時間とを取得させ、
    前記管理計算機に、前記取得された所定の係数が示す回数分実行されるように、前記各サービスを前記実行計算機に割り当てさせ、
    前記各サービスが前記実行計算機によって処理されている間に、前記サービスが割り当てられた前記実行計算機において障害が発生した場合、前記管理計算機に、前記割り当てられたサービスを、前記実行計算機によって再度処理させることを特徴とするジョブスケジューリングプログラム。
  14. 前記ジョブスケジューリングプログラムは、
    前記管理計算機に、前記取得された所定の係数が示す回数分実行されるように、前記各サービスを第1の前記実行計算機に割り当てさせ、
    前記管理計算機に、前記割り当てられた各サービスを処理するために要する時間の総和に基づいて、前記ジョブを処理するために要する時間を算出させ、
    前記算出された時間が、前記取得されたジョブの終了時間を超過する場合、前記管理計算機に、前記第1の実行計算機に割り当てられた複数のサービスのうち、前記ジョブの終了時間内に処理可能な前記サービスを前記第1の実行計算機に割り当てさせ、
    前記管理計算機に、前記第1の実行計算機に割り当てられなかったサービスを、第2の前記実行計算機に割り当てさせることを特徴とする請求項13に記載のジョブスケジューリングプログラム。
  15. 前記ジョブスケジューリングプログラムは、
    前記管理計算機に、前記所定の係数が示す回数分実行されるように、前記第1の実行計算機に割り当てられた複数のサービスのうち、並行して処理することができる前記サービスを抽出させ、
    前記管理計算機に、前記第1の実行計算機と前記第2の実行計算機とに、前記抽出されたサービスを割り当てさせることを特徴とする請求項14に記載のジョブスケジューリングプログラム。
  16. 前記ジョブスケジューリングプログラムは、
    前記管理計算機に、前記所定の係数が示す回数分実行されるように、前記第1の実行計算機に割り当てられた複数のサービスのうち、前記処理するために要する時間が長い前記サービスを抽出させ、
    前記管理計算機に、前記抽出されたサービスを前記第2の実行計算機に割り当てさせることを特徴とする請求項15に記載のジョブスケジューリングプログラム。
JP2010105301A 2010-04-30 2010-04-30 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム Active JP5417626B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010105301A JP5417626B2 (ja) 2010-04-30 2010-04-30 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010105301A JP5417626B2 (ja) 2010-04-30 2010-04-30 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム

Publications (2)

Publication Number Publication Date
JP2011233086A JP2011233086A (ja) 2011-11-17
JP5417626B2 true JP5417626B2 (ja) 2014-02-19

Family

ID=45322314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010105301A Active JP5417626B2 (ja) 2010-04-30 2010-04-30 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム

Country Status (1)

Country Link
JP (1) JP5417626B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170849B2 (en) * 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
CN103346980B (zh) 2013-07-02 2016-08-10 华为技术有限公司 一种业务调度方法、装置及网络设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362211A (ja) * 2003-06-04 2004-12-24 Fujitsu Ltd 定型操作自動処理プログラム,定型操作自動処理方法及び定型操作自動処理装置
JP3936924B2 (ja) * 2003-06-18 2007-06-27 株式会社日立製作所 ジョブスケジューリング方法及びシステム

Also Published As

Publication number Publication date
JP2011233086A (ja) 2011-11-17

Similar Documents

Publication Publication Date Title
Ren et al. Hopper: Decentralized speculation-aware cluster scheduling at scale
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
JP5334226B2 (ja) スケジュール管理方法及びスケジュール管理サーバ
JPWO2007072544A1 (ja) 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム
WO2011142031A1 (ja) リソース管理方法、リソース管理装置およびプログラム
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
CN110673927B (zh) 一种虚拟机的调度方法和装置
US10067793B2 (en) Data processing method and apparatus for executing task code using reservation instruction and release instruction
JP6107801B2 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
JP6924083B2 (ja) 情報処理システムおよびリソース割り当て方法
JP2011180894A (ja) ジョブスケジューリングプログラム、ジョブスケジューリング装置、及びジョブスケジューリング方法
JP5417626B2 (ja) 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム
JP5879117B2 (ja) 情報処理システムおよび運用管理方法
CN111359205A (zh) 云端游戏的操作方法、装置、计算机设备及存储介质
CN112130979B (zh) 调度任务及训练神经网络模型的方法、装置、终端和介质
CN111597037B (zh) 作业分配方法、装置、电子设备及可读存储介质
CN112286631A (zh) 一种Kubernetes资源调度方法、装置与电子设备
JP5056346B2 (ja) 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム
JP2017010473A (ja) ジョブ実行制御システム及び方法
CN112631743B (zh) 任务调度方法、装置及存储介质
JP5867215B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN115834714B (zh) 一种跨平台任务调度方法、服务器和系统
JP2008129709A (ja) タスク制御方法、データ処理システム、タスク制御プログラム及びその記憶媒体
JP2022077155A (ja) 計算機システム及びジョブの実行制御方法
JP4650697B2 (ja) Cpuリソース管理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R150 Certificate of patent or registration of utility model

Ref document number: 5417626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150