Hello there, so here is my problem:
I have several different configuarion servers. I have different calculations (jobs); I can predict how long approximately each job will take to be caclulated. Also, I have priorities. My question is how to keep all machines loaded 99-100% and schedule the jobs in the best way.
Each machine can do several calculations at a time. Jobs are pushed to the machine. The central machine knows the current load of each machine. Also, I would like to to assign some kind of machine learning here, because I will know statistics of each job (started, finished, cpu load etc.).
How can I distribute jobs (calculations) in the best possible way, keeping in mind the priorities?
Any suggestions, ideas, or algorithms?
FYI: My platform .NET.