Управление рабочими нагрузками 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 вне ядра СУБД.
Включите управление ресурсами (по умолчанию оно отключено).
Выполните инструкцию CREATE EXTERNAL RESOURCE POOL, чтобы создать и настроить пул ресурсов, а затем инструкцию ALTER RESOURCE GOVERNOR, чтобы реализовать его.
Создайте группу рабочей нагрузки для детализированного выделения, например, между обработкой и оценкой.
Создайте классификатор для перехвата вызовов для внешней обработки.
Выполняйте запросы и процедуры с помощью созданных объектов.
Пошаговые инструкции см. в статье Создание пула ресурсов для Служб машинного обучения SQL Server.
Общие сведения о терминологии и основных понятиях см. в разделе Пул ресурсов Resource Governor.
Процессы, для которых применяется управление ресурсами
С помощью внешнего пула ресурсов вы можете управлять ресурсами, используемыми следующими исполняемыми файлами в экземпляре ядра СУБД:
- Rterm.exe при вызове локально из SQL Server или при удаленном вызове из SQL Server в качестве удаленного контекста вычислений;
- Python.exe при вызове локально из SQL Server или при удаленном вызове из SQL Server в качестве удаленного контекста вычислений;
- BxlServer.exe и вспомогательными процессами;
- вспомогательными процессами, запущенными с помощью панели запуска, например, PythonLauncher.dll;
Примечание.
Прямое управление службой панели запуска с помощью Resource Governor не поддерживается. Панель запуска — это доверенная служба, которая может размещать только те запуски, которые предоставляются корпорацией Майкрософт. Доверенные средства запуска настраиваются явным образом, чтобы избежать чрезмерного использования ресурсов.