一种面向数据库应用的数据搬移的能耗特征化方法及系统技术方案

技术编号:22329873 阅读:28 留言:0更新日期:2019-10-19 12:14
本发明专利技术涉及一种面向数据库应用的数据搬移的能耗特征化方法及系统,其特征在于,包括以下内容:1)特征化数据库的总能耗,得到数据库不同部件上的数据搬移事件发生次数与单位能耗之间的线性关系;2)根据基准测试集以及得到的线性关系,测量load指令仅访问单一缓存层的基础能耗;3)根据测量的基础能耗,量化数据库不同部件上的数据搬移事件的单位能耗,完成数据库数据搬移的能耗特征化,本发明专利技术可以广泛应用于数据库领域中。

【技术实现步骤摘要】
一种面向数据库应用的数据搬移的能耗特征化方法及系统
本专利技术是关于一种面向数据库应用的数据搬移的能耗特征化方法及系统,属于数据库领域。
技术介绍
能耗特征化是设计高能效系统的基础工作,已有工作从两方面进行研究:1)数据库的能耗评估,针对数据库的能耗评估,目前仅集中在主部件的能耗分析,即CPU、主存和硬盘。已有工作分析了不同CPU和硬盘类型对数据库能耗的影响,并没有考虑主存的影响,结论显示CPU是主要的能耗瓶颈。进一步的工作分析了内存数据库在更为细粒度部件上的能耗,考虑了主存、缓存和ALU(算术逻辑单元)等部件,结论显示主存是主要的能耗瓶颈,然而该分析的结论是建立在混合数据计算所消耗的能量和硬件部件固有的能耗上。事实上,数据计算所消耗的能量才是一个数据库应用真实的能耗,硬件部件固有的能耗即便不运行任何数据库应用也是要消耗的。然而上述方法均不能分析数据计算过程中数据在微部件搬移的能耗特点。2)数据搬移的能耗评估,量化数据在不同缓存层频繁移动的能耗。已有工作针对移动平台评估手机应用的不同缓存层的能耗,移动平台ARM的缓存层设计与x86平台完全不同,因此其量化和分析方法应用于标准的数据库应用不同。此外,针对科学计算任务在x86平台下的能耗特征化方法,使用外置电表测量基本的能耗数据,外置电表的测量极易引入很大的能耗误差,例如CPU风扇能耗和主板能耗等。另外,科学计算任务与数据库应用有本质差别,因此用于科学计算任务的能耗特征化方法不能准确地描述数据库应用的能耗特点。上述方法均不能用于准确分析数据库应用的能耗特点。数据库作为一种需要长期运行的计算机软件服务,其能耗特征化对快速分析数据库应用的能耗瓶颈是非常必要的,有助于整个计算机系统的节能。然而,上述提出的方法均不能特征化数据库应用中计算能耗在不同微部件的能量消耗。
技术实现思路
针对上述问题,本专利技术的目的是提供一种能够特征化数据库应用中计算能耗在不同微部件的能量消耗的面向数据库应用的数据搬移的能耗特征化方法及系统。为实现上述目的,本专利技术采取以下技术方案:一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,包括以下内容:1)特征化数据库的总能耗,得到数据库不同部件上的数据搬移事件发生次数与单位能耗之间的线性关系;2)根据基准测试集以及得到的线性关系,测量load指令仅访问单一缓存层的基础能耗;3)根据测量的基础能耗,量化数据库不同部件上的数据搬移事件的单位能耗,完成数据库数据搬移的能耗特征化。进一步地,所述步骤1)的具体过程为:1.1)对于任意部件上的计算任务t,定义计算任务t的能耗特征向量E(t):E(t)=(EL1D,EReg→L1D,EL2,EL3,Emem,Epf,Estall,Eother)其中,EL1D为L1D缓存向寄存器搬移数据的能耗;EL2为L2缓存向寄存器搬移数据的能耗;EL3为L3缓存向寄存器搬移数据的能耗;Emem为主存向寄存器搬移数据的能耗;EReg→L1D为store指令执行导致的数据从寄存器向L1D缓存搬移的能耗;Epf为数据预取的能耗;Estall为CPU因数据搬移而停顿产生的能耗;Eother为除上述因数据搬移产生能耗的剩余能耗;1.2)对于任意部件上的计算任务t,定义计算任务t的性能特征向量P(t):P(t)=(NL1D,NReg→L1D,NL2,NL3,Nmem,Npf,Nstall)其中,NL1D、NL2、NL3和Nmem分别为各级缓存和主存load指令的命中次数;NReg→L1D为store指令访问次数;Npf包括和为单位数据行从L2缓存预取L1D缓存的访问次数,为单位数据行从L3缓存预取到L2缓存的访问次数;Nstall为停顿周期数;1.3)假设集合components={L1D,L2,L3,mem},对于若x部件的速度大于y部件的速度,则记为x>y,满足如下关系:其中,Ex为x部件发生数据搬移的能耗;Ei为数据从i部件仅向更上一层移动的单位能耗;Nx为x部件上发生数据搬移的次数;1.4)假设集合events={Reg→L1D,pf,stall}为一个事件集合,包括三种类型的事件,若则:Ee=ΔEeNe其中,Ee为e事件发生的总能耗;ΔEe为一个事件发生后的单位能耗;Ne为e事件的发生次数。进一步地,所述步骤2)的具体过程为:2.1)建立基准测试集;2.2)根据建立的基准测试集以及得到的数据库不同部件上的数据搬移事件发生次数与单位能耗之间的线性关系,测量得到单位数据从L1D缓存向寄存器搬移的基础能耗EL1D、CPU因数据搬移而停顿产生的基础能耗Estall、数据从L2缓存、L3缓存和主存向寄存器搬移的基础能耗EL2、EL3、Emem以及数据从寄存器向L1D缓存搬移的基础能耗EReg→L1D。进一步地,所述基准测试集包括B_L1D基准测试集、B_L2基准测试集、B_L3基准测试集、B_Mem基准测试集和B_Reg2L1D基准测试集,其中,所述B_L1D基准测试集包括B_L1D_list基准测试集和B_L1D_array基准测试集。进一步地,所述步骤2.1)的具体过程为:2.1.1)针对每一基准测试集,分别申请一块大小为s的内存空间,并设定对应的重复访问次数t;2.1.2)将每一内存空间均通过随机顺序采用链表进行连接;2.1.3)遍历链表,每次循环均利用指针追踪读取链表数据t次。进一步地,所述B_L1D基准测试集中初始化的s值小于单个逻辑核心的L1D缓存大小;所述B_L2基准测试集、B_L3基准测试集和B_Mem基准测试集中初始化的s值大于L1D缓存容量而小于相应的L2缓存、L3缓存和主存容量;B_Reg2L1D基准测试集中初始化的s值小于单个逻辑核心的L1D缓存大小。进一步地,所述步骤2.2)的具体过程为:2.2.1)对于B_L1D_array基准测试集,每一数组元素的地址均为已知的且仅访问L1D缓存,CPU以超标量流水线方式执行,每周期发射两条load指令,因此,B_L1D_array基准测试集的能耗全部为EL1D;2.2.2)对于B_L1D_list基准测试集,采用链表遍历数组,能耗为EL1D和Estall;使用运行平均功率监控,观察核心域级别的能耗;2.2.3)对于B_L2基准测试集、B_L3基准测试集和B_Mem基准测试集,均采用链表随机遍历数组,通过调整内存空间的大小,使得B_L2基准测试集的能耗为EL2和Estall,B_L3基准测试集的能耗为EL3和Estall,B_Mem基准测试集的能耗为Emem和Estall;对于B_L2基准测试集,使用运行平均功率监控观察核心域级别的能耗;对于B_L3基准测试集,使用运行平均功率监控观察处理器域级别的能耗;对于B_Mem基准测试集,使用运行平均功率监控同时观察处理器域和主存域级别的能耗;2.2.4)对于B_Reg2L1D基准测试集,在B_L1D_list基准测试集的基础上加入L1缓存的写操作,使得B_Reg2L1D基准测试集的能耗为EReg→L1D、EL1D和Estall;使用运行平均功率监控观察核心域级别的能耗。进一步地,所述步骤3)的具体过程为:3.1)根据测量的数据从L1D缓存向寄存器搬移的基础能耗EL1D,量化数据从L1D缓存向寄存器搬移的单位能耗EL本文档来自技高网
...

