SAS Compute Tool
Overview
SAS on servers is licensed by the total number of CPUs, physical or virtual, that will be running SAS. RIS obtains SAS Server licenses and manages the license pool strictly with ACLs and license manager. The compute users from the WashU research community can run SAS in compute1 environment without acquiring their own SAS licenses. By using RIS SAS application, users agree with the terms of licensing.
Assumptions
If you are reading this document, it is assumed that you:
-
Have read and been familiar with the Compute Quick Start.
Preview
Here is the demonstration of launching the SAS GUI in Compute1 cluster by following the example below.
Examples
Here are 3 basic examples for 3 different use cases. SAS GUI will show you how to bring up SAS traditional graphical user interface, while SAS CLI will demonstrate how to run “hello world” examples from command line interface in interactive mode and in non-interactive mode, which is called a detached job.
To follow these examples, you will have to use SSH to connect to the compute client host with your WUSTL Key username.
> ssh wustlkey@compute1-client-1.ris.wustl.edu
If you are a member of more than one compute group, you will be prompted to specify an LSF User Group with -G group_name when running the following helper scripts. Visit Compute Quick Start: Groups for more information.
SAS GUI
-
Creating a VNC Password
-
Create a VNC password if you haven’t. It is for the compute desktop connection in the later steps. Visit Recipe FAQ: What is the VNC password? for more information.
> export VNC_PW=vncpassword
-
-
Starting SAS GUI
-
Run the helper script to start SAS GUI.
> /scratch1/fs1/ris/application/bin/sas # An output example: Job <job_id> is submitted to queue <general-interactive>. You can access your compute1 desktop with the url https://compute1-exec-<node_id>.compute.ris.wustl.edu:8901/vnc.html?resize=remote.
-
-
Opening Your Browser to the SAS Server
-
Connect to your server by pointing your web browser to the URL link from the output of the helper script. Once you are connected, you will see noVNC screen.
-
-
Logging into the Virtual Desktop
-
Click Connect and use the VNC password to login to the SAS Server. After login, you will see the SAS GUI opened.
-
-
Exiting the SAS Server
-
In a SAS window, click “File”.
-
Click “Exit…”. A dialogue window will pop out to confirm to terminate the SAS Session.
-
Click “OK” to exit SAS as well as the LSF job. You will see the noVNC has been disconnected.
-
Close your browser at will. You will receive an email regarding to the status of the job with the job id in the subject.
-
Interactive SAS CLI
-
Creating hello.sas
-
Create
hello.sas
at your home directory.> cat <<EOF > ~/hello.sas PROC IML; MSG = {"Hello", "World!"}; PRINT MSG; EOF
-
-
Starting SAS Terminal
-
Run the helper script to start SAS CLI in interactive mode.
-
Along with the script command is
--
which denotes the beginning of the SAS program options. -
When the job has been submitted, you will see the status of the job on your terminal.
-
When LSF executing the job, the output will be displayed on your terminal.
-
After the job exit, you will be back to the terminal screen of the compute client host.
> /scratch1/fs1/ris/application/bin/sas-terminal -- '~/hello.sas -print /tmp/hello.lst -log /tmp/hello.log && \ cat /tmp/hello.lst' # An output example: Job <job_id> is submitted to queue <general-interactive>. <<Waiting for dispatch ...>> <<Starting on compute1-exec-<node_id>.ris.wustl.edu>> . . . The SAS System <Time Day, Date, Year> 1 MSG Hello World!
-
-
(Optional) Stopping SAS Terminal
-
You may stop your SAS Terminal by pressing
Ctrl
+C
at anytime, especially when the job hangs. -
After the job exit, you will be back to the terminal screen of the compute client host.
-
Non-interactive SAS CLI
-
Creating hello.sas
-
Create
hello.sas
at your home directory if you haven’t.
-
-
Starting SAS Batch
-
Run the helper script to start SAS CLI as a detached job.
-
Along with the script command is
--
which denotes the beginning of the SAS program options. -
When the job has been submitted, you will see the job id from the output and remain on the terminal screen of the compute client host.
-
When LSF executing the job, the output won’t be displayed on your terminal.
-
After the job exit, you will receive an email regarding to the status of the job with the job id in the subject.
> /scratch1/fs1/ris/application/bin/sas-batch -- '~/hello.sas -print /tmp/hello.lst -log /tmp/hello.log && \ cat /tmp/hello.lst' # An output example: Job <job_id> is submitted to queue <general>.
-
-
(Optional) Stopping SAS Batch
-
You may stop your SAS Batch from your terminal of the compute client host if the job is still in the LSF queue.
-
After the job exit, you will receive an email regarding to the status of the job with the job id in the subject.
> bkill job_id # An output example Job <job_id> is being terminated
-