2012-06-29 47 views
0

我是PaaS/IaaS开发人员。我正在尝试引入设计登录或资源管理逻辑的新算法。例如:我为用户创建Linux实例我想考虑内存cpu使用率heapsize all这个因素和设计我的安置机制。我还想重试,如果实例failed.Any帮助设计这个?Cloud Placement Logic

+0

您的问题过于宽泛和普遍。获得更具体的信息会帮助我们更好地回答它 –

回答

1

由于nmahee建议,你应该使用一个BinPacking求解器具有以下约束: 1.支持比一个维度(CPU,内存,磁盘空间等) 2.支持增量算法,用更多的开始目前的分销和结果有了新的分销。不同于经典的binpacking,假设你从一个干净的石板开始。 3.在最佳解决方案和现有分销的最小变化之间进行权衡。例如,如果添加新资源,是否应移动现有资源以获得最佳解决方案? (在PaaS中,答案通常不是)。

对于通用的BinPacking解算器来看看Drools。

对于(非常特别的)求解器,您可以看看Cloudify使用的引擎。当我们有时间的时候,我们可能会重新写它与流口水。 https://github.com/OpenSpaces/OpenSpaces/blob/master/src/main/java/org/openspaces/grid/gsm/machines/BinPackingSolver.java

这个求解器主要查看每台机器的空闲容量,使用容量和所需容量的变化(容量是cpu /内存/磁盘的抽象 - 参见上面的1)。使用容量是现有解决方案的位置(见上面2)。该算法的另一个特点是它完全忽略了这台机器上的其他资源。如果这台机器上还有其他资源,则可以通过较小的可用容量值来反映。基本上我们分别为每个资源调用求解程序,每次通过减少可用容量来掩盖机器上的其余资源(请参见上面的第3节)

0

看看装箱问题。它通常是NP完全复杂性问题。