Luk*_*kas 9 algorithm load-balancing machine-learning
所以这是我的问题:
我有几个不同的configuarion服务器.我有不同的计算(工作); 我可以预测大约每项工作需要花多长时间才能完成.另外,我有优先事项.我的问题是如何保持所有机器加载99-100%并以最佳方式安排作业.
每台机器一次可以进行多次计算.工作被推到了机器上.中央机器知道每台机器的当前负载.另外,我想在这里分配一些机器学习,因为我将知道每个工作的统计数据(启动,完成,CPU负载等).
如何以最佳方式分配工作(计算),同时牢记优先事项?
任何建议,想法或算法?
仅供参考:我的平台.NET.
看起来这与 .NET 关系不大。
但是,将您的机器视为“工作线程”,在可用 CPU(或其他重要资源)上订购可用机器的“池”,然后利用您对每个任务的了解将每个作业推送到最适合的机器。
如果您预先了解所有作业,您可能可以使用“最适合”算法在正确的机器上以正确的顺序安排它们。您还可以查看“切割库存”算法;http://en.wikipedia.org/wiki/Cutting_stock_problem ...