The following situations
can cause a large number of SPDSBASE processes to be created during
a SAS session:
-
Jobs that use multiple LIBNAME
statements with different user credentials.
-
A user who is a member of multiple
groups requires a separate LIBNAME statement for each group credentials.
The result is a separate user proxy for each LIBNAME. SPD Server supports
up to 32 groups for each user, but you cannot specify more than one
group in a LIBNAME statement.
-
Librefs with different credentials
require their own SQL user proxy. The SQL proxy assigns all librefs
that have LIBGEN=YES options for explicit SQL, or librefs that are
configured via the IP=YES option setting for implicit pass-through
SQL to an SQL user proxy.
When you use the SAS
Java proxy to access the Hadoop cluster, it requires additional SPD
Server process resources, as well as additional start-up requirements
for the user proxy.
You can address resource
allocation issues by enabling enhanced sharing of SPD Server user
proxies. Enhanced SPD Server proxy sharing does not require the
following matching credentials:
-
matching SPD Server User ID credentials
-
matching SPD Server Group credentials
-
matching SPD Server ACLSPECIAL
credentials
This means that almost
all librefs in the same SAS session are able to share the same user
proxy. The same is also true for any IP=YES or LIBGEN=YES librefs
that are generated by the SQL proxy. Almost all of those librefs can
share the same SQL user proxy. Shared proxies contain a control
thread for each LIBNAME assigned to the user proxy. The control thread
contains the user attributes of the LIBNAME, which are used to authenticate
any resources accessed by that LIBNAME.
Enhanced proxy sharing
is recommended if you are experiencing resource allocation issues
due to a large number of concurrent spdsbase processes. However, turning
the feature off is beneficial in the following situations:
You might want to turn
off the enhanced user proxy sharing feature for the following reasons:
-
If the user proxy terminates unexpectedly
due to a failure, turning it off reduces the number of librefs affected.
-
Turning it off enables you to kill
the user proxies for a given job.
For example, if a user
submits a job that is consuming too many computing resources and enhanced
user proxy sharing is not enabled, you could kill the user proxies
for only that user job. However, killing all the user proxies for
the SAS session, rather than for that particular job, is easier if
enhanced user proxy sharing is enabled.