At present, when two users each send a large batch of simulations to run on a remote PC via the coordinator, the coordinator is not very smart about allocating out resource to the simulations.
For an extreme example, let’s say there is a remote simulation agent that can run two concurrent simulations. User A sends 100 sims, with each one taking an hour to complete, and user B also sends 100 sims, but each of these takes just 1 minute to complete. If user A sent their sims alone, it would take 50 hours to complete the set. If user B sent their sims alone, it would take 50 minutes to complete this set. If both send the sims at the same time, the coordinator just feeds them in one at a time, alternating users, like a zipper. So initially one sim from each batch goes. But when the first 1min sim completes, the second 1hour sim starts. For the next 59mins, these two sims go, then when the first 1hour sim completes, the second 1min sim gets to go, but then the thirst 1hour sim starts. In this way, it takes about 60 hours to get through all of the sims in the queue, with both sets finishing at the same time.
So this request is to set up some more options for how the coordinator allocates simulation resource. At present, the only option is the basic single queue, feeding one sim in at a time, alternating between users. But I would like to see an alternate option, where each user profile is given the same time. So in the example above, User B would get to run 60 1min sims per each 1hour sim that User A has in the queue, so both users get the same simulation time.
Maybe there could also be a ‘priority’ setting. At present, if one person has a bunch of sims in the queue, and another comes along with an urgent batch, there is no clean way to pause/postpone the active sims, without forcibly cancelling them and setting them going again. But if there was a priority system in place, the original ones could have been set at a lower priority, then when the second user comes along, their sims could be fast-tracked up the queue.
When scheduling jobs, the current options are quite limited – just asking which computer/agent group you want to set the sims to, and then if you want to limit the threads-per-job, or set a time delay. I would like more options here – maybe asking how many ‘slots’ per remote agent to use – e.g. all of the remote agents in my team are set to run 3 concurrent sims, so it would helpful to have the option to specify the new batch should just utilise 1 slot per remote agent. And for threads, alongside the current options, maybe there could be an option for the current batch to use X% of the CPU capacity of each remote agent (rather than having to rely on the “max threads total” limit applied to each agent through the agent manager). So e.g. you could decide your new batch of sims would use up 1 slot per remote agent, and also be limited to 50% of the total available CPU for each remote agent.
Note: when replying to this idea, please do not mention “cloud simulations” as an alternative option. It has been decided in my company, that due to IT/security/privacy policy reasons, use of the Autodesk cloud for ICM is not something that will be possible (either storing databases or simulations). And I believe a number of other companies are in this same boat. So with this being the case, we are stuck using the existing workgroup/coordinator/local & remote agent options for simulations, so would very much appreciate if this functionality can still be looked at and improved in the future, and not be neglected and abandoned.
Disclaimer: The development, release, and timing of any features or functionality described or discussed for our products in this User Feedback Forum for Autodesk Water Products and Services remains at our sole discretion. This User Feedback Forum for Autodesk Water Products and Services is not a commitment, promise, or legal obligation to deliver any functionality, is intended solely to outline and gather feedback about our general product direction, and should not be relied on in making purchasing decisions.