云定位逻辑

时间:2012-06-29 07:39:25

标签: cloud cloud-hosting paas

我是PaaS / IaaS开发人员。我正在尝试引入新算法来设计展示位置登录或资源管理逻辑。例如:我正在为用户创建linux实例我想考虑内存cpu使用情况所有这些因素和设计我的放置机制。如果实例失败,我想重试。有没有帮助设计这个?

2 个答案:

答案 0 :(得分:1)

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

对于一般用途,BinPacking求解器会查看Drools。

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

此解算器基本上查看每台机器的可用容量,已用容量和所需容量的变化(容量是cpu /内存/磁盘的抽象 - 见上文1)。使用容量是现有解决方案(见上文2)。该算法的另一个特点是它完全忽略了这台机器上的其他资源。如果此计算机上有其他资源,则会以较小的可用容量值反映出来。基本上我们分别为每个资源调用求解器,每次通过降低可用容量来屏蔽机器上的其余资源(参见上面的3)

答案 1 :(得分:0)

查看Bin Packing问题。它通常是NP-Complete复杂性问题。