License Overbooking
Advantages of Overbooking
If there are 10 licenses of a simulator, the scheduler (that is, Accelerator) dispatches 10 jobs using those licenses. However, many
jobs do not use the licenses for 100% of their lifespan. If one checks how many
licenses are checked out at any one time, for example with lmstat
,
one may find out that occasionally there are less that 10 licenses in use.
Experienced users who look directly at the license daemon statistics may wonder why
there are jobs in the queue while licenses are available. From Accelerator's point of view, those licenses are not available because
they are reserved for those running jobs, which may check out the licenses at any
time.
This problem is greatly amplified if instead of 10 licenses there are 1,000 licenses. In such a case, you may notice that 1,000 licenses are never fully checked out, although there are 1,000 running jobs at all times. For example, one customer had about 2,000 licenses of a simulator and even with 2,000 running jobs, only 1,750 to 1,900 licenses were checked out.
Those unused licenses create an opportunity to run more jobs than licenses, which is accomplished by "license overbooking".
Activate Overbooking
Overbooking Operation

The Reference is the number of licenses available, the Measured output is the number of licenses in use and the Measured error is the difference in the two. The Controller is the actual overbooking function that converts the license available into the number of jobs to issue - this is the System input. The System output is the launched jobs and the Sensor is the Monitor.
The Overbooking function (Controller) is vtk_flexlm_overbook for vovresourced and LA::AddResource in Allocator. These procedures have a number of tuning parameters for overbooking.