04-24-2017 10:19 AM
I am an analyst working on SAS (9.4) in a UNIX environment. My firm wants to move all jobs to run on grid server rather than on a local server. Can you please help me this. What all activities required to perform from programming prespective to have these jobs succesfully migrated to GRID server.
We have SAS admin he will be taking care of all other stuff. I just wants to check on programming prespective what i needs to learn. Thanks!
04-25-2017 03:00 AM - edited 04-25-2017 03:03 AM
"I am an analyst working on SAS (9.4) in a UNIX environment. My firm wants to move all jobs to run on grid server rather than on a local server."
If your SAS workspace server is already under UNIX then I assume you're already working in a client-server environment and not really with a local server. I'd assume that also the Grid environment will be under Unix/Linux.
If the path names don't change in your new environment then assume that all your code will just run as before without any changes required. Same is true for your coding: likely no change required.
Where you eventually want to skill-up to take full advantage of new capabilities:
1. New SAS modules in the new environment which you want to take advantage of.
2. Grid enabled processing running your code in parallel spread over multiple grid nodes.
Some of the SAS clients allow you already to run tasks grid enabled simply by setting options. Search in the client speficic Help with keyword "grid".
Here a link as starting point:
But in general: Expect the new environment to be already configured from start for load balancing and high availability without you having to take any further steps. Only if it's about speeding up long running tasks spend some extra time to further grid enable these on a task level.
04-25-2017 05:44 AM
Thanks Patrick for you reply.
I have a code named gridtest.sas
options nosource; /* Do not show source when running... */
/* The grdsvc_enable call will go out to the SAS Metadata Server and */
/* find the SAS Grid Server definition. A return code of 0 means that */
/* all signons will use the grid. A non-0 return code means that there */
/* is a problem that should be investigated. */
/* This program assumes a SAS application server of SASMain. If you */
/* are using SASApp or some other SAS application server, you must */
/* modify the enable and nodes function calls to specify your SAS */
/* application server. */
Do I need to add this code to my sas programs to connect it to grid server.
One more help I need do I need to login to grid server from putty then save all the programs there with this gridtest.sas code added. Thanks!
04-25-2017 06:18 PM
I'm not a SAS Grid expert but I've been working in such environments. You don't need to change your code and you still will connect to a single server in SAS metadata.
Yes, in the background there are now multiple compute servers (grid nodes) to which processing will be distributed but that's something the SAS Grid Manager will handle for you in the background. It's nothing you have to care about.
You mention Putty. As there are now multiple compute servers you're going to connect to one of them (one of the nodes). If you're issuing SAS code via command line in batch then just use sas.sh to pass in your parameters, i.e:
nohup .../Config/Lev1/SASApp/sas.sh -sysin <your SAS program> &
sas.sh will set all the environment specific configuration required to run your code in your environment.