基于数据缓存系统的低能耗副本布局策略

2019-06-06 04:21徐凯李旭健
软件导刊 2019年3期
关键词:副本哈希功耗

徐凯 李旭健

摘 要:Memcached是一个高性能分布式内存对象缓存系统,目前受到各大规模数据中心青睐,但是其高能耗是一个亟待解决的问题。为达到较好的节能效果,同时满足数据缓存的高效性,提出一种基于一致性哈希的数据缓存系统低能耗副本布局策略——LowPowerCHT,包括分层式副本布局策略和能耗调度器。LowPowerCHT 将副本分布在互不重合的多个服务器层中,在分层副本布局中,部分服务器层维持活动状态,其它服务器层处于关闭状态而不影响数据缓存,以此达到节能目的。能耗调度器能够估算服务器的负载率,并根据负载的高低变化相应开启或关闭某些副本层。仿真实验表明,LowPowerCHT能够有效节省能耗,同时维持较好的数据缓存性能。

关键词:Memcached分布式缓存系统;一致性哈希表;LowPowerCHT;副本布局

DOI:10. 11907/rjdk. 182703

中图分类号:TP301文献标识码:A文章编号:1672-7800(2019)003-0039-04

0 引言

Memcached分布式缓存系统高能耗是一个重要关注点,高能耗带来的是高额电费支出。此外,随着缓存数据规模急剧扩大,缓存系统的数据缓存量也愈发庞大。因此,解决服务器功耗问题已成为当务之急。

有关数据中心能量管理的文献表明,数据中心的大多数工作负载采用周期I/O负载模式,具有较大的峰谷比[1-2]。 普通分布式数据缓存系統中,在轻负载期间关闭存储设备或服务器以降低功耗已有大量研究,说明该方式具有显著的节能潜力[3]。另外一种方法是利用分布式存储系统中副本的固有冗余[4]。该方法维护可用于访问的主副本,并关闭承载冗余副本的服务器,以提供较高的节能水平[5]。然而,分布式缓存系统通常使用一致性哈希表将数据分发给缓存服务器,因为一致性哈希可以适应变化中的服务器集群,并且具有最小中断[6]。

以上关于服务器节能的方法均不能满足分布式缓存系统的工作特点。因此,本文提出一种基于一致性哈希的数据缓存系统低能耗副本布局策略,在满足数据缓存需求的同时实现功耗节省。使用多层放置副本,将副本分配给一致哈希环节中的非重叠层,通过维护部分服务器的层级,便可在不破坏数据缓存的情况下关闭剩余服务器层,而能耗调度器可以提供分布式缓存系统的功耗比例。因此,性能可以功耗成比例的方式放大。测试结果表明,LowPowerCHT在保持良好的数据缓存性能同时,可显著节省服务器集群能耗。

1 LowPowerCHT概述

1.1 一致性哈希下传统副本策略

目前键值存储系统,如Dynamo[6]、Chord[7]、Cassandra[8]、Voldemort[9]和Sheepdog[10]经常使用一致性哈希表将数据对象分配给节点,并将节点与它们的键值映射到哈希环上。然后,从随机映射到环上某点的顺时针出发,分配给其遇到的第一个节点。如图1(a)所示,对象β被映射到顺时针方向中遇到的第一个节点A。

为了实现高可用性,键值存储系统在不同节点上复制数据。如图1(a)所示,对象β在环中的3个后继节点A、B和C上被复制。并且,为了实现负载平衡,一致性哈希算法分配了多个虚拟节点到每个物理节点上。图1(b)为每个物理节点的多个虚拟节点示意图。通过跳过后续位置在不同节点上复制数据的方法,确保数据的每个副本存储在不同物理节点上。因为虚拟节点由一致性哈希函数按伪随机顺序排列,所以每个数据的副本随机分布在哈希环上。

1.2 一致性哈希下多层副本策略

1.2.1 分层策略

为了在分布式缓存系统的一致性哈希下实现能耗均衡目标,多层副本策略首先将服务器分配给非重叠层,每层只包含每个数据的一个副本。因此,多层布局允许[(R-t)NR]台服务器断电,同时保持每个数据的[t]个副本可用,其中[N]是节点总数,[R]是副本级别参数。通过关闭不同数量的层,数据缓存系统可以切换到不同电源模式以维持不同工作负载水平。

图2所示为3个功耗模式和3个副本级别为3的层。每个层包含服务器的子集,在每层中,副本是唯一的,表明每个数据的副本不存储在同一层中。当系统切换到功耗模式1时,前两层(层0、层1)被断电。在功耗模式1(最低功耗模式)中,当仍有一层(层2)可用时其它两层被断电,显然,最低功耗模式提供最高的能量节省。当系统从功耗模式1切换到功耗模式2时,层1中的服务器被开启。在这种情况下,功耗模式3是具有最高功耗的模式。

1.2.2 副本分配

