ジョブスケジューラは、ジョブの無人バックグラウンドプログラム実行を制御するコンピュータアプリケーションです。[1]これは一般にバッチスケジューリングと呼ばれ、非対話型ジョブの実行はバッチ処理と呼ばれることが多いですが、従来のジョブとバッチは区別され、対比されています。詳細については、そのページを参照してください。他の同義語には、バッチシステム、分散リソース管理システム(DRMS)、分散リソースマネージャー(DRM)、そして今日一般的に使用されているワークロードオートメーション(WLA)などがあります。実行するジョブのデータ構造は、ジョブキューとして知られています。
最新のジョブ スケジューラは、通常、コンピュータの分散ネットワークにおけるバックグラウンド実行の定義と監視のためのグラフィカル ユーザー インターフェイスと単一の制御ポイントを提供します。ジョブ スケジューラは、さまざまなオペレーティング システムプラットフォームやビジネス アプリケーション環境にわたって、リアルタイムのビジネス アクティビティと従来のバックグラウンド IT 処理の統合を調整することがますます求められています。
ジョブ スケジューリングは、オペレーティング システムによって現在実行中のプロセスをCPUに割り当てるプロセス スケジューリングと混同しないでください。
概要
ジョブ スケジューラ ソフトウェアに期待される基本機能は次のとおりです。
- ワークフローやジョブの依存関係を定義するのに役立つインターフェース
- 執行の自動提出
- 実行を監視するためのインターフェース
- 無関係なジョブの実行順序を制御するための優先順位やキュー
まったく異なる分野のソフトウェアにこれらの機能のすべてまたは一部が含まれている場合、このソフトウェアにはジョブ スケジューリング機能があると見なすことができます。
UnixやWindowsなどのほとんどのオペレーティング システムでは、 at や batch、cron、Windows タスク スケジューラなどの基本的なジョブ スケジューリング機能が提供されています。Webホスティング サービスでは、コントロール パネルまたはwebcronソリューションを通じてジョブ スケジューリング機能が提供されています。DBMS 、バックアップ、ERP、BPMなどの多くのプログラムにも、関連するジョブ スケジューリング機能が含まれています。オペレーティング システム ("OS") またはポイント プログラムが提供するジョブ スケジューリングでは、通常、単一の OS インスタンスを超えて、または特定のプログラムの範囲外でスケジュールする機能は提供されません。関連のない IT ワークロードを自動化する必要がある組織では、ジョブ スケジューラの次のような高度な機能も活用できます。
これらの高度な機能は社内の開発者が作成することもできますが、システム管理ソフトウェアを専門とするサプライヤーによって提供される場合がほとんどです。
主なコンセプト
ほぼすべてのジョブ スケジューラ実装の中心となる概念は数多くあり、ほとんど違いはなく広く認識されています。ジョブ、依存関係、ジョブ ストリーム、ユーザーなどです。
基本的な単一 OS インスタンス スケジューリング ツール以外に、ジョブ スケジューリング ソフトウェアには 2 つの主要なアーキテクチャが存在します。
- マスター/エージェント アーキテクチャ — ジョブ スケジューリング ソフトウェアの歴史的なアーキテクチャ。ジョブ スケジューリング ソフトウェアは単一のマシン (マスター) にインストールされますが、実稼働マシンには、マスターからのコマンドを待機し、それを実行して、終了コードをマスターに返す非常に小さなコンポーネント (エージェント) のみがインストールされます。
- 協調アーキテクチャ — 各マシンがスケジュール作成を支援し、ローカルにスケジュールされたジョブを他の協調マシンにオフロードできる分散モデル。これにより、動的なワークロード バランシングが可能になり、ハードウェア リソースの使用率と高可用性が最大化され、サービスの提供が保証されます。
歴史
ジョブ スケジューリングには長い歴史があります。ジョブ スケジューラは、初期のメインフレーム システム以来、IT インフラストラクチャの主要コンポーネントの 1 つでした。最初は、パンチ カードのスタックが次々に処理されていたため、「バッチ処理」という用語が生まれました。
歴史的な観点から見ると、ジョブ スケジューラには 2 つの主要な時代があります。
- メインフレームの時代
- IBM メインフレームのジョブ制御言語(JCL) 。当初は依存関係を処理する JCL 機能に基づいていましたが、この時代は、メインフレームのシステム管理および自動化ツールセットの一部を形成する高度なスケジューリング ソリューション ( Job Entry Subsystem 2/3など) の開発によって特徴付けられます。
- オープンシステムの
時代
- さまざまなアーキテクチャとオペレーティング システム上の最新のスケジューラ。標準のスケジューリング ツールはat や batchなどのコマンドに限定されているため、分散コンピューティング環境の採用が増えるにつれて、メインフレームの標準ジョブ スケジューラの必要性が高まっています。
スケジュールの種類に関しても、明確な時代があります。
- バッチ処理- バッチ処理にリソースが使用できる定義された期間 (バッチ ウィンドウ) に基づいて、従来の日付と時刻に基づいてバックグラウンド タスクを実行します。実質的に、元のメインフレーム アプローチがオープン システム環境に移植されました。
- イベント駆動型プロセス自動化 - ビジネスの性質上、ワークロードは外部イベントの発生 (顧客からの注文の到着や店舗支店からの在庫更新など) に基づく必要があるため、またはバッチ ウィンドウがないか不十分なため、バックグラウンド プロセスを定義された時間に単純に実行できない場合。
- サービス指向のジョブ スケジューリング -サービス指向アーキテクチャ(SOA) の最近の開発では、既存のビジネス アプリケーション ワークロードと新しいWeb サービスベースのリアルタイム アプリケーションとの統合に役立つ再利用可能な IT インフラストラクチャ サービスとしてジョブ スケジューリングを展開する方向へと進んでいます。
スケジュール
実行する特定のジョブを決定するために、さまざまなスキームが使用されます。考慮される可能性のあるパラメータには次のものがあります。
- 仕事の優先順位
- コンピュータリソースの可用性
- ライセンスキー(ライセンスソフトウェアを使用している場合)
- ユーザーに割り当てられた実行時間
- ユーザーに許可される同時ジョブ数
- 推定実行時間
- 経過実行時間
- 周辺機器の可用性
- 規定されたイベントの発生
- 仕事への依存
- ファイルの依存関係
- オペレータプロンプトの依存性
参照
参考文献
- ^ ジョブサイズ特性がジョブスケジューリングのパフォーマンスに与える影響
