01-26-2018 01:08 PM
Hello - we have SAS 9.4 running on Linux as grid environment.
If I have multiple sas programs (test1.sas/test2.sas/test3.sas) that I want to run across multiple sas nodes (not just on one node) - what is best way to do that and what are the requirements from sas architecture or configuration stand point that I must have it in place?
please suggest - thanks.
01-27-2018 07:49 AM
01-27-2018 06:32 PM
I can put my different sas programs into one as a piece of codes, but i still wants to run those pieces of codes across sas worker nodes/servers (not only on one server) so that they can run in parallel as well.
01-30-2018 09:19 PM
So, if I run Unix script (test.sh) which has 3 sas program, all jobs runs on same sas node, I want to distribute across multiple nodes. Thanks.
sas "/codedir/test1.sas" -log "/logdir/test1.log" -set run 1
sas "/codedir/test1.sas" -log "/logdir/test2.log" -set run 2
sas "/codedir/test1.sas" -log "/logdir/test3.log" -set run 3
01-31-2018 12:50 AM
Submit your batch jobs using the SASGSUB command. This will distribute your jobs across the Grid according the policies you've set up.
01-31-2018 12:44 PM
Thanks nhvdwalt. So if I put all my three program into one sas job like below,
and if I submit using command -> sasgsub -gridsubmitpgm /user-home-dir/test.sas
this is still running on same node.
any additional parameters or settings required?
01-31-2018 03:56 PM
02-01-2018 01:29 AM
@LinusH is correct, it doesn't really make sense.
For splitting up SAS code, there are really three main scenarios:
1.) You have x number of SAS jobs that you can run in parallel e.g. my_job_1.sas, my_job_2.sas, my_job_3.sas. For this example I suggested the SASGSUB command since you can submit the three jobs to the Grid to run independently.
2.) You have a single SAS job e.g. my_job_1.sas, but WITHIN the job there are pieces of the code that you can run in parallel. This probably speaks more to your last example. In this case you would invoke grdsrv_enable(_all_,resource=SASApp) macro that will allow the pieces of SAS cdoe to be submitted to the Grid using SAS/Connect (rsubmit).
3.) A combination of 1.) and 2.)
Bottom line is, you have many tools in the Grid toolbox, but it really comes down to the design of the code and what you trying to achieve in terms of parallel processing/load management. This is your logical design. Once you have this defined , then it's easy to see what Grid tool you need. So it's not about 'Do I use 1, 2, or 3 ?' It's about what you are trying to achieve.
Hope it helps.....