论文部分内容阅读
近年,随着大数据、人工智能等领域的蓬勃发展,相关应用对于计算资源、存储资源的需求不断增长。为了支撑这些不断增长的需求,越来越多的应用正在迁移到“云端”上。云计算是指基于互联网,统一管理和调度计算资源,存储资源,软件资源等,并将这些资源按需求共享给终端用户。另外,云计算平台可以降低开发者的开发难度,提高开发效率,满足全栈需求,实现快速稳定的迭代。而新兴的虚拟化技术Docker容器凭借其自身启动快,资源损耗小等特点,被越来越多的企业用于部署云服务到实际生产中。Kubernetes是基于Docker容器的开源容器管理系统,凭借其开源、可扩展、部署难度低等诸多优点,目前已成为了容器编排的首选方案。然而,在实际生产中,Kubernetes在资源调度方面仍然存在不足,无法满足异构、复杂环境下的用户需要。因此,本文提出了基于Kubernetes的异构资源调度方案,具体工作如下:本文分别设计了面向CPU、GPU、内存等多种异构资源的伸缩调度策略及均衡调度策略。(1)提出了一种基于历史负载数据的资源调度方法,能够改善集群通过经验分配资源导致低负载状态下资源利用率低的问题。(2)提出了一种基于优先级算法的GPU弹性伸缩解决方案,能够提升集群GPU资源紧张情况下GPU资源的利用率。(3)提出了一种资源均衡分配模型,能够避免拥有多种异构资源的集群中某种资源的使用率过高,而其他资源使用率很低的状态,达到公平分配集群资源的效果,从而提升资源利用率。通过实验表明,以上三种方案对资源利用率有一定提升。