论文部分内容阅读
随着大数据时代的到来,数据中心需要处理的数据量越来越多,全球数据中心的数量与规模都在高速扩张。数据中心扩张带来了更高处理性能的同时,也引发了一系列问题,其中不可忽视的是数据中心巨大的能耗。企业每年必须支付高额的能耗费用来支持数据中心的运转。另一方面,为了达到最高的性能需求,数据中心往往会配置多个服务器集群,每个集群由多台服务器组成。这导致在很多时间里,大量服务器会处在空闲或低利用率的状态,存在明显的能耗浪费现象。最后,巨大的能耗还会引起能源快速消耗、碳排放过多等严重的环境问题。因此无论从企业的角度还是环保的角度,针对集群环境提出有效的能耗管理方法都是非常有必要的。数据库集群作为数据中心里普遍存在的集群系统,其能耗管理问题也亟待深入探讨。伴随全球能源的日益紧张和当前以数据为主导的计算模式,政府、企业和学术界都将节能数据库系统的研究纳入了重点考虑的范畴。本文主要研究数据库集群环境下查询操作相关的能耗管理方法。因为查询操作是数据库系统中最常见也最重要的操作,重新审视集群的查询处理过程,针对查询处理提出相应的节能技术,对降低集群的能耗具有重要的意义。目前衡量集群系统能耗表现的两种重要指标分别是能耗均衡性和能耗有效性,二者追求的目标和实现方式都存在区别。然而这两种方法在面向数据库集群上的研究还相对缺乏,现有的算法直接移植到数据库集群中也会明显削弱集群的查询处理能力。因此本文针对数据库集群的独特性,在保证数据库查询性能的前提下,研究实现集群的能耗均衡性和能耗有效性的方法。本文主要内容与贡献点总结如下:(1)针对能耗均衡性的研究,首先提出了一种新的查询处理框架:将共享存储架构和无共享架构相结合,并且引入了查询流缓冲池。该框架能保证在实现能耗均衡控制时最大化减少服务器状态改变对集群查询性能的影响。其次结合查询流缓冲池提出负载倾斜的分配策略,使集群中更多的服务器能有更大的概率转为空闲从而被关闭。基于该查询处理框架,还提出了缓存驱动的能耗均衡控制方法,该方法较之于现有算法,能大大减少误判现象。最后在真实的PostgreSQL集群上利用多种不同类型的负载进行实验,结果表明该方法能在基本满足集群查询性能要求的前提下有效减少集群能耗。(2)针对能耗有效性的研究,我们将单节点的DVFS(Dynamic voltage and frequency scaling,动态电压频率调整)思想应用到集群上,提出了集群上的协同DVFS算法,克服了单节点DVFS并发查询性能差的缺陷。算法首先将集群划分为不同CPU运行频率的节点结合,并且将查询按照CPU密集型和非CPU密集型进行划分,同一类型的查询分配到同一个集合中的节点上执行。该方法兼顾了查询的高效性和集群的能耗有效性,依旧通过PostgreSQL集群上的实验验证了该方法的有效性。