您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页基于数据库负载的SQL能耗预测模型

基于数据库负载的SQL能耗预测模型

来源:暴趣科技网
第44卷第1期 2017年1月 计算机科学 Vo1.44 No.1 CoMPUTER SCIENCE Jan.2017 基于数据库负载的SQL能耗预测模型 国冰磊 于炯 廖彬 杨德先 (大学软件学院 乌鲁木齐830008) (财经大学统计与信息学院 乌鲁木齐830012)。 摘要传统数据库以性能(吞吐量、响应时间)为首要优化目标,忽略了数据库系统的能量消耗。在一味追求性能的 同时,高能耗问题日益突出,为数据库负载构建能耗模型是构建绿色数据库的基础。通过量化查询负载执行过程中对 系统资源(CPU与磁盘)的消耗,将资源消耗产生的时间代价和功耗代价转化为时间代价预测模型和功率代价预测模 型,在单站点数据库服务器上实现了为数据库系统构建资源单位代价统一的能耗预测模型。采用多元线性回归工具 拟合模型的重要参数,实验结果验证了能耗预测模型的可行性;并分别在静态与动态的系统环境下对系统不同类型查 询负载的能耗进行预测与评价,验证了该模型的准确性,使得提出的能耗模型适合于构建能耗感知的绿色数据库。 关键词绿色计算,SQL执行能耗,查询处理,绿色数据库 TP315 文献标识码A DOI 10.11896/j.issn.1002—137X.2017.01.040 中图法分类号SQL Energy Consumption Forecasting Model Based on Database Load Status GUO Bingqei YU Jiong LIAO Binz YANG De-xian (School of Software,Xinjiang University,Urumqi 830008,China) (College of Statistics and Information,Xinjiang University of Finance and Economics,Urumqi 830012,China) Abstract In a typical database server,performance(throughput or response time)is the first-class optimization goa1. However,energy consumption of database systems is ignored by the service providers and users,which makes the high energy consumption be a serious problem in data centers in the processing of chasing performance.Building energy con— sumption model for query workload is the first step to create a green database.By quantifying the system resources (CPU and Disk)consumed by query workload and transforming the time cost and energy cost into two independent models(time estimation model and power estimation mode1),the energy estimation model with uniform resource unit was implemented in a single-site database server.Using the multiple linear regression method to compute the key pa rameters of the above models,experimental results prove the feasibility of our mode1.To further prove the accuracy and efficiency of the above model,we also made it work under two different system settings(static system and dynamic sys— tem),making it more suitable for building the energy-aware green database. Keywords Green computing,SQL execution energy consumption,Query processing,Green database 1 引言 在传统数据中心,数据库负载占用着大量的服务器资源 的能耗导致的环境问题促使在世界各地开始监管企业的 能耗控制能力。所以无论从降低数据中心的运营成本还是从 降低能耗保护环境的角度出发,研究数据库节能技术都具有 重要的现实意义及广泛的应用前景。 为了节省数据中心的运营成本并减少对环境的影响,学 (包括CPU、磁盘I/0等),使得数据库系统成为数据中心能 量消耗的主要组成部分口]。为此,研究并解析数据库系统的 能耗问题,为DBMS的高能耗问题找到优化方法或解决途 径,并在满足时间及性能约束的前提下构建功率感知的绿色 数据库,是解决大型数据中心中数据库系统高能耗问题的关 术界与工业界分别从硬件、操作系统、虚拟机、分布存储系 统l5。]等层次去提高数据中心的能源使用效率。而本文关注 DBMS中的查询优化模块,从查询处理的方式以及查询优化 (能耗优化)的本质考虑数据库系统的节能问题,提出基于数 据库I/0访问类型的SQL执行能耗预测模型。从解析后的 执行计划中提取资源消耗的相关信息,并将其映射为系统 CPU资源及磁盘资源的消耗,最终转化为系统各部件的能量 消耗。本文的主要工作是在对DBMS查询优化器优化机制 进行分析的基础上,为数据库系统构建单位代价统一的能耗 键。文献[2]指出,2006年美国数据中心一年的耗电量高达 610亿千瓦时(KWh),约占整个国家一年耗电量的1.5 。 此外,数据中心的用电需求总量以每年12 的比率增长,导 致仅2011年数据中心的耗电量就达到1000亿千瓦时 (KWh),相当于74亿美元的电费[3]。文献E4]指出服务器工 作3年的用电成本将超过服务器最初的采购成本,同时增加 到稿日期:2015~12—01返修日期:2016—04—09 本文受国家自然科学基金项目(61462079,61262088,61562086,61363083)资助。 炯(1964一),男,博士,教授, 国冰磊(1991一),女,硕士生,CCF学生会员,主要研究方向为云计算、绿色计算,E-mail:mnggbl@163.corn;于博士生导师,主要研究方向为云计算与大数据;廖彬(1986一),男,博士,讲师,主要研究方向为数据库理论与技术、绿色计算、数据挖掘; 杨德先(1991一),男,硕士生,主要研究方向为云计算、绿色计算。 第1期 国冰磊,等:基于数据库负载的SQL能耗预测模型 209 模型,并通过实验验证能耗模型的有效性,证明该模型能够应 用于构建功率感知的节能数据库系统。实验结果表明,能耗 模型的平均相对误差为5.73 ,绝对误差不超过9.6 。并 且,该模型将CPU功耗和磁盘功耗统一转换为单数据块读的 单位代价,将模型嵌入到数据库查询优化器中,不需要计算出 实际的功耗值,通过比较数据块的数量就能了解数据库在当 前的动态资源消耗及能耗情况。 本文第2节介绍了构建绿色数据库的相关工作;第3节 详述了能耗模型的构建基础与理论;第4节论述了能耗模型 的实现并对结果进行分析,同时考察了MBRC(一次多数据块 读操作从磁盘读取数据块的数量)的设置对模型准确度的影 响;最后对全文进行了总结。 2相关研究 在学术界与工业界,功率感知的绿色数据库领域已有的 研究成果可以分为如下两大类:基于硬件的数据库节能与基 于软件的数据库节能。早期的研究成果以硬件节能最为常 见,如设计耗电 ̄(Performance-per-watt)更优的硬件,调整并 适应硬件在不同系统状态下的功率状态等。主要方法是利用 耗电比更优的硬件设备替换现有系统中的高能耗设备,如利 用固态硬盘(Solid State Drives,SSD)替换机械磁盘,在提高 数据库能耗效率的同时还提高了系统的性能。由于SSD相 对于传统机械磁盘的成本偏高,因此构建基于闪存与硬盘的 混合存储系统是当前的研究热点_8 ]。 在过去的十年里,大多数工作集中在硬件及系统层,目的 在于提高数据库系统的能源效率。然而在软件层面的研究却 相对较少,其主要集中在研究功率感知的查询优化器,核心思 想是构建功耗/能耗模型,将其无缝地嵌入数据库原有的查询 优化器中,以达到为数据库负载估算实时功耗/能耗的目 的l_10- ]。构建功率感知的查询优化器的目的是在保证满足 时间性能约束的前提下,为SQL语句选择低功耗/低能耗的 执行计划,最终提高系统的能源效率。 Rodriguez等0 利用多元线性回归实验,通过训练负载, 提取不同查询计划的共同特征(如元组大小、基数、列数等)为 数据库构建了较准确的SQL语句级功耗模型。模型的重要 参数来自内部传感器或功率计上测得的功率以及负载统计数 据。其构建的功耗模型准确性较高,但仅限于选择查询,并不 能对所有的SQL语句类型进行完全覆盖。 Xu等 ” 针对运算符级别的功耗模型展开了广泛与深 入的研究。其基本思想是通过总结运算符在执行过程中的共 同特征(如CPU处理的普通元组数、索引元组数、从磁盘读取 的页面数等)为通用运算符构建功耗模型,并利用一系列的简 单查询校准模型重要参数;最后,通过构建一个查询计划评估 引擎,按照性能约束和功率消耗来评估一个查询计划的好坏, 该模型能够达到为数据库节能的目的,但存在精度较差的缺 点。 Tsirogiannis等[】 利用5种不同的数据库并改变查询计 划、压缩算法、访问方法、并行类型和级别等来研究影响数据 库能耗的因素。研究发现,对传统数据库进行能耗优化是无 用的,因为能源效率总是与性能正相关。其提出的关于能耗 与性能之间的关系具有较大的争议,学术界对该问题还处于 讨论与探索阶段,并没有形成一致的观点[1 。 杨良怀等[1 ]采用线性回归方法来拟合CPU各个核的利 用率、执行频率、磁盘利用率以预测系统功耗。实验从执行核 粒度考察CPU的执行频率与利用率对系统功耗的综合影响, 避免了在多核架构下整体CPU的活动信息掩盖单个核使用 情况的问题。实验结果表明,系统功率与执行频率呈正相关。 国冰磊等口 在对SQL查询处理机制研究的基础上,对 一系列查询优化原则进行实验,表明不同优化原则对性能提 升及能耗降低的有效性。实验结果表明,CPU利用率是影响 单站点数据库系统功耗的最关键因素,SQL能耗优化方法可 忽略内存优化且应该均衡考虑性能优化及功耗优化两方面。 本文工作与文献E12]最为接近,但是不同之处在于:本文 在对CPU的能耗估算中选取CPU指令数而不是CPU处理 的元组数来反映CPU的工作量。CPU指令数较元组能更好 地反映CPU的能量消耗情况(因为以元组数为最小计量单位 的误差较大,而CPU指令数总数则能更好地反应CPU的工 作量)。将本文提出的能耗模型嵌入到数据库查询优化器中, 能够方便用户实时地掌握数据库能耗,是构建功率感知的绿 色数据库的基础。 3实时能耗预测模型 SQL语句是操作关系型数据库的标准接口,所有上层应 用程序对数据库的操作最终都会转化为SQL语句对数据库 的操作。SQL语句的执行效率和产生的能耗将直接影响数 据库的性能和能源消耗。本文对SQL语句的执行进行能耗 建模,达到了为数据库进行能耗建模的目的。 为了能够方便且有效地对数据库系统的总能耗进行预 测,并面向数据库的时间性能与功率消耗进行均衡的控制与 调节,将SQL语句的能耗预测模型分为两个相互的简单 模型:SQL语句的时间代价预测模型与SQL语句的功率代 价预测模型。 SQL语句在执行过程中会消耗CPU、磁盘、内存、网络等 资源,SQL语句的执行代价由使用相关资源产生的代价累加 而成(即时间代价与功率代价)。对于SQL语句,由于CPU、 磁盘是主要的资源消耗组件,因此本文的能耗模型主要考虑 CPU与磁盘的能源消耗。其他能耗部件,以内存为例,通过 优化内存功耗带来的系统总功率优化的升值空问不大,内存 的动态功耗波动对系统动态功耗几乎无影响[1 ,因此本文在 模型中未显式地把内存部分的功耗加入到模型构造中,而将 其作为系统的静态功率进行处理。 CPU与磁盘资源的消耗会产生两种代价:1)时间代价; 2)功率代价。本文将分别针对总时间代价和总功率代价进行 代价建模,最终得到系统总能耗模型。代价模型中都包括 CPU代价和10代价。最后将这些资源消耗进行量化,统一 为单位相同的资源代价模型。 (1)CPU代价:对于CPU产生的时间代价与功率代价,选 取能更好反应CPU工作量的CPU指令数总数(设为CPU— sum)对代价进行估算¨1 ,这也是本文模型相对于其他模型的 优点。单纯地利用CPU处理的元组总数对CPU的工作量进 行估算会造成较大的误差_】 ,因为在SQL语句执行的过程 中,CPU除了要处理元组,还要负责解析SQL语句、构建查 询树(计划选择空间)、挑选最优的查询计划等,这些操作都需 消耗CPU指令;不同于元组总数,CPU指令总数能真实反应 CPU的工作量。 21O 计算机科学 _2017正 ( ) (2)磁盘代价:磁盘产生的时间代价与功率代价与磁盘读 写数据量密切相关。在SQL执行过程中最常见的I/0类型 为:单数据块读(Single Read Data Block)、多数据块读(Multi— pie Read Data Block)。以Oracle为例,其读取磁盘数据的最 IO』ost__power=IO_multicost=multi』 _B—sum 统一代价单位的多块读功率代价: Jo_multiple—cost—multi—R—B—sum*multi—R—B— poer/singl Bl-power (8) 小I/0单位是数据块(DataBlock)。单数据块读是指一次I/O 仅从磁盘读取单个数据块,并把它读人共享缓存(Buffer Cache)中,设其代价为single_R_BCOST。多数据块读是一次 I/O操作读取系统规定数量的数据块,设其代价为multi—R— BCOST。以读取数据块的块数作为磁盘代价的计量单位,能 其中,mu/t .R B po ̄.1gr是一次多数据块读的功率,sin# R— Bl一声 r是一次单数据块读的功率。可利用式(8)将多块读 功率代价转换为单块读功率代价。 3.2.2 CPU功耗(CPU_cost_power) 在SQL语句执行的过程中,每一种对数据的处理都会依 良好地反应磁盘的工作量。 3.1 SQL时间代价预测模型 SQL执行的时间代价由CPU时间代价与I/0时间代价 累加而成。在Oracle中,有一个参数Cost( CPU),用于表 示CPU时间代价在总时间代价中所占的比例(可由系统统计 数据得到)。由于实验中涉及的都是执行时间较短且结构典 型的SQL语句,因此CPU的时间代价(相对于I/0时间代 价)往往忽略不计,即总的时间代价就是I/O时间代价。 COST_time=』0Lcost_time (1) 根据UO类型,利用单数据块读的单次时间代价将这两 种类型的I/0时间代价转换为统一的代价单位,为了避免在 不同数据库配置下数据块读操作有不同的操作时间,所有代 价都会转换为单数据块读的时间代价,并最终求解出数据库 总时间代价。利用单数据块读的时间代价作为最小代价单 位,I/O类型为单数据块读的总时间代价即为单数据块读的 总次数。 I/0类型为单数块读的时间代价: J0l_cost_time=singl幔BCOST=singl Bl_sum(2) I/O类型为多数块读的时间代价: Iojosttime=--multi _BCOST=multi —sum (3) 统一代价单位的多块读时间代价: multi—R—BC℃lST—multi—R—B—sum*A REDTJj、 SREADT¨ (4) 其中,singl 』;_sum是单数据块读的总次数,multi_R—B— sum是多数据块读的总次数。MREDTIM是一次多数据块 读的平均时间(单位为毫秒),SREADTIM是单数据块读的 平均时间(单位为毫秒)。利用式(4)可将多块读的时间代价 转换为单块读的时间代价,同时实际的时间代价可由式(2)或 式(4)与SREADTIM相乘得到。 3.2 SQL功率代价预测模型 功耗预测模型所估算的是系统动态总功率,是负载情况 下CPU与I/O操作产生的动态功率之和,其中不包括系统空 闲时的功耗。同样,利用单数据块读的功率代价将CPU功率 代价与I/0功率代价统一,因此所有功率代价都会转换为单 数据块读的功率代价,并最终求解出数据库的总功耗。 COST_ 0础r—IO_cost_power+CPU_cost_power (5) 3.2.1 I/0功耗(IOcost_power) I/O操作类型为单块读与多块读,因此仅计算I/O次数 而不先考虑每次I/0的功率消耗。 单数据块读的功率代价即为单数据块读的总次数,得到 I/O类型为单数块读的功率代价: _lcost_pozoer=j0l_single_cost=singl R B—sum(6) I/O类型为多数块读的功率代价: 据处理量与处理方式的不同请求CPU执行一定数量的指令, 将SQL执行过程中消耗的CPU指令称为CPU总指令数 (CPU_sum),为方便计算,CPU总指令数(CPU_sum)以万为 计量单位。利用转换因子(设为Transfer1)把CPU功率代 价转换为I/O功率代价,实现CPU功耗与I/O功耗单位统 一。Transferl即为计算一次单数据块读的能耗与等价的 CPU指令数能耗的参数。 CPLLfost=CPU_sum/Transfer1 (9) 转换因子的计算公式如下: Transferl=CPU_watt*single.王{_B—poewr 010) 对于不同型号的CPU,其处理指令的能力存在较大差 异,这里的处理能力是指CPU的指令功率能力(CPU_watt, 即每瓦特可以完成的CPU指令数)。实验通过对数据库进行 初步的功耗建模,训练出CPU_watt的值。 统一代价单位的CPU功率代价: CPU_cost— 0议 r—CPU sum/(CPU_watt*single—R— B_pozeer) (11) 由此可得,I/0类型为单数块读的系统总动态功率代价: O。5T_power—Io_cost_power@CPU_cost_power —sin.gle—R—B—sum+CPU_sum/(CPU_ watt*single:R B 0伽r) (12) I/O类型为多数块读的系统总动态功率代价: C0ST_power—IO_cost_power+CPU ost_power =multi—R—B—sum*multi—R—B—power/ single_王 _B—power@CPU_sum/(CPU— watt*single_王 _B—pmoer) (13) 设数据库系统总功耗为Total—poewr,总能耗为Total— energy,系统的空闲功率(系统在无负载情况下的功耗)为 Idle_power,则系统总功耗与总能耗如下: Total_power=a。sT_】'ower+Idle_power (14) Total_energy=(COST_power+Idle__power)×J0Lcost_ time (15) 4模型设计与实现 将时间代价预测模型与功率代价预测模型合并即得到系 统总能耗预测模型。实验需求出CPU指令功率能力、一次单 数据块读的功率、一次多数据块读的功率。以i/o类型为单 数据块读的情况为例求导模型,利用式(12)、式(14)得到I/0 类型为单数据块读的系统总功耗如式(16)所示: Total_poller=(1/CPU_watt)*CPU +sin ̄e—R—B__ power*single_R—sum+idle_power(16) 设系统的总功率为Y,CPU_sum为X1,single_R—B—sum 为X ,得到如下多元线性回归方程式: 第1期 一 国冰磊,等:基于数据库负载的SQL能耗预测模型 (17) 2l1 + ×X1+屉×X2 为了保证SQL执行引擎按照实验设计的执行方式处理 数据,需要使用Oracle Hints让查询优化器改变执行计划并 让SQL执行引擎按照指定的执行计划执行SQL语句。但是 需要注意Hints失效的情况,实验中建立的索引必须为唯一 其中,X・,X2为自变量(回归变量),参数 , , 称为回归 系数,分别代表系统空闲功率、每万条CPU指令消耗的功率 及一次单数据块读的功率。 4.1 实验环境及数据采集 非空索引才能保证所有关于索引的操作有效。当存在索引范 围扫描、索引唯一扫描、索引完全扫描、由ROWID访问表等 实验通过双机通信的方式排除功率监控软件对采样数据 准确度的干扰。采用HOPI数字功耗仪,搭建能耗建模的实 验平台,实验功耗数据采样频率设置为每秒1次,如图1所 示。实验总体环境描述如表1所列。实验测试所用表为 EMP,DEPT,ADDRESS,SALARY,JOBTITLE,数据量分别 操作时会出现单数据块读操作,当存在全表扫描和快速完全 索引扫描时会出现多数据块读。实验设计了两组数据集,一 组用于训练出回归模型中回归系数的值,一组用于验证模型 的有效性与准确度。实验中训练集及测试集分别为100条和 为500万,100万,100万,100万,100万。 ⑧ 数据库服务器 囱 功率计 监控测量系统 图i能耗测试环境示意图 表1实验环境描述 项目 描述 操作系统 Windows 7 64位SP1(DirectX 11) 数据库管理系统 Oracle l1g 功耗数据测量 HOPI功率测试仪(USB智能版),功率误差值土n 01W,采 样频率为1~3s之间,单位为kwh 功耗数据采集 用电监测仪数据分析系统V1.0.1 实验机CU Intel(R)Core i7—4790@3.60GHz 实验机内存 4 GB(金士顿DDR3L1600MHz) 实验机硬盘 西数WDC WD10EZEX-21M2NA0(997GB/72OO转/分) Oracle系统中,系统处理能力是影响执行计划中操作代 价参数的重要因素,DBMS—STATS中有相应的存储过程 (GATHER_SYSTEM sTATS)来收集相关数据。这些系统 统计数据包括:CPU指令总数(CPU—sum)、单块读次数(sin— gle__R_B_sum)、多块读次数(multi_R..B_sum)、单块读I/O时 间(SRE lTIM)、多块读I/0时间(MREDTIM)以及MBRC (db_file_multiblock_read_count)即多数据块读时一次I/0读 取的数据块数量。其中SREADTIM和MREDTIM需要在负 载模式下多次收集。 为了避免驻留在共享池(shared_poo1)及缓存(BUFFER_ CACHE)中的数据影响其他SQL语句的执行,每提交一次 SQL语句到客户端(SQL Plus)都需清空缓存(BUFFER— CACHE)及共享池(shared_poo1)。同时为了减小误差,每条 SQL要在清空共享池和缓存的情况下连续执行100次。采 用PL/SQL+动态SQL使SQL语句无缝嵌套在PL/SQL代 码段。 实验中,系统需绕过缓存从磁盘直接读人数据块。因为 从磁盘读取数据块和从缓存读取数据块是两个不同的操作, 所以需要定期清除缓存,以保证与缓存相关的数据操作的统 计数据(db—block—gets—from_cache,physical—reads—cache及 consistent_gets_from_cache)为零。 10条。训练集实例与测试集实例分别如表2、表3所列。 表2实验所用训练集实例  表3实验所用测试集实例 4.2模型求解与验证 数据库系统的总功率由空闲功率与动态功率组成。空闲 功率是系统在无负载情况下的功率,动态功率是执行SQL语 句所需的额外功率。系统的动态功率反映了系统当前的资源 消耗情况。当系统处于空闲状态时,测得其平均功率为 30.92W。在DBMS独占系统资源的情况下,执行训练集(见 表2),收集统计数据,在Matlab中用多元线性回归方法进行 线性拟合,可得到如下公式: =38.6O+0.0386×X1+0.3733×X2 (18) 式(18)中的参数含义与式(17)中一致。理想情况下,常 数项应该等于空闲功率(30.92W),但拟合结果为38.60W,与 真实值的误差为19.9%。因测试时无法预知系统的活动,且 除CPU和磁盘外其他组件也存在功率消耗,其功率应高于纯 粹的空闲功率。在负载模式下收集的SREADTIM和 MREDTIM分别为3.59和11.15(单位为毫秒)。 由此可得,在I/O类型为单块读时系统总能耗预测模型 如下: Tomf_伽r髫 一(38.6O+0.0386*X1+0.3733*x2)* ( *3.59*1O一0) (19) 将所得的参数值带入式(13),设multi—R—B_sum为 , 同理可得在I/0类型为多块读时系统总能耗预测模型为: Total_energy=(38.60+X3*1.05+X1*0.0386)* (X3*11.15*1O一0) (20) 一212 计算机科学 2017正 为了简化数据库中不同种类查询负载能耗的预测过程, 在不区分I/O操作类型的情况下,利用式(19)、式(2O)得到通 用的系统总能耗预测模型: Totalenergy={138.574X2+ (O.1386X2+0.43o4X3)+ _均相对误差为9.27 。实验结果表明,本文模型能够较准确 地预测数据库系统的能耗以及系统重要组件(CPU、磁盘)的 能耗。 4.3 MBRC设置与模型稳定性 MBRC(dbfile_multibloekread___430.39 +11.7075嬲+1.3401爱}* 10一。(21) count)即执行一次多数 据块读操作从磁盘读取数据块的数量。通常情况下操作系统 的最大I/0会影响Oracle的MBRC设置,在最大i/o为 为验证模型的准确性,实验设计的测试集分别实现了单 数据块读和多数据块读的I/O操作,其SQI 语句实例如表3 所列。在两种不同的系统环境下对SQL语句的执行能耗进 行测量,分别运行了1O条测试语句。 (1)静态环境:系统上只运行DBMS,数据库系占系 统资源,SQL语句依次单个执行。此时多处理级(Multi—Pro— cessing Level,MPL)为1。 (2)动态环境:将MPL设置为2,即存在一个其他应用程 序与数据库系统共享系统资源。实验中运行.NET程序进行 模拟。测试结果如图2一图5所示。 图2静态环境下能耗预测图(I/O类型为单数据块读) 图3 动态环境下能耗预测图(I/0类型为单数据块读) 图4静态环境下能耗预测图(I/O类型为多数据块读) 图5动态环境下能耗预测图(I/O类型为多数据块读) 由图2和图3可知,在静态环境下(MPL一1),本文模型 比文献Elo,111中的模型对能耗预测的准确性更高。通过分 析实验数据可知,本文模型的优越性在于在估算CPU能耗时 所选取的CPU指令数为最小计量单位,其能更好地反应 CPU的能量消耗。在静态环境下的平均相对误差为5.73 , 绝对误差不超过9.6 。由图4和图5可知,在动态环境下 (MPL一2),由于系统活动情况无法预知,数据库系统与其他 程序竞争系统资源,在有些地方的绝对误差会超过2O ,平 1MB时,MBRC值为1MB/db_block—size。实验中,数据库服 务器设定的db_block_size(数据块大小,在数据库创建时被指 定,数据库一旦创建,其值就不可更改)的值为8kB,即上述实 验中系统允许的MBRC最大值为128。对比图2、图3与图 4、图5,发现多块读的模型精确度要略低于单块读的模型精 确度。为了找到其原因,利用10046事件,分析跟踪文件后发 现在设置完MBRC后系统在执行负载时并不一定能保证其 值的有效性,即实际执行过程中并不是每次都读取规定数量 的数据块,详细信息如表4所列。在不同数据库配置下,表4 中的数据存在不同程度的差异。为了考察MBRC的设置对 模型的影响,设实验中设置的MBRC值与实际一次读取数据 块总量之间的差值为d_value(Eo,1MB/db_block_size))。实 验中改变MBRC的值,分别在MBRC为4,5,10,20的情况下 对5张不同的表进行全表扫描,并计算不同MBRC设置下的 能耗误差,如图6所示。 表4 MBRC与d_value值 MBRC 一次I/o实际读取数据块数量(平均值) d__value(平均值) 1 2 3 4 5 SOL序号 图6 MBRC设置与能耗误差 结合表4与图6发现随着MBRC值的增大,理论上与实 际上一次I/0读取的数据块数之间的差值变大(即d—value 变大),能耗误差与MBRC值的设定之间没有明显的关系。 但是仔细观察图6发现在MBRC为10时,误差范围比较稳 定。由此推测,针对不同的数据库配置环境,存在一个对应的 MBRC值符合能耗预测模型稳定性的要求。但这一初步的 结果需要在不同数据库配置环境下进行大量的实验验证,本 文主要关注静态环境下的能耗建模,是否存在一个最优的 MBRC值也是我们未来研究的重点。 结束语本文提出的能耗预测模型不需单独测量系统各 组件的能耗,只需提取SQL执行计划中的相关资源消耗信息 及利用功率计测量出系统的整机功耗就可以实现对系统整体 能量消耗的预测。将复杂的能耗建模过程分解为两个相对简 单的预测模型(时间代价预测模型和功率代价预测模 型),降低了模型构建的复杂度。相比于传统数据库,能耗感 知的绿色数据库更能适应以节能为中心的全球低碳化趋势。 第1期 国冰磊,等:基于数据库负载的SQL能耗预测模型 213 基于本文提出的能耗预测模型,可以达到为数据库负载估算 I-8]GRAY J.Tape is dead,disk is tape,flash is disk,RAM locality is king1,0L].http://signallate.com/signallake.con/rinnovation/ Flash_能量消耗的目的,但是如何挑选节能的查询计划以及如何在 满足系统性能需求的同时最小化能耗,需要充分考虑性能与 功率之间的折中问题。 is_Good.pdf. [9]WANG Jiang-tao,LAI Wen-yu,MENG Xiao-feng.Flash-Based 本文下一步工作要点: atDabase:Studies,Techniques and Forecasts[J].Chinese Jour— nal of Computers,2013,36(8):1549—1567.(in Chinese) (1)以关系型数据库为基础,进一步研究MBRC值与模 型稳定性的关系及在不同的数据库配置环境下是否存在一个 最优的MBRC值。 (2)将本文提出的能耗预测模型扩展到动态环境下 王江涛,赖文豫,孟小峰.闪存数据库:现状,技术与展望[J].计 算机学报,2013,36(8):1549—1567. [1O-I RODRIGUEZ-MARTINEZ M,VALDIVIA H,SEGUEL J, et a1.Estimating Power/Energy consumption in Database Serv— (MPL>2),研究如何进一步提高模型的精确度与健壮性。 (3)以本文提出的能耗预测模型为基础,研究如何捕获系 ers[J].Procedia Computer Science,2011,6(1):112—117. [11]XU Z.Building a power-aware database management system[c]∥ Proceedings of the Fourth SIG~尬lD PhD Workshop on Innova— tive Database Research.ACM,2010:1-6. 统在动态情况下对性能退化所能容忍的最大限度,进而指导 查询优化器挑选性能较优且功耗低的节能查询计划。 [12]XU z,TU Y C,WANG X.Exploring power-performance tra- 参考文献 Eli POESS M。NAMBIAR R O.Energy cost,the key challenge of today’s data centers:a power consumption analysis of TPC-C deoffs in database systems1,C]}}2010 IEEE 26th International onference on Data EngiCneering(ICDE).IEEE,2010:485—496. [13]XU Z,TU Y C,wANG X PET:reducing database energy cost via query optimization[J].Proceedings of the VLDB Endow— ment,2012,5(12):1954-1957. results1,J].Proceedings of the VLDB Endowment,2008,1(2): 1229—1240. r14]TSIROGIANNIS D,HARIZ0P0UL0S S,SHAH M八Analy— E2]KUI ̄P P.Green Computing[J].Communications of the ACM, 2008,51(10):l1—13. zing the energy efficiency of a database server[c]∥Proc.of SIGMOD’10 Indianapolis.IN,USA,2010:231—242. [3]HARIZOPOULOS S,SHAH M,MEZA J,et a1.Energy efficien— cy:The new holy grail of data management systems research ,115]JIN Pei-quan,XING ao-Bping,JIN Yong,et a1.Survey on ener— gy-aware green databases[J].Journal of Computer Application, 2014,34(1):46—53.(in Chinese) EJ].arXiv preprint arXiv:0909.1784,2009. [4]BRILL K G.Data center energy efficiency and productivity[J]. the Uptime Insititute-White Paper,2007(5):176—184. 金培权,邢宝平,金勇,等.能耗感知的绿色数据库研究综述[J]. 计算机应用,2014,34(1):46—53. E5]LIAO Bin,YU Jiong,ZHANG Tao,et a1.Energy-Efficient A1一 [16]YANG Liang-huai,ZHU Hong-ya ̄Whole system realtime power profiling and modeling[J].Journal of Computer Science, 2014,41(9):32—37.(in Chinese) gorithms for Distributed File System HDFS[J-1.Chinese Journal of Computers,2013,36(5):1047—1064.(in Chinese) 廖彬,于炯,张陶,等.基于分布式文件系统HDFS的节能算法 杨良怀,朱红燕.整机系统实时功率剖析与建模[J].计算机科 学,2014,41(9):32—37. 研究I-J].计算机学报,2013,36(5):1047—1064. -16]LIAO Bin,YU Jiong,SHUN Hua,et a1.Energy-Efficient Algo— rithms for Distributed Storage System Based on Data Storage [17]GUO Big-nlei,YU Jiong,LIAO Bin,et a1.SQL Energy COn- sumption Modeling and Optimization Research[J].Journal of Computer Science,2015,42(10):202—207.(in Chinese) Structure Reeonfiguration[J].Journal of Computer Research and Development,2013,50(1):3-18.(in Chinese) 国冰磊,于炯,廖彬,等.SQL能耗建模及优化研究[J].计算机 科学,2015,42(10):202—207. 廖彬,于炯,孙华,等.基于存储结构重配置的分布式存储系统节 能算法[J].计算机研究与发展,2013,50(1):3-18. E7]uA0 Bin,YU Jiong,ZHANG Tao,et a1.Novel Energy-efficient Metadata Dynamic Modeling and Management Approach for ,118]LANG W,PATEL J.Towards eco—friendly database manage ment systems[J].arXiv preprint arXiv:0909.1767,2009. [19]ZHU Yi,XIAO Fang-xiong,ZHOU Hang,et a1.Method for Modeling and Analyzing Software Energy Consumption of Em— Cloud Storage System[J].Journal of Chinese Computer Sys— terns,2013,10(34):2407—2412.(in Chinese) bedded Real-Time System[J].Journal of Computer Reserach and Development,2014,51(4):848—855.(in Chinese) 廖彬,于炯,张陶,等.一种适应节能的云存储系统元数据动态建 模与管理方法[J].小型微型计算机系统,2013,10(34):2407— 24】2. 祝义,肖芳雄,周航,等.一种嵌入式实时系统软件能耗建模与分 析的方法[J].计算机研究与发展,2015,51(4):848—855. (上接第198页) [18]LI K,SHAN Z G,WANG J,et a1.Overview on Major Research Shanghai Scientific and Technological Education Publishing House,1996.(in Chinese) Plan of Trustworthy Software[J].Bulletin of National Natural ciSenceFoundation ofChina,2008,22(3):145—151.(inChinese) 杨路,张景中,侯晓荣.非线性代数方程组与定理机器证明[M]. 北京:上海科技教育出版社,1996. 李克,单志广,王戟,等.可信软件基础研究重大研究计划综述 [J].中国科学基金,2008,22(3):145—151. [2O]YANG L,XIA B c.Inequality Machine Proving and Automated Discovery[M].Beijing:ciSence Press,2008.(in Chinese) 杨路,夏壁灿.不等式机器证明与自动发现[M].北京:科学出版 社,2008. [19]YANG L,ZHANG J Z,HOU X R.Nonlinear Systems of Alge— braic Equations and Automated Theorem Proving[M].Beijig:n 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务