You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/advanced-analytics/r-services/resource-governance-for-r-services.md
+62-64Lines changed: 62 additions & 64 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,68 +16,66 @@ ms.author: "jeannt"
16
16
manager: "jhubbard"
17
17
---
18
18
# Resource Governance for R Services
19
-
One pain point with R is that analyzing large amounts of data in production requires additional hardware, and data is often moved outside the database to computers not controlled by IT. To perform advanced analytics operations, customers want to leverage database server resources, and to protect their data, they require that such operations meet enterprise-level compliance requirements, such as security and performance.
20
-
21
-
This section provides information about how you can manage resources used by the R runtime and by R jobs running using the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] instance as the compute context.
22
-
23
-
## What is Resource Governance?
24
-
Resource governance is designed to identify and prevent problems that are common in a database server environment, where there are often multiple dependent applications and multiple services to support and balance. For [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)], resource governance involves these tasks:
25
-
26
-
- Identifying scripts that use excessive server resources.
27
-
28
-
The administrator needs to be able to terminate or throttle jobs that are consuming too many resources.
29
-
30
-
- Mitigating unpredictable workloads.
31
-
32
-
For example, if multiple R jobs are running concurrently on the server and the jobs are not isolated from each other by using resource pools, the resulting resource contention could lead to unpredictable performance or threaten completion of the workload.
33
-
34
-
- Prioritizing workloads.
35
-
36
-
The administrator or architect needs to be able to specify workloads that must take precedence, or guarantee certain workloads to complete if there is resource contention.
37
-
38
-
In [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)], you can use [Resource Governor](../../relational-databases/resource-governor/resource-governor.md) to manage the resources used by the R runtime and by remote R jobs.
39
-
40
-
## How to Use Resource Governor to Manage R jobs
41
-
In general, you manage resources allocated to R jobs by creating *external resource pools* and assigning workloads to the pool or pools. An external resource pool is a new type of resource pool introduced in [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], to help manage the R runtime and other processes external to the database engine.
42
-
43
-
In [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], there are now three types of default resource pools .
44
-
45
-
- The *internal pool* represents the resources used by the SQL Server itself and cannot be altered or restricted.
46
-
47
-
- The *default pool* is a predefined user pool that you can use to modify resource use for the server as a whole. You can also define user groups that belong to this pool, to manage access to resources.
48
-
49
-
- The *default external pool* is a predefined user pool for external resources. Additionally, you can create new external resource pools and define user groups to belong to this pool.
50
-
51
-
In addition, you can create *user-defined resource pools* to allocate resources to the database engine or other applications, and create *user-defined external resource pools* to manage R and other external processes.
52
-
53
-
For a good introduction to terminology and general concepts, see [Resource Governor Resource Pool](../../relational-databases/resource-governor/resource-governor-resource-pool.md).
54
-
55
-
> [!NOTE]
56
-
> Currently the new Resource Governor properties are available only via DDL statements or scripting; external resource groups cannot be created by using the user interface in [!INCLUDE[ssManStudio](../../includes/ssmanstudio-md.md)].
57
-
58
-
## Resource Management using Resource Governor
59
-
60
-
If you are new to Resource Governor, see this topic for a quick walkthrough of how to modify the instance default resources and create a new external resource pool: [How To: Create a Resource Pool for R](../../advanced-analytics/r-services/how-to-create-a-resource-pool-for-r.md)
61
-
62
-
You can use the *external resource pool* mechanism to manage the resources used by the following R executables:
63
-
64
-
- Rterm.exe and satellite processes
65
-
66
-
- BxlServer.exe and satellite processes
67
-
68
-
- Satellite processes launched by LaunchPad
69
-
70
-
However, direct management of the Launchpad service by using Resource Governor is not supported. That is because the [!INCLUDE[rsql_launchpad](../../includes/rsql-launchpad-md.md)] is a trusted service that can by design host only launchers that are provided by Microsoft. Trusted launchers are also configured to avoid consuming excessive resources.
71
-
72
-
We recommend that you manage satellite processes using Resource Governor and tune them to meet the needs of the individual database configuration and workload. For example, any individual satellite process can be created or destroyed on demand during execution.
73
-
74
-
## Disable External Script Execution
75
-
Support for external scripts is optional in [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] setup. Even after installing [!INCLUDE[rsql_productname_md](../../includes/rsql-productname-md.md)], the ability to execute external scripts is OFF by default, and you must manually reconfigure the property and restart the instance to enable script execution.
76
-
77
-
Therefore, if there is a resource issue that needs to be mitigated immediately, or a security issue, an administrator can immediately disable any external script execution by using [sp_configure (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-configure-transact-sql.md) and setting the property `external scripts enabled` to FALSE, or 0.
78
-
79
-
## See Also
80
-
[Managing and Monitoring R Solutions](../../advanced-analytics/r-services/managing-and-monitoring-r-solutions.md)
81
-
[How To: Create a Resource Pool for R](../../advanced-analytics/r-services/how-to-create-a-resource-pool-for-r.md)
One pain point with R is that analyzing large amounts of data in production requires additional hardware, and data is often moved outside the database to computers not controlled by IT. To perform advanced analytics operations, customers want to leverage database server resources, and to protect their data, they require that such operations meet enterprise-level compliance requirements, such as security and performance.
20
+
21
+
This section provides information about how you can manage resources used by the R runtime and by R jobs running using the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] instance as the compute context.
22
+
23
+
## What is Resource Governance?
24
+
Resource governance is designed to identify and prevent problems that are common in a database server environment, where there are often multiple dependent applications and multiple services to support and balance. For [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)], resource governance involves these tasks:
25
+
26
+
- Identifying scripts that use excessive server resources.
27
+
28
+
The administrator needs to be able to terminate or throttle jobs that are consuming too many resources.
29
+
30
+
- Mitigating unpredictable workloads.
31
+
32
+
For example, if multiple R jobs are running concurrently on the server and the jobs are not isolated from each other by using resource pools, the resulting resource contention could lead to unpredictable performance or threaten completion of the workload.
33
+
34
+
- Prioritizing workloads.
35
+
36
+
The administrator or architect needs to be able to specify workloads that must take precedence, or guarantee certain workloads to complete if there is resource contention.
37
+
38
+
In [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)], you can use [Resource Governor](../../relational-databases/resource-governor/resource-governor.md) to manage the resources used by the R runtime and by remote R jobs.
39
+
40
+
## How to Use Resource Governor to Manage R jobs
41
+
In general, you manage resources allocated to R jobs by creating *external resource pools* and assigning workloads to the pool or pools. An external resource pool is a new type of resource pool introduced in [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], to help manage the R runtime and other processes external to the database engine.
42
+
43
+
In [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], there are now three types of default resource pools .
44
+
45
+
- The *internal pool* represents the resources used by the SQL Server itself and cannot be altered or restricted.
46
+
47
+
- The *default pool* is a predefined user pool that you can use to modify resource use for the server as a whole. You can also define user groups that belong to this pool, to manage access to resources.
48
+
49
+
- The *default external pool* is a predefined user pool for external resources. Additionally, you can create new external resource pools and define user groups to belong to this pool.
50
+
51
+
In addition, you can create *user-defined resource pools* to allocate resources to the database engine or other applications, and create *user-defined external resource pools* to manage R and other external processes.
52
+
53
+
For a good introduction to terminology and general concepts, see [Resource Governor Resource Pool](../../relational-databases/resource-governor/resource-governor-resource-pool.md).
54
+
55
+
56
+
## Resource Management using Resource Governor
57
+
58
+
If you are new to Resource Governor, see this topic for a quick walkthrough of how to modify the instance default resources and create a new external resource pool: [How To: Create a Resource Pool for R](../../advanced-analytics/r-services/how-to-create-a-resource-pool-for-r.md)
59
+
60
+
You can use the *external resource pool* mechanism to manage the resources used by the following R executables:
61
+
62
+
- Rterm.exe and satellite processes
63
+
64
+
- BxlServer.exe and satellite processes
65
+
66
+
- Satellite processes launched by LaunchPad
67
+
68
+
However, direct management of the Launchpad service by using Resource Governor is not supported. That is because the [!INCLUDE[rsql_launchpad](../../includes/rsql-launchpad-md.md)] is a trusted service that can by design host only launchers that are provided by Microsoft. Trusted launchers are also configured to avoid consuming excessive resources.
69
+
70
+
We recommend that you manage satellite processes using Resource Governor and tune them to meet the needs of the individual database configuration and workload. For example, any individual satellite process can be created or destroyed on demand during execution.
71
+
72
+
## Disable External Script Execution
73
+
Support for external scripts is optional in [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] setup. Even after installing [!INCLUDE[rsql_productname_md](../../includes/rsql-productname-md.md)], the ability to execute external scripts is OFF by default, and you must manually reconfigure the property and restart the instance to enable script execution.
74
+
75
+
Therefore, if there is a resource issue that needs to be mitigated immediately, or a security issue, an administrator can immediately disable any external script execution by using [sp_configure (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-configure-transact-sql.md) and setting the property `external scripts enabled` to FALSE, or 0.
76
+
77
+
## See Also
78
+
[Managing and Monitoring R Solutions](../../advanced-analytics/r-services/managing-and-monitoring-r-solutions.md)
79
+
[How To: Create a Resource Pool for R](../../advanced-analytics/r-services/how-to-create-a-resource-pool-for-r.md)
0 commit comments