数据库引擎:绿色的演变外文翻译资料
2022-12-12 17:06:42
英语原文共 32 页,剩余内容已隐藏,支付完成后下载完整资料
数据库引擎:绿色的演变
摘要
内容:
信息技术消耗世界发电量的10%,有助于二氧化碳排放和高能耗成本。数据中心,特别是数据库,使用这种能量的23%。因此,构建节能(绿色)数据库引擎可以减少能源消耗和二氧化碳排放。
目标:
了解驱动数据库能源消耗和执行时间的因素。
方法:
我们通过两个MySQL数据库引擎InnoDB和MyISAM在40个版本中进行了能源消耗的实证案例研究。我们检查了四种软件指标与能耗和执行时间的关系,以确定哪些指标反映了数据库的绿色和性能。
结果:
我们的分析表明,随着数据库的发展,数据库引擎的能源消耗和执行时间增加。此外,在88%的案例中,代码线的度量与能源消耗和执行时间呈强烈的相关关系。
结论:
我们的发现为从业者和研究人员提供了见解。数据库管理员可以使用它们来选择MySQL数据库引擎的快速,绿色版本。 MySQL数据库引擎开发人员可以使用软件度量来评估产品的绿色和性能。研究人员可能会使用我们的研究结果进一步开发新的假设或建立模型来预测数据库的绿色和性能。
1介绍
信息技术(IT)能源需求很大。 文献显示,IT技术每年消耗1500 Terawatt(TWh)(或世界能源发电量的10%)[1]。 随着Cloud范式的采用,数据中心的IT消耗总量达到23%(350 TWh [1])。 仅在美国,预计数据中心的能源消耗将从2013年的91 TWh增长到2020年的139 TWh,能源账单从90亿美元上升到137亿美元。
不仅能源消耗昂贵,而且影响环境。二氧化碳在二氧化碳的平均每月二氧化碳浓度在2015年达到百万分之400,是过去八十万年来最高的[3]。据估计,世界能源二氧化碳排放量将从2012年的323亿吨增加到2020年的356亿吨,到2040年将达到432亿吨[4]。到2013年,美国的数据中心排放量达到了9700万吨二氧化碳排放量,到2020年排放量将达到1.47亿吨[2]。环境可持续性研究侧重于影响环境和人类的经济,环境,社会和人类驱动因素。在这方面,一般来说,IT和软件尤其可能通过开发环保系统来促进环境的可持续性。这可能以不同的方式发生,例如通过减少使用的资源有效地使用能量,从而导致减少的CO2排放。此外,IT流程可以做得更多通过减少公司和个人的能源消耗和负面排放可持续发展。绿色IT专注于研究这些问题。正式地,绿色IT是研究和实践有效利用计算资源来减少对环境的负面影响[5],可以应用于数据中心,移动计算和嵌入式系统等各种高科技领域[6]。然而,在本文中,我们将重点关注数据中心领域。
显然,数据中心的能量被硬件所消耗。然而,由于硬件由软件驱动,软件也负责消耗能量[6]。软件方面比硬件方面受到的关注较少,并且提出了一些解决方案(如能源测试套件[7,8,9])来了解能源效率。
软件制造商现在更加注重使企业软件更节能(更环保)。这不仅是来自客户的外部请求(需要降低其数据中心的主要成本),而且也是来自软件制造组织的要求[10]。大多数软件制造商(例如Amazon,Google,IBM,Microsoft,Oracle和SAP)通过云端使用平台即服务(PaaS)或软件即服务(SaaS)交付模式来提供他们的产品。内部技术运营团队管理PaaS和SaaS产品,也为客户的合唱增添了声音,要求降低内部数据中心的能源消耗。
软件开发团队也可能受益于使自己的软件更环保。根据文献[11,12]和作者的经验,采用持续的交付和集成实践,例如夜间构建和自动单元和回归测试,每个产品需要数百个构建和测试服务器。需要这种计算能力来在多个平台上构建和运行成千上万个测试套件,以支持给定产品的多个版本(由开发团队维护)。因此,通过使自己的软件更环保,开发商可以通过减少内部服务器场的能源费用来降低开支。
数据库被认为是软件世界的支柱;因此,他们对整个软件能耗的很大一部分负责。因此,我们专注于理解通过尝试识别影响数据库能耗和执行时间的主要因素,使数据库更有效(更环保)。此外,许多数据库引擎(特别是关系型数据库引擎)是成熟的产品,已经开发了几十年(例如,第一个Oracle数据库在1978年发布,1983年IBM DB2 - 和1995年发布)。这些产品的多个版本由开发团队提供和维护。因此,了解数据库引擎绿色从发布到发布的过程非常重要。
研究目标:我们的目标是确定数据库引擎的能耗和执行时间如何在数据库从一个发行版发展到另一个发行版时发生变化,以及了解这些更改如何与某些数据库关联属性(如原始数据大小)相关,数据库引擎
类型(MyISAM / InnoDB)和数据库内存大小。此外,本研究调查了可以对数据库中可持续发展产生直接影响的软件指标,这些数据表示其对能源消耗和执行时间的影响。通过使用这些指标,软件开发人员可以评估绿色度
通过测量其代码的特性,从而消除了对软件产品执行参考工作量的需要,并直接测量能耗(反过来又节省了时间和资源)。为了实现我们的研究目标,我们专注于回答两个研究问题:
RQ1随着产品的成熟(从一个版本到另一个版本),数据库引擎的能耗和执行时间如何变化?
RQ2哪些软件指标反映了能源消耗和执行时间?
回答RQ1将帮助我们确定导致绿色和希望快速数据库的因素。回答RQ2将帮助我们构建可以根据可以从源代码(如代码大小或代码流失指标)轻松提取的软件度量来预测软件绿色度和性能的模型。这些信息对于从业者来说应该是感兴趣的,因为苹果,IBM和微软等软件供应商正在寻求具有较低能耗和执行时间的可持续性产品[13,14,10]。研究人员也应该感兴趣,因为这些信息可以用来建立软件能耗和性能的通用模型。
为了回答这些研究问题,在本文中,我们研究了MySQL数据库的两个数据库引擎(MyISAM和InnoDB)的40个不同版本(2005年2月和2014年之间)的能耗和执行时间。 MySQL是世界上最常用和最流行的开源数据库[15]。我们选择MySQL作为正在研究的软件,因为MySQL数据库是一个成熟的产品(自1995年开发以来),大量(大约100万行代码)代码库正在积极开发。这给了我们足够的数据来研究产品的演变。
为了回答RQ1,我们研究了正在研究的所有MySQL版本3的能耗(或执行时间)之间的关系。为了回答RQ2,我们考察了一方的软件指标与另一方的能耗(或执行时间)之间的关系。
这种类型的工作需要构建一个框架,以便自动化所有必要的过程,如数据库安装,从版本升级到执行工作负载,从特殊测量计读取和收集测量结果,并记录所有使用的MySQL版本的测量结果除了为所有实验数据结果创建数据库。它还需要构建一个从MySQL代码库提取软件指标的系统,以便建立一方面的指标与另一方的能耗(或执行时间)之间的关系。所有这些要求在这项工作中得到解决。
这是第一项研究,以检查不同的MySQL数据库版本与其能耗以及执行时间之间的关系。这项研究取决于以前的研究[13,14],它已经检查了两种不同版本的Firefox浏览器之间的关系及其性能。此外,据我们所知,这项工作是第一项研究,以建立MySQL数据库的能源消耗与其执行时间与软件度量(即代码行(LOC),代码行变更(LOCC))之间的联系。 ,和传统/修改的环状复杂性(TCC / MCC))。
本文的其余部分的结构如下。相关工作在第2节中讨论。我们的实验方法在第3节中进行了说明。第4节提供了我们实验的结果。第5节给出了有效性的威胁。最后,第6节总结了论文。
2相关工作
本节的结构如下。 第2.1节提供了关于计算机部件和操作系统(OS)级软件的能源相关研究。 第2.2节讨论了与能源有关的基准和框架。 相关数据库相关研究见2.3节。 最后,第2.4节显示了与采矿软件仓库和能耗数据相关的研究。
2.1能耗:硬件和操作系统级软件
一些研究人员专注于IT中的能源消耗。 Delaluz 等人[16]对软件和硬件系统进行了全面的研究,以确定DRAM模式控制能力对节能的益处。 他们针对移动和计算环境节省了一个重要问题,特别是专注于内存系统,该系统在忽略输入/输出过程时消耗系统消耗的完整能耗的90%[16]。
Tiwari 等人[17]介绍了单个CPU的功耗。 他们定义了基于评估的指令级功率分析方法,提供了一种测量软件功耗的准确实用方法,并描述了一种基于评估的指令级功率分析方法,可以有效地分析软件功耗。Mittal等 [18]提出了一个能源模拟工具,允许开发人员估计他们的移动应用程序在他们的开发工作站本身的能源使用。
有关设备功耗的几项研究。Bircher等 [19]根据处理器性能事件,为整个系统生成了功率模型。Greenwalt 等 [20]测量和建模硬盘驱动器的功耗。硬盘状态模型提供了设计有效的电源管理系统所需的定量数据和洞察力。Stemm等[21]研究了网络接口的两种优化(即传输级和应用级),以降低其能耗。
Li等[22] 对作为电源管理技术的磁盘驱动器的成本和收益进行了定量分析。功耗测量运动背后的主要思想是采取建议或采取的行动,以找出任何不良后果的解决方案。Selby等 [23]应用方法来分析全局变量使用与软件维护所需的功能之间的关系,并检查了电力使用优化的效果。 Fei等 [24]采用源代码更改技术来减少伴随应用/ OS连接的能源开销,并修改源代码更改和编译器优化,以减少功耗。 Feng等[25] 介绍了一个框架,用于研究32个节点Beowulf集群上NAS并行基准测试的功耗性能。
2.2基准和框架
一些研究人员集中在基准和检查功率测量的想法上。 Asmel等人[26] 描述了一种近似于软件能耗的工具,以帮助有关消费者对他们使用的软件做出知识渊博的决策。 Gurumurthi等人 [27]引入了一个完整的系统功率模拟器,代表CPU,存储器的层次结构和低功耗磁盘子系统,并计算双方应用程序和操作系统的电源性能。
研究人员还制定了能量消耗测量和测试框架。 例如,Noureddine等人[7]构建了运行时能量监控框架,可以轻松地报告系统流程的能耗。 Wilke等人 [8]创建了一个通用的软件能量补丁和测试框架。
2.3数据库相关研究
研究人员研究了数据库引擎设计的变化,但并不考虑其能耗。 例如,Shang等[28] 调查了通过PostgreSQL数据库引擎和Hadoop数据处理框架的多个版本传递给系统管理员的传达信息量的变化。
研究人员设计了能源感知数据库管理系统的原型。 Chen等[29] 设计的ReinDB数据库引擎,在可再生和不可再生能源存在的情况下,分发数据库工作量以最大限度地减少不可再生能源的使用。 Liu等[30] 为发送到数据库引擎的查询的执行计划创建优化器; 优化器最小化给定查询的能量消耗。 除了这些原型之外,事务处理性能委员会还制定了衡量数据库工作负载能耗的指导原则[9]。
2.4矿业软件资源库和能源消耗
最接近我们的工作是[13,14,31]。 Gupta等人 [31]研究侧重于将采矿软件仓库(MSR)[32]技术与功率性能相结合,并从软件工程的角度对能源意识问题提出了第一个研究。 [31]的作者介绍了一种在运行Windows Phone 7的移动设备上收集和分析电源数据的方法。他们的方法描述和量化功耗,检测功耗的差异并预测功耗。
[31]的工作是对我们的补充,因为它侧重于在相同的软件(Windows Phone 7)中检查不同模块(模块是程序的一部分)中的功耗,并确定哪个模块消耗最多的功率。
此外,它集中在确定某些模块的典型能量形状模式。 另一方面,我们专注于同一产品(MySQL)的多个版本。 另外,我们也专注于了解能耗(或执行时间)与MySQL产品开发之间的关系。
Hindle [13,14]通过研究多个版本的Firefox Web浏览器,结合MSR研究和能源消耗,了解Web浏览器的多个模块的特征能量消耗模式。 他还研究了LOC和LOCC软件度量与能耗之间的关系。 这些工作是对我们的补充,因为我们专注于不同的产品(数据库而不是Web浏览器),并研究了多个软件度量(LOCC,MCC和TCC以及LOC)对能源消耗和执行时间的影响
上述研究展示了软件在IT各个领域的功耗研究的重要性。
3.方法与实验
在构建实验时,我们遵循了Wohlin等人的指导方针。 [33]一般和Hindle [13,14],特别是轻微的变化。 第3.1节给出了捕获能源,耗时和系统统计的实验设计。 提取软件度量 - 在3.2节; 和数据分析 - 在3.3节。
3.1实验设计
产品选择以及正在研究的一组版本的选择,在3.1.1节中有描述; 测试台设置见3.1.2节; 我们的测试用例在3.1.3节中讨论过; 产品配置见3.1.4节; 测试自动化在3.1.5节描述; 第3.1.6节提供仪器和测量的细节; 以及对测试用例测量的基准能耗的影响 - 在3.1.7节中。
3.2研究硬件
如第1节所述,我们正在研究的软件是MySQL数据库的两个数据库引擎(MyISAM和InnoDB)的40个不同版本(2005年和2014年之间)。 表1显示了我们实验中使用的MySQL主要版本的列表以及正在研究的次要MySQL版本列表。 发布的运输时间表如图1所示。
我们选择MySQL作为正在研究的软件,因为MySQL数据库是一个成熟而受欢迎的产品[15](自1995年开始开发),大量(大约100万行代码)代码库正在积极开
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[27211],资料为PDF文档或Word文档,PDF文档可免费转换为Word