“新质生产力”是什么?绿色发展是高质量发展的底色,新质生产力本身就是绿色生产力。
作为数字经济的“底座”,数据中心是新型基础设施节能降耗的关键环节,如何建设下一代绿色高效数据中心一直是产业界的焦点。银河麒麟云底座操作系统结合云场景,从提升数据中心资源利用率、优化系统级能耗、提高系统整体性能三个方向入手进行技术突破,促进降碳增效,推动数据中心绿色发展。
浏览、下单、一气呵成,电商购物的方便快捷已惠及每个人。在这背后,平台上的每台服务器早已分配好充足的计算资源,为随时到来的流量高峰做足准备。然而高峰总会过去,夜深人静时,那些提前分配的资源就白白闲置吗?
针对以上的问题,麒麟软件将业务进行“高低优先级”划分,将对稳定性要求高的业务划分为“高优先级”,对稳定性要求不高、没有响应时延要求类的业务划分为“低优先级”。银河麒麟云底座操作系统针对qemu-kvm虚拟机场景实现了高低优先级混合部署技术,通过将“高优先级”与“低优先级”混合部署、合理调控的方式,提升数据中心资源利用率,实现节能降耗,有力服务数字经济发展。
银河麒麟云底座操作系统针对云场景下基于qemu-kvm的虚拟机场景,通过libvirt与skylark相结合,实现虚拟机高低优先级混合部署方案。在该方案下,通过资源隔离技术,在不影响高优先级虚拟机感知的情况下,允许低优先级虚拟机充分利用高优先级虚拟机空闲期间的资源,提高资源利用率;同时通过对Qos的控制严格保证高优先级虚拟机的Qos,在高优先级虚拟机需要资源期时,保证其能够及时回收自身资源与抢占相关资源,保证高响应率与处理速率。
libvirt:根据业务需求自主设置虚拟机
libvirt支持用户根据业务需求自主选择虚拟机的“高低优先级属性”,并配置在虚拟机的xml配置文件中。libvirt将通过高低优先级配置将虚拟机在cgroup中划分为不同的子组,然后由cgroup为虚拟机高低优先级混合部署提供内核态基础的资源隔离技术。
在资源分配方面,libvirt对高优先级虚拟机的设置区别如下:
优先级属性 | 高优先级 | 低优先级 |
CPU绑核要求 | 一对一独占式绑核 | 范围自由选取,选取范围包括高优先级虚拟机CPU范围 |
目的 | 提升虚拟机性能; 防止高优先级之间互相竞争; 预分配充足的资源; | 在高优先级虚拟机空闲时,使用其“独占”的闲置的CPU资源,提高整体资源的利用率 |
资源抢占能力 | 对低优先级虚拟机的绝对压制 | 只能在高优先级虚拟机空闲期间,使用其“独占”的闲置资源 |
libvirt对高低优先级虚拟机资源分配
这种实现方式因为cgroup的内核态资源隔离,不会主动让高优先级虚拟机感知到CPU资源的变动,但是实际上当它们的CPU资源闲置时,能够被低优先级虚拟机充分利用。
skylark:保证高优先级虚拟机保持绝对优势
银河麒麟云底座操作系统在用户态主要通过skylark组件进行Qos控制,实现高优先级虚拟机能够在资源竞争上保持绝对优势,保证其资源充足、响应及时的功能。
skylark能够通过访问cgroup中的子组,获取分类为“高优先级”与“低优先级”的虚拟机,从而对两者进行不同的Qos控制。
skylark的核心模块为QoSManager,主要模块包括:
• 数据收集模块:DataCollector
• 功耗分析模块:PowerAnalyzer
• CPU控制模块:CpuController
• 内存LLC 及带宽控制模块:CacheMBWController
• 守护进程模块:BlockingScheduler
这些模块相互协作,支持的Qos控制功能如下:
• 功耗干扰控制:相比非混部情况,混部后主机利用率更高,高利用率意味着高功耗,服务器功耗在超过TDP时会触发CPU降频。
skylark 支持当功耗超过预设的TDP阈值(即出现 TDP 热点)时,通过对低优先级虚拟机的CPU带宽进行限制,以此达到降低整机功耗的同时保障高优先级虚拟机QoS。
在skylark虚拟机混部方案中,我们有数据采集,QoS实时分析,QoS 实时控制,三个核心模块,通过这三个模块,可实现功耗干扰控制的核心算法。
• 内存LLC/MB干扰控制:skylark在周期性地访问cgroup下虚拟机的子组,并同步信息到resctl的控制组下,通过银河麒麟云底座操作系统提供的resctrl接口来限制低优先级虚拟机的LLC和内存带宽。
内存LLC ways控制对内存LLC占用率的影响
内存带宽控制对流量的影响
• CPU干扰控制:混合部署场景下,虚拟机之间会产生CPU时间片干扰与超线程SMT干扰。
skylark基于内核提供的 QOS_SCHED 及 SMT_EXPELLER 特性实现对这两种干扰的控制:一是QOS_SCHED 特性实现了单个CPU core或SMT上高优先级虚拟机对低优先级虚拟机的绝对压制,解决了 CPU时间片干扰问题;二是SMT_EXPELLER 特性实现了同一个 CPU core的不同 SMT 上高优先级虚拟机对低优先级虚拟机的绝对压制,解决了 SMT 干扰问题。
混合部署是业界提升整机资源利用率的一种通用做法,但对操作系统底层的资源隔离性提出了极高的要求,需要包含底层内核、调度系统和云平台形成整体解决方案。银河麒麟云底座操作系统以高性能、强安全、高可靠、高稳定为特点,同时,以绿色节能为用户降低能耗,提升效率。未来,麒麟软件将在如何充分发挥国产CPU硬件性能、优化系统级能耗感知等方面不断探索,服务新质生产力绿色发展。
通讯员 | 肖钰亮
来 源 | 服务器研发部
审 核 | 市场与政府事务部