Gerir cargas de trabalho Python e R com Resource Governor em SQL Server Machine Learning Services

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

Aprenda a usar Resource Governor para gerir a alocação de recursos de CPU, E/S física e memória para cargas de trabalho Python e R em SQL Server Machine Learning Services.

Os algoritmos de aprendizagem automática em Python e R são intensivos em computação. Dependendo das suas prioridades de carga de trabalho, poderá precisar de aumentar ou diminuir os recursos disponíveis para os Serviços de Machine Learning.

Para informações mais gerais, consulte Resource Governor.

Note

Resource Governor é uma funcionalidade da Enterprise Edition.

Alocações padrão

Por defeito, os tempos de execução dos scripts externos para aprendizagem automática são limitados a no máximo 20% da memória total da máquina. Depende do seu sistema, mas, em geral, pode achar este limite inadequado para tarefas sérias de aprendizagem automática, como treinar um modelo ou prever em várias linhas de dados.

Gerencie recursos com o Administrador de Recursos

Por defeito, processos externos consomem até 20% da memória total do host no servidor local. Pode modificar o pool de recursos predefinido para fazer alterações a nível de servidor, com processos em R e Python usando a capacidade que disponibilizar a processos externos.

Opcionalmente, pode criar pools de recursos externos personalizados, com grupos de carga de trabalho e classificadores associados, para determinar a alocação de recursos para pedidos originados de programas, hosts ou outros critérios específicos que fornece. Um pool de recursos externo é um tipo de pool de recursos introduzido no SQL Server 2016 (13.x) para ajudar a gerir os processos R e Python externos ao motor de base de dados.

  1. Ativar a governação de recursos (está desligada por defeito).

  2. Execute CREATE EXTERNAL RESOURCE POOL para criar e configurar o pool de recursos, seguido de ALTER RESOURCE GOVERNOR para o implementar.

  3. Crie um grupo de carga de trabalho para alocações detalhadas, por exemplo, entre treino e pontuação.

  4. Crie um classificador para intercetar chamadas para processamento externo.

  5. Execute consultas e procedimentos usando os objetos que criou.

Para obter uma explicação detalhada, consulte Criar um conjunto de recursos para os Serviços Machine Learning do SQL Server para obter instruções passo a passo.

Para uma introdução à terminologia e conceitos gerais, consulte Resource Governor Resource Pool.

Processos sob governação de recursos

Pode usar um pool de recursos externo para gerir os recursos usados pelos seguintes executáveis numa instância de motor de base de dados:

  • Rterm.exe quando chamado localmente a partir do SQL Server ou chamado remotamente tendo o SQL Server como contexto de computação remota
  • Python.exe quando chamado localmente a partir do SQL Server ou chamado remotamente com o SQL Server como contexto de computação remoto
  • BxlServer.exe e processos satélite
  • Processos satélite lançados pela Launchpad, como PythonLauncher.dll

Note

A gestão direta do serviço Launchpad através do Resource Governor não é suportada. O Launchpad é um serviço de confiança que só pode alojar lançadores fornecidos pela Microsoft. Os lançadores de confiança são explicitamente configurados para evitar o consumo excessivo de recursos.

Passos seguintes