Управление рабочими нагрузками Python и R с помощью Resource Governor в службах машинного обучения SQL Server

Область применения: SQL Server 2016 (13.x) и более поздних версий

Узнайте, как использовать Resource Governor для управления ресурсами ЦП, физическими операциями ввода-вывода и выделением ресурсов памяти для рабочих нагрузок Python и R в службах машинного обучения SQL Server.

Алгоритмы машинного обучения в Python и R ресурсоемки. В зависимости от приоритетов рабочих нагрузок может потребоваться увеличить или уменьшить объем доступных ресурсов для служб машинного обучения.

Дополнительные сведения см. в разделе Resource Governor.

Примечание.

Resource Governor — это функция редакции Enterprise.

Выделения по умолчанию

По умолчанию объем памяти, выделяемый для внешних сред выполнения сценариев машинного обучения, ограничен 20% от общего объема памяти компьютера. Иногда это зависит от системы, но в общем случае это ограничение не подходит для серьезных задач машинного обучения, таких как обучение моделей или прогнозирование на основе большого числа строк данных.

Управление ресурсами с помощью Resource Governor

По умолчанию внешние процессы используют до 20% общего объема памяти узла на локальном сервере. Пул ресурсов по умолчанию можно изменить, чтобы внести изменения на уровне сервера, а процессы R и Python будут использовать любую емкость, доступную для внешних процессов.

При необходимости можно создать настраиваемые внешние пулы ресурсов со связанными группами рабочих нагрузок и классификаторами, чтобы определить выделение ресурсов для запросов, исходящих от конкретных программ или узлов, или в соответствии с другими указанными условиями. Внешний пул ресурсов — это тип пула ресурсов, представленный в SQL Server 2016 (13.x), который помогает управлять процессами R и Python вне ядра СУБД.

  1. Включите управление ресурсами (по умолчанию оно отключено).

  2. Выполните команду CREATE EXTERNAL RESOURCE POOL , чтобы создать и настроить пул ресурсов, а затем ALTER RESOURCE GOVERNOR реализуйте его.

  3. Создайте группу рабочей нагрузки для детализированного выделения, например, между обработкой и оценкой.

  4. Создайте классификатор для перехвата вызовов для внешней обработки.

  5. Выполняйте запросы и процедуры с помощью созданных объектов.

Пошаговые инструкции см. в статье Создание пула ресурсов для Служб машинного обучения SQL Server.

Введение в терминологию и общие понятия см. в разделе Пул ресурсов регулятора ресурсов.

Процессы, для которых применяется управление ресурсами

С помощью внешнего пула ресурсов вы можете управлять ресурсами, используемыми следующими исполняемыми файлами в экземпляре ядра СУБД:

  • Rterm.exe при локальном вызове из SQL Server или при удалённом вызове с SQL Server в качестве удалённого контекста вычислений
  • Python.exe при локальном вызове из SQL Server или при удаленном вызове, где SQL Server выступает удаленным вычислительным контекстом
  • BxlServer.exe и вспомогательные процессы
  • вспомогательные процессы, запущенные Launchpad, такие как PythonLauncher.dll

Примечание.

Прямое управление службой панели запуска с помощью Resource Governor не поддерживается. Launchpad — это доверенная служба, в которой могут размещаться только средства запуска, предоставляемые корпорацией Майкрософт. Доверенные средства запуска настраиваются явным образом, чтобы избежать чрезмерного использования ресурсов.