Sun N1 Grid Engine 6.1 管理ガイド

グリッド環境のチューニング

Grid Engine システムは、完全な機能を有する、汎用分散リソース管理ツールです。システムのスケジューラコンポーネントは、幅広いさまざまな計算ファームのシナリオをサポートしています。計算環境から最大限のパフォーマンスを引き出すには、使用可能になっている機能を調べる必要があります。続いて、負荷管理問題を解決するためには実際にどの機能が必要であるかを決定する必要があります。これらの機能の一部を使用不可にすることで、クラスタのスループットのパフォーマンスが向上する可能性があります。

スケジューラ監視

スケジューラ監視は、一部のジョブが振り分けられなかった理由を調べる手助けになります。ただし、すべてのジョブに対して常にこの情報を提供すると、リソースを消費する可能性があります。通常は、この情報はそれほど必要ありません。

スケジューラ監視を使用不可にするには、スケジューラ構成で schedd_job_info を false に設定します。QMON を使用したスケジューラ構成の変更」、および sched_conf (5) のマニュアルページを参照してください。

完了ジョブ

配列ジョブの場合、qmaster の完了ジョブのリストは非常に大きなサイズになることがあります。qstat は完了ジョブのリストの取得も行うため、完了ジョブのリストを無効化すると、メモリーが節約され、qstat プロセスが高速化します。

完了ジョブのリスト機能を無効化するには、クラスタ構成で finished_jobs をゼロに設定します。QMON を使用したグローバルおよびホスト構成の追加と変更」、および sge_conf(5) のマニュアルページを参照してください。

ジョブの検査

ジョブ発行時に検査を強制することは、振り分け不可能なジョブが永続的に保留状態のままになることを防ぐための、重要な手続きになります。ただし、ジョブの検査は時間を消費するタスクになる可能性もあります。さまざまな実行ノードと消費可能リソースを抱え、すべてのユーザーが独自のジョブプロファイル を有する、異機種システム混在環境においては特に、ジョブの検査が時間を消費する可能性があります。異なるジョブがごく少数しかない同機種システム環境では、一般的なジョブの検査は省略できます。

ジョブの検査を使用不可にするには、クラスタ全体のデフォルト要求で、qsub のオプション –w n を追加します。『Sun N1 Grid Engine 6.1 ユーザーズガイド』「QMON による高度なジョブの発行」、および sge_request(5) のマニュアルページを参照してください。

負荷しきい値および一時停止しきい値

慎重にマシンへの過剰な予約を行い、また過剰なシステム負荷を防ぐ必要がある場合に、負荷しきい値は必要です。一時停止しきい値も、システムに過剰な負荷をかけることを防止するために使用します。

ノードの過剰な負荷を防止する必要があるもう 1 つのケースは、実行ノードが対話型の負荷に対してオープンなままである場合です。対話型の負荷は、Grid Engine システムの制御下にありません。

計算ファームは、汎用度が低い場合があります。たとえば、計算ノードの各 CPU が唯一のキュースロットによってのみ表され、これらのノードでは対話型負荷が想定されていない場合があります。このような場合、load_thresholds を省略できます。

両方のしきい値を使用不可にするには、load_thresholdsnone に設定し、suspend_thresholdsnone に設定します。「負荷および一時停止しきい値の構成」、および queue_conf(5) のマニュアルページを参照してください。

負荷調整

ジョブが振り分けられたあと、測定された負荷を大きくするために、負荷調整を使用します。この仕組みにより、ジョブの振り分けと対応する負荷の影響との間の遅延が原因である、マシンの過剰な予約が防止されます。必要でない場合は、負荷調整をオフにできます。負荷調整は、ホストと負荷しきい値のソートを伴って、スケジューラに追加の作業を課すことになります。

負荷調整を使用不可にするには、スケジューラ構成で job_load_adjustmentsnone に設定し、load_adjustment_decay_time をゼロに設定します。QMON を使用したスケジューラ構成の変更」、および sched_conf (5) のマニュアルページを参照してください。

直接スケジューリング

Grid Engine システムのデフォルトでは、固定スケジュール間隔でスケジューリング実行を開始します。固定間隔の優れた特徴としては、qmaster およびスケジューラの CPU 時間の消費を制限する点があります。好ましくない特徴としては、固定間隔はスケジューラを制限し、人為的にスループットを制限する点があります。多くの計算ファームには、qmaster とスケジューラ専用のマシンがあり、このような設定ではスケジューラを制限する理由がありません。sched_conf(5) の schedule_interval を参照してください。

スケジューラ構成の flush_submit_sec および flush_finish_sec パラメータを使用することで、直接スケジューリングを構成できます。QMON を使用したスケジューラ構成の変更」、および sched_conf (5) のマニュアルページを参照してください。

直接スケジューリングがアクティブである場合、計算ファームのスループットは、sge_qmaster とスケジューラをホスティングしているマシンの能力によってのみ制限されます。

緊急度ポリシーおよびリソース予約

緊急度ポリシーを使用すると、リソースに依存するジョブ優先順位方式をカスタマイズできます。このようなジョブ優先順位方式には、次の要素が含まれます。

リソース予約を使用している場合、両方の目標の実現は特に重要です。