论文部分内容阅读
随着互联网的飞速发展,数据呈爆发式增长,企业为了节约成本、提高资源利用率,纷纷在数据中心部署云计算平台。相比于传统的部署方式,云计算对计算、存储以及网络资源进行统一分配和管理,在一定程度上提高了资源使用的灵活性和资源利用率。目前实现云计算的主要技术有虚拟化和容器技术。相比于虚拟化技术实现的云计算平台,容器技术消耗的资源更少,更为轻量级以及具有便携性。随着Kubernetes的出现,以容器的方式部署服务成为了业界比较流行的做法。为了更充分地利用资源,目前最直接的方法为将不同类型的应用混合部署。虽然容器技术使用了Linux底层技术对资源进行隔离,但是仍有无法隔离的共享资源(如末级缓存、内存带宽等),应用之间对共享资源的竞争,会导致应用的性能抖动,严重影响了在线延迟敏感型应用的服务质量。对于企业而言,在线应用的延迟增加,影响用户体验,导致客户流失,进而造成巨大的经济损失。如何在提高资源利用率的前提下,保障应用的服务质量,是当前数据中心面临的一个重要问题。 本文基于Kubernetes设计一种资源反馈调节QoS框架,根据应用实时监控获取的状态信息,决定是否对应用所占有的资源进行调整,以此来保障应用的服务质量。应用的资源调整策略为开放性架构,每种应用均可制定各自的资源调整策略。同时本文利用Intel的资源调配技术(RDT)对末级缓存、内存带宽等共享资源进行管理,增强容器的隔离性,以软硬件协同的方式保障应用的服务质量。 本文测试了几个代表性应用的资源敏感程度,根据结果制定应用资源策略。实验表明,在应用混合部署的情况下,有资源策略保护的应用其稳定性与服务质量高于无资源策略保护的应用。