每个数据的副本被分配给不同层中的第一个服务器,以确保每个层仅包含每个数据的1个副本。图3所示为一致性哈希下多层副本,多层一致性哈希副本策略将每个数据的副本分配给其在环上不同层次的第一个虚拟节点。对象β的第一副本n1与虚拟节点A1相关联,虚拟节点A1是其在层0中的第一个服务器,并映射到服务器A;第二副本n2与层1中的第一个虚拟节点B1相关联,并映射到服务器B;此外,第三副本n3与层2中的第一个虚拟节点C1相关联,并映射到服务器C。

在这种情况下,每个层只包含每个数据的1个副本。多层一致性哈希副本策略不仅在不影响数据缓存的前提下提供了功耗均衡性策略,而且由于它基于一致性哈希,所以还保持了负载平衡、容错和可伸缩性等优点。

表1显示了数据β的副本在不同3层的分配情况。β有3个副本:n1、n2和n3。表中用“接收者”表示某层中的第一个接收者,n1被分配给第0层中的接收者1,n2、n3被分配给第1层和第2层中的接收者1。

1.3 功耗模式调度器

服务器需要几秒钟才能退出待机,而LowPowerCHT以小时为单位切换电源模式[11]。在管理器上运行的功耗模式调度器周期性地汇总来自本地服务器与所有其它远程服务器的负载测量值,并基于系统负载计算下一小时的电源模式。

1.3.1 功耗模式計算

为了选择具有足够活跃度的服务器维持给定负载的功耗模式,本文定义了3个度量标准:节点度量值、层次度量值和负载度量值。节点度量值和层次度量值是通过使用随机访问I/O流在Mb/s中测量的,负载度量值是通过使用对所有服务器进行聚合读写定义的,写入速率由R因子加权,因为写入被复制R次,因此可以服务器为单位计算负载[11]。而本文方法的功耗模式调度器以层为单位进行切换,所以选择以层为单位而不是以服务器为单位计算负载。

在每个服务器上以1s间隔测量负载进行追踪,并针对每小时进行聚合。首先,调度器使用现有ARMAX模型的预测器估算下一小时的负载[Lpredict][12]。然后,通过确定下一小时的预测负载是否超过p层负载,计算下一小时的功耗模式P。最后,关闭其它层,选择包含P层的功耗模式P以维持当前负载。功耗模式P:

其中,[Ltier]表示层次度量,它是一层服务器的性能;[P]表示选择的功耗模式,它与系统负载成比例。在这种情况下,功耗模式调度器与多层副本策略协作提供功耗比例,能够有效选择适当的功耗模式,从而达到节省能耗的目的。

2 仿真实验

通过使用追踪驱动预测以评估LowPowerCHT和12个企业数据中心的工作负载[13]。评估中使用的12条追踪数据是在块级别上获取的,并且是从Microsoft Cambridge服务器收集的[14]。12个工作负载中的每一个均由7d数据组成。表2所示为追踪参数。

2.1 实验装置

实验运行在配置有15个服务器的基于LINUX的缓存集群上,每个服务器都配备了2.13GHz的Intel Xeon CPU (E5506)和16GB存储器。所有服务器都安装了FEDORA 14、Linux 2.635.64-55.FC14x86-内核、Ext4文件系统。每个服务器配备一个磁盘(西部数据RE4 ITB),每个磁盘提供1 TB存储空间。此外,所使用的哈希函数是FNV-1散列函数,Voldemort和Sheepdog都使用该函数[15]。初始情况下,Sheepdog存储集群被格式化为使用默认的复制因子3。

仿真实验测试了负载预测准确性、能耗模式调度器可靠性以及LowPowerCHT与Sheepdog的节电效果。

2.2 负载预测准确性

应用ARAMX模型预测工作量[16]。图4所示为12个工作负载中使用的负载预测器准确性。

在大约90%的时间内,预测误差小于1,而在70%的时间内,预测误差小于0.3。最大预测精度为prxy,90%的prxy误差小于0.15。最小预测精度为wdev,70%的wdev误差小于0.3。图5所示为功率模式调度,可以观察到,在90%的时间内,功率模式与工作负载相匹配。因此,预测大部分时间是正确的。

2.3 能耗模式调度器

图5显示了每小时负载度量以及能耗模式调度器为每小时缓存usr数据所选择的电源模式,使用的负载度量为每小时工作负载所需服务器数量,电源模式为每小时工作负载的层级数。

由实验结果可知:第一,在90%的时间内,功率模式是正确的,选择的活动层数与每小时工作量相匹配;第二,15台服务器足以满足性能要求,只有几个小时的负载在峰值附近[17]。例如,60-64小时期间的工作量即使在所有层都被供电时也无法维持。

2.4 LowPowerCHT与Sheepdog节电效果对比

实验中使用的服务器是均匀的,并且缓存集群总功耗与活动服务器数量几乎成正比[18]。因此,基于活跃状态服务器的数目计算功耗:

