Skip to main content

Grid Administration Notes - LSF

 LSF connects server to a single cluster. In SAS, LSF Cluster and SAS Grid refers to same.


Platform Suite of SAS comprised of following softwares :

LSF - Load Sharing Facility

PM - Process Manager

GMS - Grid Management Services


LSF:

LSF requires that its configuration files reside in a shared drive which is accessible from all servers in the grid.

LSF cluster is controlled by LSF Master. There can be multiple master but only one will be active. It dispatches job to the server based on load indices and policies.

LSF Queues - Any job submission first goes to queue and LSF check the queue for every 30 seconds and dispatch to the server.


EGO - Enterprise Grid Orchestrator - Provides Fault Tolerance and High Availability 

Platform Process Manager - Flow manager and calendar editor. It runs process jfd

Grid Management Services - Information from LSF is passed to SAS Grid Manager plugin in SMC


Daemon:


SAS Grid Manager SAS Components:

  • Grid Manager Plugin - SMC plugin
  • SASGSUB - Synchronous and Asynchronous. For Synchornous use -GRIDWAITRESULTS option

Asynchronous Submission

 sasgsub -gridsubmitpgm load.sas

 sasgsub -gridsubmitpgm load.sas –meta_pass lnxsas

Synchronous Submission

 sasgsub -gridsubmitpgm load.sas -gridwaitresults

 sasgsub -gridsubmitpgm load.sas –gridwaitresults –meta_pass lnxsas

  • Logical Grid Server


During installation Grid Control Server is installed first. Grid node is setup later.

SAS Grid Statements when connecting from SAS Foundtation (Without WorkSpace Server)

%let rc=%sysfunc( grdsvc_enable(_all_, server=SASApp));

signon grid_sess1;

rsubmit;

/* the SAS code to run in the grid session goes here */

endrsubmit;

signoff;


Integration using SIGNON:

WORK, RMTWORK and GRIDWORK:

For signon RMTWORK will be created as it hops two server. GRIDWORK contains SAS code and logs.

SAS EG Flow -> EG -> Metadata -> Object Spawner ->  Invokes Workspace -> Object Spawner returned to EG -> EG request workspace server for the user -> EG injects grid code and pass to server using signon -> SAS requests LSF Master -> LSF master delegates to Slave


Integration using Grid Server Metadata:

Grid server context created in SASApp. In properties -> Options

Provider: Platform

Grid Command: /sasconfig/Lev1/SASApp/GridServer/sasgrid

SAS Options: -memsize 256

Required Resources: SASApp

Grid Options: queue=normal

 NOTE: Even in this option SAS/Connect is used by sasgrid script.



LSF Directory Structure:


LSF Commands:

lsid - Displays cluster name and Master Name

lshosts - Displays information about hosts

lsload - Displays indices information

bsub - Submit job

bhosts - Job statistics on each host

bjobs - Status like RUN, PEND. Queue information of the job. From host and execution host.

bjobs -u all - All jobs from all users

bjobs -a - Show jobs for current user. -a option by default take one hour data, it can be increased by changing CLEAN_PERIOD in lsb.params.

bhist - Historical job information stored in lsb.events file.

bqueues - Shows queue status OPEN:ACTIVE / CLOSE:INACTIVE. PRIO, number of jobs, PEND, RUN, SUSP.






Comments

  1. The information you have updated is very good and useful, please update further.
    Nidhi Company Registration in India

    ReplyDelete

Post a Comment

Popular posts from this blog

Insufficient authorization to access PIPE error in SAS EG

Issue: When I tried to run SAS code in SAS Enterprise Guide it throws following errors: ERROR: Insufficient authorization to access PIPE. ERROR: Error in the FILENAME statement. Screenshot of error: Solution: This error occurs when you try to run OS commands in SAS code. To run the OS commands in SAS code you need to enable XCMD option. You check it in SAS Management Console by following below steps.   Open SMC -> Expand Servers -> Expand   In SASApp , expand Logical Workspace Server -> right click on Workspace Server. Click properties -> option tab -> advanced options -> launch properties. Check whether Allow XCMD is checked. The issue arises if the Allow XCMD is not checked. In above image, Allow XCMD option is not checked. It should be checked to run OS commands from SAS code. In Unix /Linux machines, this XCMD option can be enabled by using system option XCMD in sasv9 config file or workspaceserver.sh script f...

The authentication server is not SETUID ROOT error in SAS

Question: When validating the SAS Server from SAS Management Console, I received the following error: The authentication server is not SETUID ROOT.  So, I ran the setuid.sh utility and restarted the services many times. I just checked the elssrv sasauth sasperm setuid bit. There were no error in sasauth-debug.log, sasauth-access.log, sasauth-error.log.  Any suggestions? Answer: Please do the following:    1) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh stop  2) Edit /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh and add the code shown below right after SCRIPT=`basename $0`:  if [ -n ""$TKPATH"" ]; then  unset TKPATH  fi   if [ -n ""$TK_PATHLIST"" ]; then  unset TK_PATHLIST  fi    3) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh start  The above code change in ObjectSpawner.sh should fix the issue.

SAS - CLI error trying to establish connection

Issue: User asked me to make a database connectivity to SQL Server. They provided following details SQL server hostname and ip address Database/DSN name Username Password I made entry in ODBC.ini file. You know, SQL Server entries were made in ODBC.ini and Oracle entries were made in TNS.ora file. Everything went fine, took back up of odbc.ini, made entry and saved the file. So to test this connection I ran the libname statement in SAS Enterprise Guide 6.1. It throwed following error. Error Message: My DB team showed that they are able to login   14 GOPTIONS ACCESSIBLE; 15 LIBNAME test ODBC DATASRC=SGE_DS SCHEMA=VST USER=sales PASSWORD=XXXXXXXXX; ERROR: CLI error trying to establish connection: [SAS/ACCESS to SQL Server][ODBC SQL Server Legacy Driver][SQL Server]Login failed for user 'sales'. Solution: First I suspected that Login failed for user 'sales' meant the password provided by DB team was wrong. They responded that they were able to login wi...