一、背景の紹介
過去のSAS Viya機能紹介のブログで、クラウドネイティブアーキテクチャを採用したSAS Viyaのユーザーのワークロードのリソース管理の仕組みと方法を紹介しました。これらの機能のほとんどはKubernetesの特徴や機能によって実現されていますが、実は、SAS Viyaにはワークロードの管理を強化する特別な機能が搭載されています。この機能のおかげで、ユーザーは従来に比べてさらに高度で柔軟な負荷管理が可能となり、これによりクラウドのコストを節約し、業務プロセスをより効率的に運用することができます。この記事では、まずこの新しい機能の主な特徴や基本的な動き方を紹介します。
二、機能の特長と価値
ビジネス上の分析業務は、その実行部門や目的、優先順位、データの規模、そして使用される分析手法によって異なる性質を持っています。多様な分析タスクを一つの環境で実行する際、さまざまな問題が生じることが知られています。例えば、低優先度のタスクが計算リソースを占めてしまうこと、あるいはシステム全体に影響するようなエラー、そして計算リソースの不足や無駄などです。
このような問題に答えを提供するのがSAS Viyaの「SAS Workload Orchestrator」という機能です。ここでは、その機能の特長と価値について解説します。
1. コストとアジリティのバランスを最適化
・キューの優先順位付け: さまざまなワークロードの優先度を定義し、重要なタスクが最初に実行されることを保証します。
・負荷分散: リソースの使用を最適化し、タスクの適切な分散を実現。
・Kubernetesでの実行: 現代のクラウド環境に最適化された実行環境。
・ユーザーの中断を最小限に: 重要な作業の妨げとなる中断を避けます。
2. スループット、可用性、生産性の向上
・最適な実行順序: 作業の効率とスピードを最大化。
・並列処理: 複数のタスクを同時に高速で処理。
・ワークロードの事前中断と自動再開: エラーが生じた場合でも自動でジョブを再開し、データサイエンティストの作業が中断されることなく最良のモデルの構築を続けられる。
3. 管理の簡素化
・SASのワークロードの集中管理: ポリシーやプログラム、キュー、優先度を一元管理。
・リアルタイムモニタリング: ジョブの進行状況やリソースの使用状況をリアルタイムで確認。
・オンプレミスまたはクラウドでの実行: 用途や環境に合わせて選択可能。
結論として、SAS Workload Orchestratorは、高度なビジネスの要件に応じて分析タスクの実行を効率的に行うための強力なツールです。そのグラフィカルなインターフェースを通じて、リソースの一元的な管理が可能となり、ビジネスの生産性と価値を最大限に引き出すことができます。
三、「SAS Workload Orchestrator」の画面と用語定義
それでは、「SAS Workload Orchestrator」の魅力的な機能とその価値を理解したところで、具体的に「SAS Workload Orchestrator」の操作画面や用語について詳しく解説していきましょう。ぜひ参考にしてください。
1.用語定義
SAS Workload Orchestratorを深く探る前に、特定のキーワードや用語についての理解が必要です。そこで、こちらの機能を利用する際に、いくつかの重要な用語の定義をまずご紹介します。
・キュー:SAS Workload Orchestratorでは、異なる優先度やパラメータごとに複数のキューを定義することができます。ジョブのスケジューリングと分配はキューのパラメータに基づいています。ジョブが実行されると、まずはキューに配置され、リソースがジョブに対して利用可能になるまでそこに保持されます。同じキューに登録されたすべてのジョブは、同じスケジューリングと制御ポリシーを共有します。
・ジョブ:SAS Viyaで実行したすべてのSASコードとセッションは、SAS Workload Orchestratorではジョブとして扱います。例えば、SAS Studioを利用した時に立ち上がったセッションやCLIコマンドで実行したバッチジョブなどはすべてSAS Workload Orchestratorでジョブとして管理されます。
・ホスト:ホストは、SAS Workload Orchestratorのジョブを処理するためのkubernetesノードであり、またコンピュートサーバーとも呼ばれます。SASコードはすべてこのホスト上で実行されます。
・オートスケーラー機能(AutoScaler):SAS Workload Orchestratorはジョブやホストのリソースの使用状況に基づいて利用できる計算リソースを動的に調整する能力を提供します。これは、実際のワークロードに応じてSAS Viyaのコンピュートサーバーの数を増減することを可能にします。
2.操作画面
SAS Workload Orchestratorを開いたら、最初に下記のようなダッシュボードの画面が表示されます。
こちらの画面は主に「情報」、「キューステータス」と「ホストステータス」の3つの部分で構成されます。簡単に紹介をしますと、
①「情報」:この部分を通して、ユーザーは利用しているSAS Workload Orchestrator機能のバージョンやライセンス情報、または今SAS Viya上で実行されているジョブの状況を把握できます。
②「キューステータス」:ここで、ユーザーはSAS Viya上にある各キューの状態を把握できます。例えば、今キューがオープンな状態であれば、ユーザーはすぐにそのキューでジョブを実行することができます。またはキューの中で実行されているジョブの数を確認し、上限値に達しているキューを避けて、別のキューを指定するなど。
③「ホストステータス」:ここで、ユーザーはコンピュートサーバーの数と状態を確認できます。稼働中のサーバーのリソース利用状態を見ながら、次に実行するジョブの実行場所を選択できます。
「SAS Workload Orchestrator」の動作方法
前章で「SAS Workload Orchestrator」の操作画面と主要な用語について説明しました。次は、ユーザーがジョブを実行する際の「SAS Workload Orchestrator」の動作プロセスについて簡単に紹介します。
1. ユーザーがジョブを実行する際にキューを選択します。その後、SAS Workload Orchestratorはそのジョブの優先度を確認し、他のキューで待機中のジョブとの優先度を比較して、適切なスケジュールを決定します。
2. キューの定義に記載されている仕様に基づいて、SAS Workload Orchestratorはジョブが実行されるホスト(コンピュートノード)を決定します。キューの定義は、ホストが実行できるジョブの最大数、使用する特定のホストタイプ、及びしきい値や制限などの基準を指定できます。各基準値において、ホストがジョブの受け入れを停止するか、ジョブを一時停止して過負荷にならないようにするタイミングを判断できます。
3.SAS Workload Orchestratorは、ジョブをホストで実行するのに十分なリソースがあるかどうかを判断します。リソースが十分な場合、ジョブを実行します。
ジョブを実行するための十分なリソースが利用できない場合、次の状況のいずれかが発生します:
・リソースが利用可能になるまでジョブは保留されます。
・キューの定義がジョブより低い優先度のキューからのジョブを先行させることができると指定している場合、より低い優先度のジョブはキルされ、より高い優先度のジョブが実行されます。
・オートスケーラーが有効になっている場合、一台の新しいホストが立ち上がります。
最後に
以上は、「SAS Workload Orchestrator」の基本機能の紹介でした。SAS Viyaの「SAS Workload Orchestrator」は、分析タスクの実行においてリソースを効率的に使用するための強力な機能を提供します。キュー管理からオートスケーリングまで、これにより、ビジネスの要件に合わせて柔軟かつ効果的なリソース管理が可能となります。次回の記事では、「SAS Workload Orchestrator」機能の実際の使い方法とアーキテクチャについて紹介します。