所以这是我的问题:
我有几个不同的配置服务器。我有不同的计算(工作);我可以预测计算每项工作大约需要多长时间。另外,我有优先权。我的问题是如何让所有机器保持 99-100% 的负载并以最佳方式安排工作。
每台机器一次可以进行多项计算。作业被推送到机器上。中央机器知道每台机器的当前负载。另外,我想在这里分配某种机器学习,因为我会知道每个作业的统计信息(开始、完成、CPU 负载等)。
如何以最佳方式分配作业(计算),同时牢记优先级?
有什么建议、想法或算法吗?
仅供引用:我的平台 .NET。
最佳答案
- 查看Dryad linq .它已经在学术发布中,可能会有用。
- Win HPC server - Microsoft 的分布式计算企业解决方案。
- 一些 code samples这可以通过分析性能计数器来帮助建立负载平衡。
- Microsoft 拥有 StockTrader示例应用程序(带源代码),它是具有手写 RoundRobin 负载平衡的可分发 SOA 示例。
关于algorithm - 负载均衡和调度算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043033/