Understanding how local network jobs are managed
When you submit a job to be solved in a product that is integrated with Simulation Compute Manager (SCM) you are submitting the job to an SCM queue. That queue may be on your local machine, a remote machine on your local network, or the cloud. Jobs submitted to a local or network SCM queue may be taken and solved by other computers registered with that queue.
A Queue can have multiple types or versions of solvers registered to it:
Computer A has the following products/solvers installed and registered with SCM. Each of the below solvers would show up as available to submit the job to. The computer name that both of these solvers reside under in the dialog is the actual SCM Queue that you are submitting the job to. This is where you select where to send your Job. You can send it to:
- Autodesk Product A 2021
- Autodesk Product B 2022
Compute B is added as a "Remote Computer" in the Analyze Dialog. All the registered solvers will show up under Computer B. Selecting one of these would submit the job to the SCM queue on Computer B.
Local Solve
The Client, SCM queue, and Solver in below scenario are ALL on the local machine.
Network Solve
The Client, Local SCM Queue, and Local Solver in below scenario are ALL on the local machine. The Remote Solver is running on an entirely different machine, connected by the local network, and is registered with the Local SCM Queue. Both Solvers are monitoring the SCM queue for jobs to take. If both solvers can solve the job in the local SCM queue ,the first one to see it will take it. This is a first come, first serve process and no priority may be given to one solver over another.
In the scenario shown there are three computers on the local network involved. In this advanced section we will use the technical terms for all the components involved. The log files and advanced configuration options all reference these names. In this case the components are:
Client: The UI were the job is submitted from.
Queue: An SCM Queue running as part of the SCM service on a computer.
Provisioner: The SCM process running on a computer that is responsible for monitoring the Queues it is registered with. It is aware of the solvers that are installed and registered with SCM on the compter it is running on.
Computer A is the the computer the job is submitted FROM. It has the following running on it.
- Client A
- Queue A
- Provisioner A
Computer B is another computer on the network. It has the following running on it.
- Client B
- Provisioner B
Computer C is yet another computer on the network and has the following running on it (for the purposes of this example*).
- Provisioner C
Important points to note:
- The Analyze Dialog on Client A has it's own Queue A available, as well as remote computer Queue B available.
- Queue A has both Provisioner A and the Provisioner from Computer B registered to it. Either can take a job submitted to Queue A.
- Queue B has both Provisioner B and the Provisioner from Computer A registered to it. It also has another Provisioner from computer C registered with it. Any of these three Provisioners can take a job submitted to Queue B.
- It is important to note that a Job submitted from Client A to the Queue on Computer B could be picked up by the Provisioner on Computer A, and solved on Computer A. Yes, this is a circle and it is ok.
- There is NO preference given to any Provisioner. The first one to see a Job on a Queue it is monitoring that it can handle will take it.
- Hostnames are preferred to IP addresses when adding a computer to the distributed solve network. The identifier used must be accesible both publically and privately from any computer in the network. This is typical of a LAN scenario, but may not be the case in a Wide Area Network (WAN) or certain LAN configurations. SCM requires this to properly orchestrate jobs within the distributed solve network.