Altair software asset optimization (SAO) tracks license usage for a software feature over time. One of these measures is Peak Usage (total number of licenses or tokens in use at the same time). SAO provides a report named Daily Usage Profile. This is presented as a radar chart over a 24 hour period, averaged over a date range. This chart sheds light on peak usage of a software feature around the clock.
Daily Usage Profile Report
The above diagram shows a variety of usage profiles for different software features, along with the total capacity utilization over the date range. There are four different charts representing three different software types:
1. Interactive – shows Unigraphics, which is an interactive software run on a user’s desktop.
2. Interactive + Batch – shows the token usage of HyperWorks® where some software is interactive and some is batch (or solvers, as commonly known in the CAE world). HyperWorks tokens are used by all Altair supplied software features such as HyperMesh®, MotionView®, OptiStruct®, RADIOSS®, etc.
3. Batch – shows the usage profiles for LS Dyna and Ansys. Typically, solvers are executed on a high-performance computing (HPC) cluster, where jobs submitted by end-users are queued and run when the required software license and hardware profile is available.
Batch Software (Solvers) – Typically Run on HPC Cluster
There are two things to look for. One is the change in usage throughout the course of the day (usage variance), and the other is capacity utilization. In general, if the usage variance is low (a close-to-circular usage profile), AND if the token usage approaches the outer circle of available tokens, usage will be close to maximum availability of licenses, as is evident in the diagram for Ansys. The difference between the standard deviation and the average is also very circular, and is clustered around 0. Very high capacity utilization of licenses is possible when batch jobs are run efficiently on an HPC cluster. The most efficient license usage would show a completely circular usage profile approaching the total available tokens, with a standard deviation of 0 and the red circle appearing as a point.
SAO provides a summary usage report with capacity utilization as well as the standard deviation of the usage profile. This allows for easy identification of software that could be running on an HPC cluster.
The license usage profile takes into account only the availability of licenses and not availability of the required hardware. As HPC clusters have job queuing functionality, jobs are put into a queue if a software license is not available, which implies that there will not be any denials of licenses.
An important measure for jobs running on an HPC cluster is the number of jobs executed during the reporting period as well as the average duration of jobs. For more throughput, one has the opportunity to tune the HPC cluster’s job submission parameters such as number of cores to be used, the amount of memory and the amount of disk space. If the license capacity utilization is not optimal (I will suggest <70%), it could be a candidate for HPC tuning to reduce average job execution time. Another option would be reduction of available licenses to achieve a higher capacity utilization and lowering costs without modifying the HPC cluster.
Interactive Software – Typically Executed on Users’ Desktops
Interactive software tends to show more usage during the working hours (assuming that a company runs the software in one shift). In case they run more shifts, peak usage will be evenly distributed over the combined work period encompassing two or three shifts.
Even during the work day, usage of licenses can vary significantly. Usage picks up during the morning hours, can ebb around lunch time and will reduce to almost zero by the end of the day. A good way to measure this variance is to plot the difference between the standard distribution and the average which is shown in red.
There are few opportunities to increase capacity utilization of licenses driven by the Daily Usage Variance measure other than running multiple shifts. There are other strategies to help with capacity utilization of software that I will discuss in a future blog post.