Enhanced SPDSBASE Sharing

Configuring Enhanced SPDSBASE Sharing

You specify SPDSBASE enhanced user proxy sharing settings via the SHARE= LIBNAME option, or via the SHRUSRPRXY spdsserv.parm parameter file option.

SHRUSRPRXY spdsserv.parm Option

SHRUSRPRXY enables enhanced sharing of user proxies and defines this as the default behavior for SPD Server. SPD Server proxy sharing enables users with different SPD Server user and group credentials to use the same proxy. Enhanced user proxy sharing keeps the number of concurrent SPDSBASE process resources from growing too large. A large number of concurrent SPDSBASE processes can create system resource allocation issues in some SPD Server environments. The SHRUSRPRXY spdsserv.parm option setting can be overridden by the SHARE= SASSPDS engine LIBNAME option.
Syntax
[NO]SHRUSRPRXY
Default
SHRUSRPRXY

SHARE= LIBNAME Option

When SHRUSRPRXY is set in the spdsserv.parm file, the SHARE= LIBNAME option can disable enhanced sharing of user proxies. When NOSHRUSRPRXY, the LIBNAME option can enable it.
Syntax
SHARE= YES | NO
Default
If the SHARE= LIBNAME option is not specified, SPD Server enhanced user proxy sharing settings default to the configuration defined by the SHRUSRPRXY setting in the spdsserv.parm parameter file.

Managing Concurrent SPDSBASE Process Resources

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.
Last updated: February 3, 2017