Drools Planner--云均衡(第2.1.1章节)

第一章 Planner introduction--快速开发(第2.1.1章节)

版本:5.5.0.Final
2.1 云均衡教程
2.1.1 问题陈述
假设你公司拥有一批云计算机,在这些计算机中运行一些流程。在下面四个约束下,每一个流程分配一台计算机。
必须完成硬约束:
a.每台计算机都必须能够处理其过程总和的最低硬件要求:
a.1每一台计算机的CPU功率至少达到分配给该计算机处理的请求总和的需要。
a.2每一台计算机的RAM存储器至少达到分配给该计算机处理的RAM存储总和。
a.3每一台计算机的网络宽带必须至少是分配给该计算机处理的网络宽带的总和。
软约束需要优化:
a.每一个计算机具有分配一个或者多个进程的能力,那么就会产生一定的维护费用(每台计算机固定的)
a.1总的维护成本最小化

你会怎样做?这个问题是一个打包的形式。这里有一个简单的案例,将4个进程分配给2台计算机,2个约束条件(CPU和RAM)和一个简单的算法:

如图:





这里使用最简单的算法是最先递减算法。算法是:首先分配大点的进程然后再分配小点的进程到剩余的空间中。就可以看到,这不是最好的方案,因为他不能留下足够的空间分配给黄色的进程D。
Drools Planner不能很快速的找到更多最优的解决方案,使用额外的,聪明的算法。计算的尺度有点大:在数据(更多的进程,更多的电脑)和约束(更多的硬件要求,和其他约束)两个方面。那么就让我们一起关注如何使用Planner。


你可能感兴趣的:(drools,JBPM5,DroolsPlanner,不了了之,不了了之之了之)