此时,可以关闭的节点为2个,且所有数据仍然可用。经过优化的数据布局中,数据的副本分别位于r个不同的功耗组中,在保证数据集可用的情况下,则最多可以关闭r-1个功耗组的节点,系统能够达到的节能比例为r-1/r,当集群规模较大时,节省的能耗是非常可观的。同时,由于很好地实现了副本的分布,可以关闭的功耗组个数可以是1~r-1的任何_个,从而为系统的多级功耗管理提供了基础。 4多级功耗管理 基于对数据副本分布的优化,使得系统中活跃的功耗组个数可以根据系统I/O负载的情况按需调整,让系统处于不同的功耗级别,从而实现系统的多级功耗管理,减少能耗。 4.1多级功耗模型 在Ceph中,系统的主要能耗来自于OSD节点。在一个包含n个OSD节点的Ceph集群中,副本个数设置为r,经过数据布局优化后,节点被划分至r个功耗组,若单个OSD节点的功耗为p则单个功耗组的功耗为: Pg=pXn/r 系统中活跃(未关闭或休眠)的功耗组个数为则系统功耗为: Ptotal=PgXractive=(n/r)XPXractive= ractive\ 其中,rac_的取值可以为1~r,即系统可以处于尸^P2,…,Pr不同的功耗级别。在一段时间T内,系统所消耗的能耗为: rE=XP,h+Et(1) 其中,是系统处于相应功耗级别的时间;尽是系统用于级别切换所消耗的能耗之和。 4.2功耗级别管理 功耗级别管理的主要任务是根据I/O负载状态动态调整功耗级别,在保证服务质量的同时,尽量减少功耗。I/O负载状态可以通过统计分析或者预测的方式确定,本文采用的是前者,即收集并统计系统在一定时间内的I/O数据如I/O次数、I/O数据量等,并以此确定系统的I/O负载状态。为描述不同场景下的I/O负载状态,需要对随机I/O和顺序I/O都进行收集与统计,因此,在可配置的时间窗口W内,对系统的I/O状态数据可统计为: =IOIOseq=IOstotal/W 其中,Ortotal为W时间内发生的随机I/O的次数;lOstotal为W时间内顺序I/O请求的数据量。两者分别与预先测得的系统峰值I/O能力对比,得出系统I/O状态的量化描述,即I/O负载率L: L=max{IO^,IIO^}(2) rpeakspeak 其中,被用于与当前功耗率Pi=ract"Jr比较,确定系统下_阶段所处的功耗级别:当系统的I/O负载率高于能耗率时,活跃的功耗组已经不能满足I/O负载的要求,需要更多的功耗组提供服务;当系统的I/O负载率低于能耗率时,则系统中有部分功耗组可以被关闭,以达到节能的目的。功耗级别确定的伪代码为: while(overtime(W)){if(L<pl)-/*切换至低级别*/while((ractive>1)&&(L<=pl))ractivefif(L>p{/*切换至高级别*/while((ractive<r)&&(L>=pl))? active active 输出的ract"e将作为下一个W时间段内的系统所处的功耗级别,此时需要关闭/开启的功耗组的个数为I-一?I。为保证系统的高可用性,可以设置允许的最少活跃的功耗组个数为2,即允许系统数据副本至少有2个是可用的。 5系统实现与实验评估 基于第3节、第4节所述的优化方法,结合Ceph自身技术特点,本文设计并实现了一个能耗管理框架,并进行了实验评估。 5.1系统架构 如图3所示,该功耗管理框架由4个模块组成,其中LayoutOptimizer模块实现针对CRUSH的数据布局的优化算法,并生成新的Crushmap和放置规则;I/OTracer模块用于跟踪与统计系统的I/O数据,即以一定的频率采集分析CephLog中的I/O相关信息记录;LeverShifter则是管理系统功耗级别的模块,根据跟踪统计到的I/O数据,分析当前系统的I/O负载状态,基于所选择的的策略确定是否需要切换功耗级别;StatusManager模块负责功耗级别切换的执行,首先利用Ceph的OSD状态管理工具设置OSD在Ceph集群中的状态为noout,保证不会因主动停止OSD而发生数据迁移,接着通过远程休眠/网络唤醒(WOL11)等技术控制OSD所在的服务器电源管理状态,基于休眠/唤醒的方式比传统的关闭/开启服务器的方式更为节能,式(1)中用于级别切换的能耗对系统的总能耗的影响几乎可以忽略不计,且响应时间更短。 图3系统架构 OSDStatus I/OTracer 5.2实验评估 在一个有6个OSD节点的Ceph系统中进行了该功耗管理框架的实验评估。Ceph版本为0.80.5,操作系统为Kylin3.2,每个节点上配置一个OSD,副 本策略为select(3,host)。为模拟不同的负载场景,用fio12测试工具进行测试。 |
核心期刊网(www.hexinqk.com)秉承“诚以为基,信以为本”的宗旨,为广大学者老师提供投稿辅导、写作指导、核心期刊推荐等服务。 核心期刊网专业期刊发表机构,为学术研究工作者解决北大核心、CSSCI核心、统计源核心、EI核心等投稿辅导咨询与写作指导的问题。 投稿辅导咨询电话:18915033935 投稿辅导客服QQ: 投稿辅导投稿邮箱:1003158336@qq.com |