Welcome to the HPC Help Desk video series.
This video will show you how to use the Shared License Buffer,
known by its acronym SLB, on the HPC systems.
In the link to supplemental materials accompanying this video
you will find a job aid, including command-line
scripts and URLs shared in this video.
When you see this graphic and hear this sound,
it means the information is contained in the accompanying job aid.
The video begins with an explanation of the purpose for SLB
and its general use. In part two,
we review the licenses available through the SLB.
Part three will introduce the commands
for requesting a license within your job script.
The SLB can also be accessed interactively, and in part four,
we will describe the SLB scripts for making license reservations.
Part five will present some of the scripts
useful to check on license availability.
Let us begin with an SLB Overview.
The shared license buffer for the HPC program manages
the licenses required
for using certain software packages installed on the HPC systems.
This allows you to reserve licenses
for specific times and ensures jobs requiring
these licenses do not start when licenses are unavailable.
You can access the shared license buffer
to query availability or make license reservations in three ways:
Via PBS by designating the needed licenses in your job script;
Via the Advanced Reservation Service, or ARS; and interactively
by running an SLB script on any HPC system.
SLB also allows for various features to be reserved
with a basic license, as will be explained shortly.
The SLB and the license managers
which check out
licenses are both hosted at ARL on a server named RLS,
which stands for remote license server. Disruptions on any network
which prevent access to RLS will incapacitate both the SLB
and license checkouts.
In part two,
we review licenses available through the SLB system.
SLB currently manages the licenses for the program shown here.
Because this list can change,
we direct you to the user documentation at centers.hpc.mil
The URL is shown here under the listing
and is also included in the video job aid.
Some licenses have additional features used in conjunction
with the primary license.
The SLB regulates the licenses of some, but not all, features.
Examples of licensed features
reservable by SLB are listed here,
and a link to the most current list on
our website is included in the video job aid.
If the feature is controlled
or reservable by SLB,
you will be assured of the license
availability during the reservation period.
There is another group of licensed features that are requestable
but not reservable.
This is a situation where we have so many licenses
that we would seldom run out,
so there is no advantage to making the feature reservable.
when you access the SLB interactively,
there are scripts
you can run to determine license and feature availability.
We will discuss these in parts four and five.
In part three,
we demonstrate using SLB in a job submission script.
A license can be reserved as part of a PBS submission script.
Typically, this is the easiest method
for making a license reservation
as the necessary times
and settings are picked up automatically
from the job submission information.
In this example,
an Abaqus license is needed to process the submitted job.
Before the actual job submission line
The following PBS command should be added:
#PBS -l abaqus=1 (dash 'el')
The dash l ('el) option specifies the needed license, Abaqus.
In this example,
the license is followed by an equal sign
and number, which specifies the number of licenses needed.
Before starting a job, PBS will make a license reservation request
to the SLB based on the licenses
the user requested and the job's wall clock time.
If there are not enough licenses available,
SLB will notify PBS of this and PBS will try again later.
Your job may require one of the reservable
features of the license you need.
Highlighted here is the Ansys computation fluid dynamics application
that has the reservable feature a-n-s-h-p-c.
The PBS statement you add to your submission
script is shown here,
the main license is specified with the Dash l ('el') option,
the number of licenses required, a comma,
followed by the feature name
where N equals the number of licenses of the feature.
SLB will complete the reservation for the feature.
For the requestable, but not reservable features,
you may request it in your PBS job
so that PBS holds the job until the feature is available.
There is no reservation involved, just a simple check
on the current number of licenses available
and a decision by PBS to start the job or not.
A complete list of PBS requests for each of the software licenses
you can reserve can be found on the shared license buffer
quick reference shown here.
The URL to reach this list is included in the video job aid.
The SLB offers a suite of scripts,
also known as
SLB utilities, you can interactively run
to make or terminate a reservation.
This next section will describe five
SLB scripts
commonly used in the course of making a license reservation.
The first script we review will display all licenses
currently available.
The format of the all available script is shown here.
This command does not require any other arguments.
All SLB command-line scripts are formatted with initial letters, SLB
in uppercase, an underscore,
followed by the script name in lowercase, with underscore separators
ending with a .pl suffix
signifying the script was developed in Perl.
The result of executing the all available
command-line script is shown here.
If you want to know about the availability
of a specific license,
use the Check License command-line script shown here.
Append the license name following the SLB _check_license
script statement.
This command will list the available licenses
as well as current reservations for MATLAB licenses.
To make a reservation for a license, use the make reservation
script shown here.
The required inputs for the script include the application name,
the number of licenses and a time window for the reservation.
In this example, a reservation is made for Star CCM,
whose license name is starcm, requesting one license
for twelve hours from 0900 to 2100.
Each argument starts with a dash.
The license name is specified with the app argument
"nlic" is the number of licenses argument.
Next, start date and time and ending date and time are shown
using st and et arguments, respectively.
The format for date and time is month and day
an underscore character followed by the time.
Another option for specifying the time
when they're needed involves
entering a duration for the length of the reservation
instead of an end time.
It uses the DUR argument instead of the end time.
The dur value is specified in minutes.
These two sample reservation
formats are included in the accompanying Job Aid.
Once entered,
SLB will reply with either a message stating
the reservation was approved
with a reservation number
as shown here, or a message stating your reservation was denied.
If your reservation was approved
and is to begin within 30 seconds,
this script will also activate the reservation.
Activation is the process
in which the SLB directs
the license manager to reserve licenses for the user.
To display all reservations made for a given license,
use the script known as display
all reservations formatted as shown here.
This script is useful to check
whether your license reservation has been accepted.
You will also find it useful to obtain your reservation ID number,
which you will need if you decide to terminate your reservation.
You may need to terminate a reservation
you have made.
The command-line script for terminate reservation
shown here has two arguments:
the application
the reservation was made for and the reservation ID number.
Be cautious when terminating reservations.
This command-line script does not provide a feedback message
informing you of the termination was processed or not,
but you can use the display
all reservation script to ensure your reservation was deleted.
In part five,
we will demonstrate three specific SLB query scripts.
These scripts help identify how many licenses are available
and at what times.
the first script is "query_when" with the arguments as shown here.
This query returns the time in which the specified number
of licenses will first be available and how long they will be available.
In this example,
STARCCM is checked
for the earliest availability of a single license.
In the second example of the query_when script
we need to know about the availability of the license.
and one of its reservable features,
the tok argument is used to specify the feature
and 100 equals the number of licenses needed, as shown here.
These two scripts only identify
an exact moment in time
and don't reflect whether a license
will be available for a complete job.
For this,
you can use the query_available_block
script with the start date and time, and the end
date and time arguments shown here.
In this example,
the number of licenses available for StarCCM from the start
time to the end time is queried
returning the number of available licenses.
A complete list of SLB
scripts is available on the Shared License
quick reference. The URL is included on the video job aid.
Also on the job aid,
each of the SLB command-line scripts
introduced in the video are included.
Thank you for taking the time to view this instructional video.
If you have any questions or experience any problems,
please contact the HPC Help Desk.
The phone numbers, email address and HPC Help Desk
web portal URL information is shown here
and can also be found on the accompanying job aid.