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 libref. 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.
For more information, see SAS Scalable Performance Data Server: Processing Data in Hadoop.
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 libref assigned to the user proxy. The control thread contains the user
attributes of the libref, which are used to authenticate any resources accessed by
that libref.
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:
-
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.