关于我们

麒麟动态

当前位置  >  首页  >  关于我们  >  麒麟动态  >  正文

绿色节能|详解银河麒麟云底座操作系统混合部署技术

发布时间:2024-03-19    浏览次数:2980次    作者:麒麟软件



“新质生产力”是什么?绿色发展是高质量发展的底色,新质生产力本身就是绿色生产力。

作为数字经济的“底座”,数据中心是新型基础设施节能降耗的关键环节,如何建设下一代绿色高效数据中心一直是产业界的焦点。银河麒麟云底座操作系统结合云场景,从提升数据中心资源利用率、优化系统级能耗、提高系统整体性能三个方向入手进行技术突破,促进降碳增效,推动数据中心绿色发展。


浏览、下单、一气呵成,电商购物的方便快捷已惠及每个人。在这背后,平台上的每台服务器早已分配好充足的计算资源,为随时到来的流量高峰做足准备。然而高峰总会过去,夜深人静时,那些提前分配的资源就白白闲置吗?

类似的情况无处不在。随着网络业务的高速发展,各行各业对计算资源的需求量也日益增高。然而部分业务的流量往往随着用户的使用习惯呈现稳定的潮汐现象,从而导致在流量低峰期间(例如深夜)产生大量的资源闲置。同时,部分重要性较高的业务出于对稳定性的考虑,往往会过量分配资源,导致资源利用率低下。


针对以上的问题,麒麟软件将业务进行“高低优先级”划分,将对稳定性要求高的业务划分为“高优先级”,对稳定性要求不高、没有响应时延要求类的业务划分为“低优先级”。银河麒麟云底座操作系统针对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硬件性能、优化系统级能耗感知等方面不断探索,服务新质生产力绿色发展。



通讯员 | 肖钰亮

来    源 | 服务器研发部

审    核 | 市场与政府事务部

上一篇: 共绘新图景|麒麟软件助力贵阳地铁进入“线网时代” 下一篇: 使用麒麟操作系统,TA们获奖了!

试用

服务

动态

联系