SQL Server Machine Learning Services でリソース ガバナーを使用して Python と R のワークロードを管理する

適用対象: SQL Server 2016 (13.x) 以降のバージョン

リソース ガバナーを使用して、SQL Server Machine Learning Services での Python および R のワークロードに対する CPU、物理 IO、およびメモリ リソースの割り当てを管理する方法について説明します。

Python および R の機械学習アルゴリズムは、多くのコンピューティング処理を必要とします。 ワークロードの優先度によっては、Machine Learning Services に使用できるリソースを増減することが必要になる場合があります。

一般情報については、「リソース ガバナー」を参照してください。

注意

リソース ガバナーは Enterprise Edition の機能です。

既定の割り当て

既定では、機械学習の外部スクリプト ランタイムは、合計マシン メモリの 20% 以下に制限されています。 システムによって異なりますが、一般的に、モデルのトレーニングや多数のデータ行の予測などの本格的な機械学習タスクでは、この制限が不十分である可能性があります。

リソース ガバナーを使用したリソースの管理

既定では、外部プロセスでは、ローカル サーバー上の合計ホスト メモリの最大 20% が使用されます。 既定のリソース プールを変更して、サーバー全体の変更を加えることができます。外部プロセスで使用できるようにする容量を R と Python のプロセスで使用できるように設定できます。

必要に応じて、関連するワークロード グループと分類子を使用してカスタムの外部リソース プールを作成し、特定のプログラム、ホスト、またはその他の条件によって送信された要求のリソース割り当てを決定することもできます。 外部リソース プールは、SQL Server 2016 (13.x) に導入された種類のリソース プールです。データベース エンジン外部の R および Python のプロセスの管理に役立ちます。

  1. リソース ガバナンスを有効にします (既定ではオフになっています)。

  2. 外部リソース プールを作成するを実行してリソース プールを作成および構成し、その後 ALTER RESOURCE GOVERNOR を実行してこれを実装します。

  3. トレーニングとスコア付けなど、粒度の細かい割り当て用のワークロード グループを作成します。

  4. 外部処理の呼び出しをインターセプトする分類子を作成します。

  5. 作成したオブジェクトを使用して、クエリとプロシージャを実行します。

チュートリアルについては、「SQL Server Machine Learning Services のリソース プールを作成する」の順を追った手順を参照してください。

用語および一般的な概念について詳しくは、「Resource Governor Resource Pool」(リソース ガバナーのリソース プール) をご覧ください。

リソース ガバナンスのプロセス

外部リソース プールを使用して、次の実行可能ファイルによって使用されるリソースをデータベース エンジン インスタンスで管理できます。

  • SQL Server からローカルで呼び出したときまたは SQL Server でリモート コンピューティング コンテキストとしてリモートで呼び出したときには Rterm.exe
  • SQL Server からローカルで呼び出したときまたは SQL Server でリモート コンピューティング コンテキストとしてリモートで呼び出したときには Python.exe
  • BxlServer.exe およびサテライト プロセス
  • PythonLauncher.dll などのスタート パッドで起動されたサテライト プロセス

注意

リソース ガバナーによるスタート パッド サービスの直接管理はサポートされません。 スタート パッドは、Microsoft によって提供されるランチャーのみをホストできる信頼されたサービスです。 信頼できるランチャーは、リソースを過度に消費しないように明示的に構成されています。

次のステップ