How to effectively use 3 licenses shared between 6 nodes?

Dear all,

Here we have a server and 6 nodes, all have win 10 as their operating systems, but we have only 3 floating licenses. We would like to be able to submit our jobs from all six nodes. Currently, if three of these nodes are running simulations, other people are not able to run simulations. We use batch file simulations for sequentially running multiple simulations from command window. In this way while three engines are running simulations without CAD, GUI’s are still free to be used on other nodes.

The question is that what if we want to simply use these three licenses on all of the nodes, without have to ask other people if they are not currently using lumerical? Let me clarify what I mean by an example. We are thinking about a solution like this: each person could submit his jobs from his node to a job scheduler and then the job scheduler runs all the jobs from different people sequentially. In other words, if someone wants to run his simulations and there is no license available at the moment, the job automatically be placed in a queue and as soon as other earlier jobs are done and a license is free, this simulation be started. In this way, people do not have to repeatedly check to see if a license or engine is free. Finally, they just check to see if their simulations are done for post processing.

I have checked several links in Lumerical KB, I have seen some examples on the website for parallel computing, sequentially computing, running on multiple computer and running multiple files. But I think none of these links explains what we need and I still do not know what is the best solution for our case. I would be really happy if you could please help me to find the most efficient way.




  1. You are describing the behavior of a cluster with a job scheduler.
    One option is to Install a ‘cluster job scheduler’ one 1 of your machine. Not sure if there are any for Windows 10. You might have to convert 1 machine to Linux or Windows Server.

  2. Another would be restart the simulation job from the user’s workstation if the engine license is still in use. e.g. a script that would run it again (loop) until it completes - checking the log file if the simulation is done.

  3. Create a script (e.g. python) with the following workflow:

    • check a specific path from 1 of your computer for .fsp files (or a shared network folder)
      (an option would be to move the simulation files that are to be processed to another folder at the time the script started and then run them on the other folder, leaving the original folder empty with simulations files where users can submit their simulations for the next run)
    • run these simulation files on this location on 1 or 3 machines at the same time
      (maybe have 3 submission folders, where each folder will be run on a different computer)
    • then move the simulation and the associated log files to another folder after the simulation job has completed.
    • then go through the entire process again e.g. loop through the submission folders for any new files.
  4. Limit the number of users or computers to be equal to the number of licenses. Controlling license access can be done through the FlexNet LM options file.

  5. Lastly, as the number of users/machines increases, so will the number of licenses for your group. You might have to buy more licenses with all users contributing to the purchase of the licenses.

Hope this helps.


This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.