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:

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

  1. 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
  2. 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.
  3. 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.

  4. 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.

  5. Exiting the SAS Server

    1. In a SAS window, click ā€œFileā€.

    2. Click ā€œExitā€¦ā€. A dialogue window will pop out to confirm to terminate the SAS Session.

    3. Click ā€œOKā€ to exit SAS as well as the LSF job. You will see the noVNC has been disconnected.

    4. 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

  1. Creating hello.sas

    • Create hello.sas at your home directory.

      > cat <<EOF > ~/hello.sas
      PROC IML;
      MSG = {"Hello", "World!"};
      PRINT MSG;
      EOF
  2. 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!
  3. (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

  1. Creating hello.sas

    • Create hello.sas at your home directory if you havenā€™t.

  2. 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>.
  3. (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