在满足应用QOS的前提下,提高系统的资源利用率,是数据中心资源管理的一个难点,原因在于应用的资源消耗是动态变化的.为了保证应用的QOS,需要实时预测应用的资源需求,并以此为基础动态按需供应资源.已有的资源预测算法可以分为两类:一类需要与应用进行实时交互以监测负载和性能,预测精度高,但扩展性差;另一类只需要在外部监测应用的资源消耗,扩展性好,但是现有算法的预测精度较低.该文针对第二类方法的不足,结合全局及局部的资源消耗变化趋势来改进已有的预测算法.实验证明改进后的预测精确度可以达到95%以上.资源需求的动态变化会导致节点资源无法满足所有应用的QOS,常用的解决方法是采用虚拟机迁移进行负载平衡,但是迁移虚拟机会带来相当大的额外资源消耗.该文提出了一种作业资源匹配算法,对数据中心所有作业进行布局,使不同优先级、不同资源需求及变化规律的作业在节点上混合部署,不仅极大地降低了发生节点资源紧缺的频度,而且实验证明,该算法在相同的资源需求下,还能提高应用的性能.
It is difficult to satisfy the QoS of all applications with high resource utilization, since the amount of resources some applications consume is varying over time, especially for online network applications. The key point to meet the QoS of an application is to predict how many resources will be consumed in the next period in real time. The existing prediction algorithms can be divided into two categories. One class needs to interact with applications to monitor their loads and performances, the primary drawbacks of which include weak compatibility and scalability. On the contrary, the other class only needs to monitor the resource consumption from outside, but the prediction accuracy is not high enough. We improve the last one by combining the global and local variation of resource consumption in history. The experiments show that the deviation of prediction accuracy is less than 5% after improved. The QoS of all applications may not be simultaneously satisfied, because the resource consumption of some applications changes dynami- cally. And existing primary solutions are to migrate of virtual machines from an overloaded nodeto another underloaded one, which would cause high overhead. This paper proposes a job- resources matching algorithm. With the help of this algorithm, those jobs with different resource requirements, different priorities and different resource variations will be hybridly deployed on one node. Thus, the probability of resource deficiency for an application on a node is very low. Besides, the experiments show that the performances of applications can be improved with the same resource capacity by deploying jobs hybridly.