【问题标题】:Cloud Placement Logic云布局逻辑
【发布时间】:2012-06-30 18:08:28
【问题描述】:

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

【问题讨论】:

  • 您的问题过于笼统和笼统。变得更具体将有助于我们更好地回答它

标签: cloud cloud-hosting paas


【解决方案1】:

按照 nmahee 的建议,您应该使用具有以下约束的 BinPacking 求解器: 1.支持多维度(CPU、内存、磁盘空间等...) 2. 支持增量算法,从当前分布开始,以新分布为结果。与假设您从零开始的经典装箱不同。 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)

【讨论】:

    【解决方案2】:

    看看装箱问题。它通常是一个 NP-Complete 复杂性问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 2020-07-11
      • 1970-01-01
      相关资源
      最近更新 更多