论文部分内容阅读
由于容器具有部署快,轻量化等特点,越来越多的互联网公司和制造业公司选择容器云作为部署平台,使得容器云在任务分配方面将面临更大的挑战。当容器云平台接收到大量任务请求时,由于容器云底层采用了容器虚拟化技术,使得任务的总体执行速度加快,对容器任务的分配效率提出了更高的要求。而Docker Swarm自带的任务分配策略无法很好地平衡各资源节点上的负载,容易导致资源利用率不高、负载失衡、最小时间跨度变长等问题。针对以上问题,对容器云环境下的任务特征及属性进行研究,提出利用随机森林对任务进行快速分类,将同一个类目中的任务均匀地分配到子集群中合适的资源节点上去执行,当该子集群的负载达到阈值后再重新开启新的子集群。分类准确度是随机森林模型的关键指标,其中基分类器的数量和训练每个基分类器采用的样本量是影响分类准确度的两个参数。根据随机森林的收敛性,当基分类器达到一定数量时,该模型的泛化误差会收敛到一个最小值,采用烟花算法设置随机森林的参数,以期获得最优的随机森林分类模型。针对烟花算法易陷入局部最优,在迭代的过程中,会出现重复设置随机森林参数的问题,提出对烟花算法进行改进,根据相邻两代最优适应度值的差距,自适应调整变异算子的变异率,增强烟花算法的全局搜索能力,提高随机森林的分类准确度,改善随机森林对容器云任务分配的效果。使用MATLAB编程,对算法进行验证。使用标准数据集,对改进的随机森林模型以及其它典型分类算法进行比较,实验结果表明,改进的随机森林模型在测试数据集上的准确度均高于BP神经网络、随机森林、遗传算法优化的随机森林以及未改进烟花算法优化的随机森林。使用CloudSim 4.0仿真平台验证基于改进的随机森林的容器云任务分配策略的有效性。实验结果表明,基于改进随机森林模型的任务分配策略,在不同容量的任务集上,无论是在负载均衡还是在最短时间跨度方面的表现,均优于基于BP的分配策略、基于随机森林的分配策略以及Docker Swarm自带的Random分配策略。本文提出的改进随机森林模型应用于容器云任务分配策略中,在平衡各资源节点的负载以及缩短最小时间跨度方面均有较好的表现。