【技术保护点】
1.一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,包括以下内容:1)特征化数据库的总能耗,得到数据库不同部件上的数据搬移事件发生次数与单位能耗之间的线性关系;2)根据基准测试集以及得到的线性关系,测量load指令仅访问单一缓存层的基础能耗;3)根据测量的基础能耗,量化数据库不同部件上的数据搬移事件的单位能耗,完成数据库数据搬移的能耗特征化。

【技术特征摘要】
1.一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,包括以下内容:1)特征化数据库的总能耗,得到数据库不同部件上的数据搬移事件发生次数与单位能耗之间的线性关系;2)根据基准测试集以及得到的线性关系,测量load指令仅访问单一缓存层的基础能耗;3)根据测量的基础能耗,量化数据库不同部件上的数据搬移事件的单位能耗,完成数据库数据搬移的能耗特征化。2.如权利要求1所述的一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,所述步骤1)的具体过程为:1.1)对于任意部件上的计算任务t,定义计算任务t的能耗特征向量E(t):E(t)=(EL1D,EReg→L1D,EL2,EL3,Emem,Epf,Estall,Eother)其中,EL1D为L1D缓存向寄存器搬移数据的能耗;EL2为L2缓存向寄存器搬移数据的能耗;EL3为L3缓存向寄存器搬移数据的能耗;Emem为主存向寄存器搬移数据的能耗;EReg→L1D为store指令执行导致的数据从寄存器向L1D缓存搬移的能耗;Epf为数据预取的能耗;Estall为CPU因数据搬移而停顿产生的能耗;Eother为除上述因数据搬移产生能耗的剩余能耗;1.2)对于任意部件上的计算任务t,定义计算任务t的性能特征向量P(t):P(t)=(NL1D,NReg→L1D,NL2,NL3,Nmem,Npf,Nstall)其中,NL1D、NL2、NL3和Nmem分别为各级缓存和主存load指令的命中次数;NReg→L1D为store指令访问次数;Npf包括和为单位数据行从L2缓存预取L1D缓存的访问次数,为单位数据行从L3缓存预取到L2缓存的访问次数;Nstall为停顿周期数;1.3)假设集合components={L1D,L2,L3,mem},对于若x部件的速度大于y部件的速度,则记为x>y,满足如下关系:其中,Ex为x部件发生数据搬移的能耗;ΔEi为数据从i部件仅向更上一层移动的单位能耗;Nx为x部件上发生数据搬移的次数;1.4)假设集合events={Reg→L1D,pf,stall}为一个事件集合,包括三种类型的事件,若则:Ee=ΔEeNe其中,Ee为e事件发生的总能耗;ΔEe为一个事件发生后的单位能耗;Ne为e事件的发生次数。3.如权利要求2所述的一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,所述步骤2)的具体过程为:2.1)建立基准测试集;2.2)根据建立的基准测试集以及得到的数据库不同部件上的数据搬移事件发生次数与单位能耗之间的线性关系,测量得到单位数据从L1D缓存向寄存器搬移的基础能耗EL1D、CPU因数据搬移而停顿产生的基础能耗Estall、数据从L2缓存、L3缓存和主存向寄存器搬移的基础能耗EL2、EL3、Emem以及数据从寄存器向L1D缓存搬移的基础能耗EReg→L1D。4.如权利要求3所述的一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,所述基准测试集包括B_L1D基准测试集、B_L2基准测试集、B_L3基准测试集、B_Mem基准测试集和B_Reg2L1D基准测试集,其中,所述B_L1D基准测试集包括B_L1D_list基准测试集和B_L1D_array基准测试集。5.如权利要求4所述的一种面向数据库应用的数据搬移的能耗特征化方法,其特征在于,所述步骤2.1)的具体过程为:2.1.1)针对每一基准测试集,分别申请一块大小为s的内存空间,并设定对应的重复访问次数t;2.1.2)将每一内存空间均通过随机顺序采用链表进行连接;2.1.3)遍历链表,每次循环均利用指针追踪读取链表数据t次。6.如...

【专利技术属性】
技术研发人员:孟小峰杨晨
申请(专利权)人:中国人民大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1