论文部分内容阅读
在异构资源环境中,有效地利用计算资源是提升任务效率和集群利用率的关键。Kuberentes作为容器编排领域的首选方案,在异构资源调度场景下调度器缺少GPU细粒度信息无法满足用户自定义需求,并且CPU/GPU节点混合部署下调度器无法感知异构资源从而导致资源竞争。针对上述原因,提出了一种基于Kubernetes的CPU/GPU异构资源细粒度调度策略。该方案综合考虑了异构资源在节点上的分布以及硬件的状态。首先,利用设备插件机制收集每个节点上GPU的详细信息,将GPU资源指标提供给调度算法。其次,改进调度器的过滤算法,基于原有CPU和内存的过滤方法,增加了自定义GPU信息的过滤,从而筛选出符合用户细粒度需求的节点。最后,针对CPU/GPU节点混合部署的情况改进了调度器的打分算法,动态感知应用类型,对CPU应用和GPU应用分别采用负载均衡算法和最小最合适算法,保证异构资源调度策略对不同类型应用的正确调度,并且在CPU资源不足的情况下充分利用GPU节点的碎片。对GPU细粒度调度和CPU/GPU节点混合部署情况下的调度效果进行实验验证,实验结果表明该方法能够有效的进行GPU 调度并且避免资源竞争。