BookmarkSubscribeRSS Feed
MariaD
Barite | Level 11

Hi folks,

 

As far I know, there is no way to define a threshold for user or process no SAS. There is any way to add priority to SAS EM process on a server?

 

Regards,

9 REPLIES 9
nhvdwalt
Barite | Level 11

Hi @MariaD

 

This is a fairly involved topic, but let's start with some simple answers....

 

Assuming you are not using SAS Grid, then there is no real way in SAS to set this. These setting are done using the operating system. On Linux for example it will be things like NICE, etc. So you could for example set a user to have a certain priority. The effect is the same, but it is an operating system setting, not SAS.

 

However, just think carefully before implementing priority. Although it might raise the priority of one user, which is the aim, but it also 'lowers' the priority of other users since they are pushed to the back of the queue. Which may or may not be desired. It's all up to design.

 

If I may ask, what is the problem you're trying to solve ?

MariaD
Barite | Level 11

Hi @nhvdwalt,

 

Thanks for your answer. We are running on AIX 7.1 and we are not using SAS Grid. Our customer like to add some priority for SAS EM process. On this server we have user running reports, data exploration, data manipulations and some users use SAS EM to build models. 

 

Regards,

Galen
Obsidian | Level 7

Hi @MariaD,

 

This thread caught my attention as it was an interesting request.  As @nhvdwalt pointed out, this is an OS issue and not so much as SAS issue.  However, I googled a bit and came across this thread on Stack Exchange.  It's been a long time since I had anything to do with AIX but I suspect that one of those solutions might work for you.  You might also consider configuring a Workspace server for explicit use by EM and using a variant of the 'nice -n -20 <sas>' for the processes that are spawned by that server.  If there is a specific group, the limits.conf might serve you better.  However, limits.conf and some of the other options will be system wide for that set of users and not just for EM.  For example, if they run any other process, it will run with the same priority as for EM with the limits.conf settings.  I would expect that their Sys Admins would be able to offer some advise as well.

 

=G=

nhvdwalt
Barite | Level 11

@Galen gave a good explanation of using OS tools to achieve this.

 

@MariaD

SAS Enterprise Miner nodes can be quite intensive, CPU wise, and long running. By giving priority to them, you might degrade the performance for other users completely.

 

Maybe also consider....

 

1.) Review the total SAS workload over a 1,7 and 30 day period. Are there any processes that can be moved to off-peak periods like overnight or weekends ? An ideal situation is where user and batch jobs don't overlap, or as little as possible.

2.) Has the system been tuned in both SAS and the OS ?

3.) Are you monitoring the system utilization ? CPU, RAM, etc.

4.) If your environment is really expanding a lot, then maybe look at SAS Grid. It has some very good workload management features

 

Your mileage will vary, but the above points might yield some interesting insights into your system.

JuanS_OCS
Amethyst | Level 16

Hello @MariaD,

 

good topic. I can agree with most of the useful things already said by @nhvdwalt and @Galen.

 

Settings thresholds for SAS users or kind of processes are mostly a OS question, but I think not completely, you can help to the OS a little bit with SAS.

 

If you have certain users that only do use EM, then limits can help indeed, but this won;t work for users that launch other kind of processes, as EG, DI, etc. Even worse, if your Worskpace is set for SAS Token Authentication, this won't work at all, because all the sessions will be launched with a specific OS account, generally sassrv, so you cannot easily identify the owner of the sas process. 

 

Same goes to the process. If you set controls at the SAS Workspace server level, you need to add several extra checks/intelligence to the WorkspaceServer.sh and/or autoexec, to figure out the kind of process (if it is an EM one) and the user (and if WorkspaceServer authenticates with SAS Token, then you need to check the metadata user, instead of the OS account).

 

If you have SAS Grid, the Grid options can help. But in any case, if you have SAS Grid or not, the best you can do is to split your SASApp to have one SASApp for EM, and then set the thresholds in that WorkspaceServer.sh.

The SASApp it is not only interesting if you have business units, but also if you want to split and set different workspace server configurations (memory, encoding, locale, priorities, anything).

 

In any case, it is always a good idea to be mindful of manually setting thresholds directly at OS level..., and giving priority in that way. It is generally better to use a Resource Manager to set queues and let the resource manager to apply the priorities and thresholds for you, according to your admin preferences.

MariaD
Barite | Level 11

Thanks all for the suggestions! 

JuanS_OCS
Amethyst | Level 16

Did you manage to implement anything? What would it be your approach, at this moment?

MariaD
Barite | Level 11

@JuanS_OCS, now we are analysing all suggestions and the implications to make a final decision. At the moment, we don't have any threshold applied. 

JuanS_OCS
Amethyst | Level 16

All right, good luck with that! If possible, please let us know the outcome... and if anything else might come out, here we are

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 9 replies
  • 2299 views
  • 8 likes
  • 4 in conversation