图6显示了LowPowerCHT与Sheepdog的功耗。如图所示,LowPowerCHT比Sheepdog消耗的功率低很多。对于不同工作负载,Sheepdog功耗相同,并且打开的活动服务器平均数量是15,这是因为Sheepdog不使用电源管理策略[19]。

3 结语

本文提出了基于一致性哈希的数据缓存系统低能耗副本布局策略LowPowerCHT。在分层副本布局中,部分服务器层维持活动状态,其它服务器层处于关闭状态而不影响数据缓存,以此达到节能目的。能耗调度器能够估算服务器的负载率,并根据负载的高低变化相应开启或关闭某些副本层。与广泛使用的传统方案相比,本文策略在保持整个系统可靠性的同时,能够显著地节省功耗[20]。

参考文献:

[1] LE H H, HIKIDA S, YOKOTA H. An efficient gear-shifting power-proportional distributed file system[C]. International Conference on Database & Expert Systems Applications, 2015:153-161.

[2] WESTERMEYER J,YOON G,THURAS P,et al. Pharmacotherapy in methadone maintenance:clinical utility of peak-trough blood levels[J]. Addictive Disorders & Their Treatment, 2016, 15(4):157-164.

[3] 宋驰. 基于异构存储服务器的节能调度机制的研究[D]. 武汉:华中科技大学,2015.

[4] JABER G,KACIMI R,MAMMERI Z. Exploiting redundancy for energy-efficiency in wireless sensor networks[C]. Wireless and Mobile NETWORKING Conference,2016:180-186.

[5] MEMON A J, SHAIKH M M. Confidence bounds for energy conservation in electric motors: an economical solution using statistical techniques[J]. Energy,2016, 109:592-601.

[6] 苏跃明,李晨,田丽华. 基于分片一致性哈希负载均衡策略与应用[J]. 计算机技术与发展,2017(11):62-65.

[7] KORZENIOWSKI F,WIDMER G. Automatic chord recognition with higher-order harmonic language modelling[C]. European Signal Processing Conference,2018:1-5.

[8] 吕显赫. 基于混合缓存架构的Cassandra读性能优化[D]. 济南:山东大学,2015.

[9] NEVES R,BERNARDINO J. Performance and scalability of voldemort NoSQL[C]. Information Systems and Technologies, 2015:1-6.

[10] STORTEIG H S,STEINHEIM G,FJERDINGBY O H, et al. Genetic analyses of herding traits in the Border Collie using sheepdog trial data[J]. Journal of Animal Breeding and Genetics,2016,134(2):1-8.

[11] 王芳. 分布式系统中节能的数据摆放和任务调度算法的研究[D]. 哈尔滨:哈尔滨工业大学,2014.

[12] DU G W,ZHOU L H,FANG Y,et al. Time series clustering via NMF in networks[C]. 2018 IEEE 16th International Conference on Software Engineering Research,Management and Applications(SERA), 2018:87-92.

[13] 崔黎黎,王晓薇,吴鹏,等. 不确定非线性系统的事件驱动鲁棒跟踪控制[J]. 沈阳师范大学学报:自然科学版,2018,36(3):237-249.

[14] JEONG G M, TRUONG P H, LEE T Y, et al. Course design for internet of things using lab of things of Microsoft research[C]. Frontiers in Education Conference, 2016:1-6.

[15] SAMUELSON P. Cisco systems, INC. v. Arista Networks, INC. brief amicus curiae of copyright law professor Pamela Samuelson[J]. Social Science Electronic Publishing, 2018,16(2):658-680.

[16] 秦天龙. 方程误差模型基于最新估计的加权新息最小二乘辨识[D]. 哈尔滨:哈尔滨工业大学,2015.

[17] 李杨. 一种大负载峰值电流模DC-DC变换器的设计[J]. 电子科技,2016,29(7):128-131.

[18] WANG Y, CHEN S, GOUDARZI H, et al. Resource allocation and consolidation in a multi-core server cluster using a Markov decision process model[C]. International Symposium on Quality Electronic Design, 2013:635-642.

[19] 盧翠荣,邹静昭.基于云计算平台的动态电源管理策略研究[J].电源技术,2016, 40(10):2077-2078.

[20] ALESSIO D, RENFRO W B. The Voldemort of imperial history: rethinking empire and US history[J]. International Studies Perspectives, 2014,17(3):250-266.

(责任编辑:何 丽)

猜你喜欢
副本哈希功耗
基于任务映射的暗硅芯片功耗预算方法
面向流媒体基于蚁群的副本选择算法①
副本放置中的更新策略及算法*
数字电路功耗的分析及优化
基于OpenCV与均值哈希算法的人脸相似识别系统
IGBT模型优化及其在Buck变换器中的功耗分析
基于维度分解的哈希多维快速流分类算法
基于同态哈希函数的云数据完整性验证算法
一种基于Bigram二级哈希的中文索引结构