10-17-2013 12:57 PM
I have SAS 9.2 6x bit install in my PC. In order to fasten the process of running my code, I think about split the whole work into few pieces and run concurrently on different SAS terminals.
So I open 2 SAS on the same PC and run the code. Surprisingly to me, both run concurrently. My questions are:
Is what SAS allow you to do?
Should there be any conflict if both running and therefore cause error during the process?
Is there any notable pro and con for this simultaneous processes?
If you have answer or any suggestions of what to do to get 2 SAS running at once, please help me.
10-17-2013 02:13 PM
No problem. If you are using the same Windows account, your settings in sasuser won't shared across sessions. The only conflict I can think of is there are any part of your programs that locks any of the permanent SAS tables.
10-17-2013 02:25 PM
To add to what said. Running SAS in multiple instances does have more resource overhead since you have SAS running twice. Cost / Benefit of this will be dependent on the types of jobs being run. These days the speed of SAS is mostly dependent on how much memory that is available to SAS to use and how much writing to the disk that SAS has to do especially if it has filled up the memory.
With all the complexities that can go on in a SAS program ... I tend to go with the try it and see route to see which alternative produces the quickest run.
Hope that helps!
10-17-2013 02:55 PM
Thanks you for your comments.
One problem I notice so far is that when you want to use the Proc PRINTTO, it seems that only 1 terminal do it. The other will show error even I change the destination to avoid conflict.
In fact I am about to make few virtual machine to run SAS on each machine. Now it seems I still need to do so since the log file get full so quickly.
I notice that SAS you quite small amount of RAM and CPU resource. Not sure how to increase the usage to utilize my PC power.
10-17-2013 03:11 PM
To make parallel processes to work can be quite tricky, logistically.
But many SAS procedures automatically uses multiple CPU/cores, so it might be easier just to make sure that your SAS program utilize the full capabilities of your PC, by raising the options MEMSIZE and SORTSIZE.
If you are custom to BAT-scripting, I suggest that make a script that calls your SAS programs, and there you will have full control on what jobs that will run in parallel and not.
10-17-2013 03:14 PM
Could you be more specific on MEMSIZE and SORTSIZE?
Normally when I run large code, I leave my PC only running SAS, so I don't mind max all resource for SAS.