Gestire carichi di lavoro Python ed R con Resource Governor in Machine Learning Services per SQL Server
Si applica a: SQL Server 2016 (13.x) e versioni successive
Informazioni su come usare Resource Governor per gestire l'allocazione delle risorse di CPU, I/O fisico e memoria per carichi di lavoro Python ed R in Machine Learning Services per SQL Server.
Gli algoritmi di apprendimento automatico in Python ed R sono a elevato utilizzo di calcolo. A seconda delle priorità del carico di lavoro, può essere necessario aumentare o ridurre le risorse disponibili per Machine Learning Services.
Per altre informazioni, vedere Resource Governor.
Nota
Resource Governor è una funzionalità della versione Enterprise Edition.
Allocazioni predefinite
Per impostazione predefinita, i runtime degli script esterni per l'apprendimento automatico sono limitati a non oltre il 20% della memoria totale del computer. A seconda del sistema in uso, è possibile che questo limite non sia adeguato per attività di apprendimento automatico importanti, ad esempio per il training di un modello o per la stima di molte righe di dati.
Gestire le risorse con Resource Governor
Per impostazione predefinita, i processi esterni usano fino al 20% della memoria totale dell'host nel server locale. È possibile modificare il pool di risorse predefinito per apportare modifiche a livello di server, con i processi R e Python che usano qualsiasi capacità resa disponibile ai processi esterni.
Se necessario, è possibile creare pool di risorse esterne personalizzati, con classificatori e gruppi di carico di lavoro associati, per determinare l'allocazione delle risorse per richieste provenienti da programmi o host specifici o altri criteri forniti. Un pool di risorse esterne è un nuovo tipo di pool di risorse introdotto in SQL Server 2016 (13.x) per supportare la gestione dei processi R e Python esterni al motore di database.
Abilitare la governance delle risorse (disattivata per impostazione predefinita).
Eseguire CREATE EXTERNAL RESOURCE POOL per creare e configurare il pool di risorse, quindi ALTER RESOURCE GOVERNOR per implementarlo.
Creare un gruppo di carico di lavoro per allocazioni granulari, ad esempio tra il training e l'assegnazione dei punteggi.
Creare un classificatore per intercettare le chiamate per l'elaborazione esterna.
Eseguire query e procedure usando gli oggetti creati.
Per istruzioni dettagliate, vedere Creare un pool di risorse per Machine Learning Services per SQL Server.
Per un'introduzione ai concetti generali e alla terminologia, vedere Pool di risorse di Resource Governor.
Processi inclusi nella governance delle risorse
È possibile usare un pool di risorse esterne per gestire le risorse usate dagli eseguibili seguenti in un'istanza del motore di database:
- Rterm.exe per la chiamata in locale da SQL Server o per la chiamata in remoto con SQL Server come contesto di calcolo remoto
- Python.exe per la chiamata in locale da SQL Server o per la chiamata in remoto con SQL Server come contesto di calcolo remoto
- BxlServer.exe e processi satellite
- Processi satellite avviati da Launchpad, ad esempio PythonLauncher.dll
Nota
La gestione diretta del servizio Launchpad tramite Resource Governor non è supportata. Launchpad è un servizio attendibile che può ospitare solo utilità di avvio fornite da Microsoft. Le utilità di avvio attendibili vengono configurate per evitare l'utilizzo eccessivo di risorse.