没有合适的资源?快使用搜索试试~ 我知道了~
软件X 12(2020)100512原始软件出版物PowTr An:用于功率跟踪分析Luca Arditoa, Marco Torchianoa,Riccardo Coppolaa,Giulio Antonianoba意大利都灵理工大学控制和计算机工程系b加拿大蒙特利尔理工学院信息和逻辑工程系ar t i cl e i nf o文章历史记录:2020年1月31日收到收到修订版2020年5月12日接受2020年5月14日保留字:能耗功率跟踪分析R语言a b st ra ct能源效率是软件越来越重要的非功能属性,尤其是在移动或物联网设备上运行时。工程方法要求在执行计算任务时对软件的能耗进行可靠的测量。在本文中,我们描述了PowTr An,一个R包,支持执行软件任务的设备的电源跟踪分析。该工具分析带有嵌入式标记的痕迹,这是一种非侵入性技术,可以根据整个设备消耗的能量来衡量软件效率。该软件包有效地处理大功率跟踪,检测工作单元,并计算正确的能量测量,即使在嘈杂的条件下,如多个进程同时工作所造成的。PowTr An在实际条件和多种硬件配置下的PowTr An还提供了数据可视化功能,帮助用户评估测量的一致性,并有助于突出显示可能的能量异常值。©2020作者由爱思唯尔公司出版这是CC BY-NC-ND下的开放获取文章许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。代码元数据当前代码版本v01用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2020_25代码海洋计算胶囊https://codeocean.com/capsule/0198017法律代码许可证GNU GPL v3.0使用git的代码版本控制系统软件代码语言、工具和服务使用R、Java编译要求,操作环境依赖性Java 1.8+,R如果可用,链接到开发人员文档/手册https://github.com/SoftengPoliTo/powtran问题支持电子邮件marco. polito.it1. 动机和意义软件程序由在底层硬件上运行的指令序列组成[1]。设备由于其执行的软件而消耗能量。能耗可以被视为软件初始阶段的非功能需求,也可以被视为生产阶段的测量和监控属性。对于笔记本电脑、平板电脑和智能手机等便携式设备,*通讯作者。电子邮件地址:luca. polito.it(L.Ardito),marco. polito.it(M.Torchiano),riccardo. polito.it(R.Coppola),antoniol@ieee.org(G. 安东尼)。https://doi.org/10.1016/j.softx.2020.100512寿命,导致用户体验的可能降级[2],因此一些用户可能更喜欢节能应用而不是耗电应用。在诸如数据中心或计算密集型设备(例如,比特币矿工实施的那些[3]),能源消耗增加了电力成本,这导致了负面的环境影响。测量和降低能耗的挑战通常以特别的方式解决,如Mochocki等人所示[4]的文件。虽然可以通过电池放电或CPU负载数据估计能耗,但准确的评估必须基于可以实时或离线链接到软件的物理测量。我们开发了一个名为PowTr An的软件包(即,POWer TRACE分析器),该分析器利用离线方法收集与任务相关的数据,2352-7110/©2020作者。由爱思唯尔公司出版。这是一篇开放获取的文章,使用CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx2L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号图1.一、 能量研究工作流程改编自[5]。由功率计记录的轨迹。收集的数据被不同的测量设备使用,例如HOBO UX 120 -018插塞负载数据记录仪1或RAPL。2当在设备上执行物理功率测量时,区分由于测试中的软件而引起的消耗与同时在该设备上运行的其他进程是至关重要的在实践中,为了衡量应用在执行特定任务时的能耗,有必要确定任务所占的功率比例,这需要以下方法:1. 收集能量数据(即,能量轨迹),2. 识别轨迹中的相关区域,(即,当应用程序或任务正在运行时),3. 通过将应用或任务消耗与来自操作系统和其他应用的后台贡献分离,来估计应用或任务消耗。这个过程需要一个精确的方法来协调物理功率测量与任务执行时间。本文所描述的软件支持的方法包括在功率迹线中生成区别性特征来标记任务执行。虽然其他方法也是可能的,例如时间同步,但标记的使用是直接、精确的,并且不需要额外的配置。本文有四个主要目标:(i)描述PowTr An软件及其如何利用离线功率跟踪分析,(ii)将PowTr An与其他现有的功率分析框架进行比较,以及它们如何解决功率跟踪分析中的几个已知问题,(iii)描述软件如何集成到R生态系统中的分析工作流程中,以及(iv)提供使用软件与真实世界算法的示例。2. 背景和相关工作为了更好地说明PowTr An的作用,我们首先提供了根据[5]改编的功效评估参考工作流程的上下文 如图 它包括四个阶段:(i)目标,研究问题和背景的定义,(ii)如何,程序,测量方法和分析方法的定义,(iii)做,设备的设置和测量的执行,以及(iv)分析,数据的分析。后一阶段包括三项主要活动:预处理和数据缩减:在分析之前,需要对功率迹线进行预处理并缩减尺寸统计分析:该软件使用简化和预处理的数据进行常规统计分析。呈现和包装结果:统计分析结果可用后,必须以图表形式呈现,并包装成技术报告。PowTr An旨在适应能源评估工作流程并支持预处理活动。特别是,它负责几项任务:协调:电源跟踪必须与有关任务计时的信息相结合,任务识别:必须识别与任务执行相对应的协调功率跟踪的部分;参考标识:必须标识后台任务的参考值以抵消任务消耗,减少:由于单个能量评估实验可以获得数百万个样本,因此可以减少收集数据的大小以供后续分析。对于非侵入式功率测量,当执行所考虑的任务时,功率消耗轨迹必须与间隔一致。协调过程可采用两种方法:1. 使运行被测软件的设备的系统时钟与收集跟踪样本的测量设备同步,以及2. 对代码进行检测,以添加不同的模式来标记每个任务的执行。时钟同步要求被测设备和测量设备之间的精确时间这种同步可以使用NTP(网络时间协议)[6]来实现,虽然这种解决方案很简单,但它需要两个设备至少连接到LAN才能到达NTP服务器。此外,同步的精度可能不足以用于功率测量目的,特别是对于短期运行的任务,因为已经观察到NTP允许高达100 ms的错误,这主要是由于网络拥塞[7]。第二种方法使消费的关联,灰到一个软件测试(SWUT)没有时钟同步,灰,但简单地添加标记在SWUT中所述,在第3.1节。我们开发了PowTr An来解决这一特定用例,1 https://www.powermeterstore.com/product/hobo-data-loggers-ux120-018-plug-load-data-loggerLast Visited:14/04/2020.2 https://01.org/rapl-power-meterLast Visited:14/04/2020.遵循这些准则:开源:软件必须提供给研究社区和研究人员,········L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号3表1功耗分析方法的比较软件开源无创物理测量。集成Atitallah等人[9]第一章没有是的没有没有Pycoolr [10]是的没有是的是的MuMMi [11]没有没有没有没有埃普洛夫[12]没有没有没有没有Banerjee等人[13个国家]没有是的是的没有焦耳计[14,15]是的是的没有没有[第16话]没有没有是的没有[17]第十七话是的是的没有没有PSAT [18]是的是的是的没有DOME [19]没有是的是的没有保知安是的是的是的是的非侵入性:软件必须既不需要被测软件的大量指令,也不需要在执行软件的硬件设备上存在附加进程实际测量:该软件必须分析功耗的实际物理测量,而不是估计。集成:该软件必须是统计或计算环境的一部分,并且容易集成到鲁棒的统计环境中,以使研究人员能够执行进一步的分析并产生适当的 可视化。开发意图是使PowTr An成为综合分析工作流程的第一步。PowTr An是用R开发的,R是一种数据分析、操作和可视化。R提供了许多包来处理不同特性和来源的数据[8]。据我们所知,PowTr An是开发功率跟踪分析仪的第一次努力,该分析仪利用R语言并解决了基于非侵入性标记的预处理。选择R是因为它作为科学家执行数据分析的环境很受欢迎。R也被广泛使用。对于大数据,因为它很容易并行化,并且与许多其他语言交互良好。此外,R提供了出色的图形功能,可以用来生成控制图和评估收集的度量的整体质量许 多 技 术 来 估 计 和 优 化 应 用 程 序 和 设 备 的 功 耗 描 述 在literature,并涵盖多个抽象层次,从电气到功能的水平。较低层次的技术,即使更精确,也需要特定的设备和知识。虽然相关的软件包确实呈现了一些详细的特征,但没有一个具有全部特征。表1将可用软件包与PowTr An进行了比较。Pycoolr [10]是一种监控软件,能够对每个CPU的核心温度和CPU/DRAM消耗进行采样。它基于英特尔RAPL接口进行测量,并以JSON格式输出结果,以供后续分析。Pycoolr在Python中的集成允许使用统计库,如Panda或Mlpy来查看结果。MuMMi [11]是一个系统测量的基础设施,建立在三个现有的框架Prophesy(用于性能建模和预测),PAPI(用于硬件性能监控)和PowerPack(用于功率测量和分析)上。Eprof [12]是第一个用于Windows和Android移动应用程序的细粒度设备外能量分析软件包之一。Banerjee等人[13]描述了一种软件,该软件可以分析Android应用程序的能量足迹,以发现能量异常。Atitallah等人[9]提供了一种功率跟踪分析仪,支持参与软件开发的利益相关者(例如,开发人员、管理员和用户)从绿色的角度创建、维护该模型涵盖了每个利益相关者的生命周期模型、功率指标、过程模型、建议和软件。[ 21,22 ]和[ 23 ]中提出的如果设备可以从其内置电池接口读取在线电压和电流值,则可以执行此操作。该方法的主要限制是不可能将电流感测并入许多智能手机。焦耳计[14,15]根据资源利用率对设备的存储器、CPU、磁盘和其他组件的能耗进行建模。SES [16]是一种能源监测软件,它通过逐周期解决方案收集能源消耗数据,将每个数据映射到程序结构。SES需要一个由测量电路、轮廓控制器和采集存储器组成的额外模块。因此,只有某些嵌入式系统可以使用SES。动态电源管理技术的一个例子是Power-Sleuth [17],它完全描述了软件的行为。在这项工作中,作者没有将功率与事件相关联,而是开发了一个直接调查功耗来源的模型。Power-Sleuth通过使用ScarPhase库[24]来检测和分类每个软件阶段来定位程序阶段。最后, DOME [19] 是PSAT [18]的演变, PSAT 是一个开源的Matlab和基于GNU/Octave的软件包,用于分析和设计中小型电力系统。DOME是用Python编写的,可以解析数据文件来执行潮流分析。该软件不是开源的。所有这些相关的软件收集和分析电力消耗数据在不同的水平。PowTr An是一个开源库,解决了特定的用例(基于标记的协调);它可以包含在任何收集和分析能源数据的软件链3. 软件描述PowTr An R包3由大约800行R代码组成,可以通过清单1所示的命令安装。清单1:安装PowTr An包的代码安装. packages(“devtools“)库(devtools)install_github(“Softeng PoliTo/powtran“)通过PowTr An软件包,分析电源跟踪的程序包括以下步骤:用extract.power函数处理功率轨迹,使用控制图执行视觉评估,分析能量值以评估观察下的任务3.1. 示踪标志用于识别任务轨迹的技术包括在任务之前和之后生成一个标记该标记是通过睡眠、忙碌和睡眠序列产生的方形脉冲繁忙阶段是通过生成- erating核心的100%利用率。这两个睡眠阶段是通过注入睡眠时段以保持内核空闲来获得的,因此并帮助嵌入式软件设计,构建在IP-XACT硬件上描述。Naumann等人[20]描述了一个名为GREENSOFT的可持续软件概念参考模型,3 代码可在GitHub上获取:https://github.com/SoftengPoliTo/powtran。到目前为止,该软件包还没有在CRAN上提供······4L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号导致最小的功率消耗。拖尾能量可以极大地影响测量,并且,如[25]中所建议的,在运行任务之前的最后睡眠可能很长,例如几分钟。因此,睡眠时间可能比忙碌时间长。然而,在我们的例子中,我们假设1 s足以使尾能分散。标记是使用清单2中所示的Java代码片段生成的,该代码片段旨在用于多核架构。代码为每个CPU生成一个忙线程,并让每个CPU在给定的标记持续时间内工作。清单2:用Java语言编写的标记生成代码摘录。}//SLEEP你好。sleep(markerLength);for(Thread t:ts)t.start();//启动忙线程(Threadt:ts)t. join();//将所有的字节串都写入}};好的。setAll(ts,t->newThread(busy,“PowTrAn“+t));while(eandBus y>S ystem. publicvoidrun(){for(inti=0;imarkerLength;++i){}finalThread[]ts=nwThread[N_THREADS];Runablebusy=()->{//Busy代码//BUSYfinallongenBusy=S ystem. curentTimeMillis()+markerLength;//SLEEP你好。sleep(markerLength);privatatat ictidgenrateMarker(长形MarkerLength)这是一个非常好的例子。final static intN_THREADS =去吧。getRuntimeme().availableProcessors();如上所述,标记被放置在观察任务的每次执行之前和之后,因此在实践中,标记将两个任务分开。3.2. 提取幂函数分析过程的起点是功率迹线(例如,由数值组成的矢量数据该包的主要功能extract.power处理电源跟踪,并使用列表3)中所示的原型生成结果。清单3: 提取.幂函数原型.)我很好。length,#markerstedurat ionBaseline#methowdforbaselinecomputtationt. sampl ing,#samplingeriodN,#人。Repetitions(30)#sampleslibrary(powwtran)res<-extract. 功率(data,此函数需要以下参数:data:使用任何功率监视器收集的功率轨迹,t.sampling:用于收集轨迹的采样周期,N:轨迹中的任务重复次数,marker.length:标记脉冲的预期宽度,baseline:用于计算基线功率的方法,即 背景功率与受试软件无关。该功能的输出包括一个表格,其中包含每个任务重复所消耗的能量,可以绘制该表格以生成控制图或通过其他PowTr An功能可视化。具体而言,输出包含已在功率跟踪内识别的工作单元工作单元被定义为一个原子时间窗口,在此期间,分析软件的执行被细分。对于每个工作单元,报告以下信息工作单元的开始和结束样本索引,以秒为单位的持续时间,实际功率电平:对于工作单元(P.real)以及对于工作单 元 之 前 和 之 后 的 两 个 空 闲 阶 段 ( P.idle.left 和P.idle.right),• 有效功率(P)和能量(E)。可以从分析结果开始生成控制图,以便使用包提供的标准plot()函数直观地评估分析结果。该函数执行四个预处理步骤,包括通过标记物检测(第3.5节)、任务数据的任务识别(第3.4节)、参考识别和大小缩减(第3.5节)进行核对。3.3. 标记检测启用电源跟踪处理的第一步需要通过检测插入电源跟踪的标记,使电源跟踪与软件任务的时序两个因素影响标记物的检测噪声使得标记边缘的检测困难,并且功率电平的测量不精确,尺寸增加了处理阶段的复杂性,必须仔细选择适当的算法此外,图形表示必须使用下采样版本,以使跟踪可识别,并避免使用PDF等矢量格式时出现严重的性能问题。分析数据的过程由五个步骤组成,详见以下小节。3.3.1. 步伐检测标记检测的初步阶段包括识别标记脉冲的上升沿。存在任何噪音产生必须丢弃以正确检测标记的伪边缘。这些杂散边沿可以通过消除高频噪声的低通滤波器来消除。然而,低通滤波器的典型实现使用FFT,其在大信号上提供较差的性能,并且标记步骤也可能导致吉布斯现象[26]。通过考虑计算速度更快的移动平均值可以实现类似的结果。具有嵌入标记的功率信号(见图2)可以被认为类似于分段常数(PWC)信号[27],可以通过分段常数平滑或作为水平集恢复进行分析。实验任务期间的功率迹线不能保证恒定,因此信号不是精确的PWC。相反,我们采用基于核密度估计的水平集恢复方法,使用以下过程:• 估计核密度,• 识别密度函数中的主峰,• 确定功率电平簇之间的阈值,• 将信号表示为电平运行序列。3.3.2. 标识标记物可以根据三个关键特征来识别:任何单独的标记脉冲都以上升沿开始,标记必须匹配重复模式,具有设定的周期数,单独的标记脉冲具有预定义的宽度,该宽度应当在规定的容限水平内是可识别的。4 对于持续1分钟的实验,在10 kHz的采样率下,我们得到600k个样本。·············L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号5))·busytime图二、嵌 入 标 记 的电源信号。图3.第三章。所 采用的周期函数的曲线图。通过找到自相关函数的最大值来识别重复模式的周期[28]。偏移通过找到应用于轨迹的互相关函数的最大值和具有先前确定的周期的理想脉冲串,来识别第一标记脉冲相对于功率轨迹的开始的相对位置。一旦确定了迹线的周期性和相位,就通过周期函数与边缘的互相关来识别最有可能启动标记脉冲的边缘,如图2中的相对图所示。 3,定义为:图四、 可归因于所 考 虑 的任务的 工 作 。3.5. 有效功效和基线估计在识别工作单元之后,可以计算系统执行任务所消耗的功率,并且该功率取决于下面描述的两个主要决策(1) 被测程序的功率是多少?第一个近似值可能是程序消耗工作单元期间记录的功率(或其平均值)。然而,这样的值还包括由空闲系统实际权力和有效权力之间存在差别(1+cosn2π2(x−first)·last−first(一个)其中前者是测量值,后者是专门用于执行计算任务的部分。测量的功率必须与基线值进行比较3.4. 确定工作单位该任务包括通过观察标记脉冲的上升沿作为参考,检测功率跟踪内工作单元的开始和结束:• 工作单元的开始被估计为在前一边沿之后的k个标记脉冲宽度,其中k=1+睡眠时间,工作单元的末端被估计为在下一个边缘之前的一个宽度这种设计决策提供了易于实现和避免伪边缘的问题,否则会阻碍解决方案的基础上,只有边缘检测和灰的双重优势一个工作单位可归因于所考虑的任务是说明图。 四、其不直接用于所考虑的计算任务。这样的基线功率通常是空闲系统或同时执行的其他过程的结果。如图在图4中,基于在标记的睡眠阶段期间测量的功率来估计基线功率,并且这可以通过以下几种策略来执行。一般来说,局部和全局估计可以通过以下方式区分:局部:仅在睡眠阶段之前和之后即刻。考虑所考虑的任务之后,其提供了抵消可能不恒定的背景过程的优点,全局:考虑包含任务的所有睡眠阶段其提供了通过平均电平来过滤局部噪声的优点。···(6L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号·表2能量计算的替代策略。范围优点/缺点本地丢弃实验执行期间不一致的后台进程全局过滤实验过程中出现的测量噪声。归零表示系统总功率,而不区分所考虑的进程和其他后台进程,但这不是一个精确的测量。表3关于案例研究的细节。装置算法阵列大小时间[ms]样品树莓派1A冒泡排序10k817712 698LG的Nexus 4快速排序50k863703要考虑的特定睡眠时段的选择取决于系统的行为。例如,一个需要能量的任务可能会触发频率缩放[29],从而改变局部尺度上的基线除了这两种策略之外,PowTr An还允许使用零基线,即,所有功耗都归因于被测软件。当备选方案之间的排名是测量的目标时,可以应用该选项:因为软件执行任务所消耗的精确功率量是不相关的,并且目标是了解哪个软件消耗更多(参见表2)。(2) 必须考虑到什么样的详细程度?一种选择是考虑轨迹中记录的所有单个功率值,而另一种选择是计算平均值。因为目标是计算能量(即,功率对时间的积分),基本平均值在最终结果方面是等效的,并且在存储器资源方面更有效。为了对数据执行大小缩减,每个工作单元具有由评估中的任务消耗的能量,其计算如下:E=t·(P-P基线)。(二)其中t是任务时间,P是在任务执行期间测量的平均功率,并且P基线是对应于不直接归因于任务执行的功耗4. 示例和验证功效分析软件的验证应解决以下方面:• 合成功率迹线以减小数据大小的能力,• 加工性能,• 评估所收集数据质量的潜力。为了说明有关电源跟踪分析的问题,我们考虑两个案例研究的两个平台的树莓派1A和LG Nexus 4。这两款设备都使用基于ARM架构的Raspberry Pi 1A设备采用单核32位CPU,运行频率为700 MHz,Nexus 4采用四核64位CPU,运行频率为1.5 GHz。表3列出了这些案例研究的完整细节,这些案例在许多方面都是不同的,因此无法直接比较得出的能源数据。然而,这两个示例允许评估软件在不同条件下的行为。对于这两个案例研究,任务包括对一个数组进行排序,整型元素。每种情况下应用不同的算法,表4分析结果(完整数据的摘录样本索引功率开始端不P实数P基线P有效E18 13626 2820.8152.6532.4170.2360.19241 27649 4540.8182.6532.4160.2360.19364 44672 6040.8162.6542.4180.2370.19487 59695 7590.8162.6542.4180.2370.194110 756118 9310.8182.6562.4180.2390.196133 926142 0920.8172.6542.4180.2380.194157 086165 2550.8172.6552.4180.2390.195180 246188 4100.8162.6542.4180.2380.194203 406211 5630.8162.6542.4180.2370.194226 556234 7210.8172.6542.4180.2370.194...执行此计算,特别是Nexus 4的快速排序和Raspberry Pi的冒泡排序。在每个实验中,我们重复该任务30次,因为需要多次重复来平均测量误差。4.1. 合成第一个案例研究的分析结果报告在表4中。从7点开始。1 105个样品,PowTr An分析产生具有关于测量任务的30次重复中的每一次的信息的表,其中前十次在表4中被采样。表中的每一行报告了重复合成的数据,并包括以下信息:序列中特定样本的开始和结束索引,任务持续时间,并基于8146个样本(从18136到26282)和10kHz频率的情况,在0.816秒的值中,真正的权力,即,是在任务执行期间测量的平均功耗对于这种情况计算的基线功率是使用局部范围计算的,因此在每个记录中观察到微小的差异,有效功率计算为上述两个值之差,• 执行任务所消耗的能量。4.2. 性能PowTr An演示了每秒处理一百万个在实际测试中,我们每秒处理2.5分钟的功率轨迹。4.3. 质量评估图图5和图6呈现了由包生成的用于评估所收集的功率迹线的质量的控制图。每个控制图分为两个区域:所述顶部报告所分析的轨迹的微型视图,其中识别所述工作单元和标记; 底部包括报告分析结果的四个图表,包括:– 右上图显示了在工作单元中检测到的平均功率的分布,用条形图详细表示,并用箱形图概括;·······L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号7图五、Ras pbe rry Pi 的汇总控制图。图六、Android Nexus 4 的摘要控制图。8L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号– 右下角的图表显示了工作单元持续时间的分布,使用与前面相同的可视化,– 左下图显示了每个工作单元消耗的能量的分布,– 右上图显示了功率与持续时间的关系,还报告了等能量曲线,这提供了诊断结果中可能的异常值考虑到速度和功率之间可能的权衡,最后描述的图表也是有用的.随着现代处理器自动调整工作频率以适应不同的工作负载,以低频率执行的相同任务可以持续更长时间并消耗更低的功率,而在更高频率下则相反。我们预计两个这样的运行消耗类似的能量,即,近似出现在同一条等能量线上。因此,这些参考线使得能够诊断对于交替持续时间与功率配置消耗类似能量的执行。通过比较两种控制图,我们观察到以下情况:与Nexus记录的轨迹相比,Raspberry Pi的轨迹更有Raspberry Pi的功率分布窄且对称两个持续时间分布看起来相似,回顾功率 对持续时间的图表 ,观察到两 个行为。 对于Raspberry Pi,遵循等能量线的数据点云,在大多数情况下,较长的持续时间对应于较低的功率,从而导致近似相似的能量。对于Nexus 4,观察到一种不同的模式,其中有一组紧密的数据点和一组分散在不同持续时间和能量水平的点,乌藨子在能量中显示出干净的对称形状,而Nexus能量是高度偏斜的。总结控制图的分析代表了评估功率跟踪质量和指导以下附加分析的关键步骤。例如,基于上述两个图,Rasp-berry Pi上运行的程序的能耗值是准确的另一方面,在Android设备上收集的值不太准确,因此在继续分析数据之前,必须考虑离群值去除阶段。虽然PowTr An中不包括删除离群值的过程,但软件提供了关于哪些数据可能被视为潜在离群值的充分信息。5. 影响和结论我们介绍了PowTr An,这是一款基于R的功率跟踪分析仪,它构成了集成到R生态系统中的分析工作流程的第一步。PowTr An代表了一种新的处理软件包利用标记的离线重新配置的物理功耗测量本文对R软件包进行了全面的描述,该软件已经在以前的研究中得到应用,包括:对各种排序算法的分析,包括气泡,计数,合并和快速排序,这些算法在三种编程语言(Java,ARM和C)中实现[30],在移动设备上运行的不同图像编码和解码算法的比较[31],单板计算机CPU功率模型的建立[32]。这些作品证明了PowTr An包的适用性,以各种应用领域。我们之前在早期研究中对关于标记物插入以及分析方法的最初想法进行了细化[30,31]。我们还在多种条件下测试了PowTrAn,该方法能够在有噪声的系统中产生精确的结果。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作引用[1]Ardito L,Procaccianti G,Torchiano M,Vetró A. 理解绿色软件开发:一个概念框架。IT Prof 2015;17(1):44-50. http://dx.doi.org/10.1109/MITP.2015.16网站。[2][10] J. J. McKinley,J.模型是不够的:了解移动设备的能源消耗. 2012年IEEEHot Chips 24 Symposium(HCS)。2012年,第1-3页。http://dx.doi.org/10的网站。1109/HOTCHIPS.2012.7476509。[3]Fairley P. Blockchain world -喂养区块链野兽如果比特币真的成为主流,维持它 所 需 的 电 力 将 是 巨 大 的 。 IEEE Spectr 2017;54 ( 10 ) : 36-59 。http://dx.doi.org/10.1109/MSPEC的网站。2017.8048837。[4]Mochocki B,Lahiri K,Cadambi S.移动3D图形的功率分析。在:欧洲设计, 自动化和测 试会议论文 集:论文集 。日期' 0 6 , 3 0 0 1 L e u v e n ,B e l g i u m , B e l g i u m : E u r o p e a nD e s i g na n dA u t o m a t i o nA s s o c i a t i o n ; 2 0 0 6 , p. 502-7[5]张文龙,王文龙,王文龙.测量软件应用程序能耗的方法指南。科学计划2019;2019:16. http://dx.doi.org/10.1155/2019/5284645网站。[6] [10]杨晓,王晓,王晓.网络时间协议版本4:协议和算法规范。RFC 5905,RFC编辑器; 2010,URLhttp://www.rfc-editor.org/rfc/rfc5905.txt。[7]米 纳 尔 河 对 NTP 网 络 的 调 查 。 1999 年 , URL http://www.media.mit 。edu/~nelson/research/ntp-survey99/.[8]R核心团队R:统计计算的语言和环境。奥地利维也纳:R Foundation forStatistical Computing; 2018。[9]杨文忠,李文忠,李文忠.嵌入式软件设计中功耗估计的跟踪分析方法。2015年 第 41 届 欧 洲 软 件 工 程 和 高 级 应 用 会 议 。 2015 年 , 第 61-8 页 。http://dx.doi.org/10.1109/SEAA.2015的网站。三十四[10]放大图片作者:Ahmed K,Liu J.通过功率封顶和节点扩展实现HPC系统的需求响应。于:2018 IEEE第20届高性能计算和通信国际会议; IEEE第16届智能城市国际会议; IEEE第4届数据科学和系统国际会议(HPCC/SmartCity/DSS)。2018年,第789-96页。http://dx.doi.org/10.1109/HPCC/SmartCity/DSS.2018.00133网站。[11]Wu X , Chang H-C , Moore S , Taylor V , Su C-Y , Terpstra D , et al.Mummi:multiplemetricsmodelinginfrastructureforexploringperformance andpower modeling.极端科学和工程发现环境会议论文集:发现之门。ACM; 2013,p. 三十六。[12]作者:Patak A,Hu YC,Zhang M.在我的应用程序中消耗的能量在哪里?:使用eprof在智能手机上进行精细的能源核算。第七届ACM欧洲计算机系统会议论文集。ACM; 2012,p. 29比42[13]杨 伟 杰 , 杨 伟 杰 . 检 测 移 动 应 用 程 序 中 的 能 源 漏 洞 和 热 点 。 第 22 届ACMSIGSOFT软件工程基础国际研讨会论文集。ACM; 2014,p. 588-98.[14]Sinha A,Chandrakasan AP. JouleTrack-一个基于网络的软件能量分析工具。在:第38届设计自动化会议(IEEE Cat。No.01CH37232)。1999,p.220-5[15]Kansal A,Zhao F,Liu J,Kothari N,Bhattacharya AA.虚拟机功率计量和配置。在:第一届ACM云计算研讨会论文集。SoCChttp://dx.doi.org/10.1145/1807128.1807136网站。········L. Ardito,M.托尔基亚诺河Coppola等人粤公网安备44010502000112号9[16]Shin D,Shim H,Joo Y,Yun H-S,Kim J,Chang N. 用于低功耗嵌入式程序 的 能 源 监 控 工 具 。 IEEEDesTest2002;19 ( 4 ) : 7-17.http://dx.doi.org/10.1109/MDT.2002.1018129网站。[17]Spiliopoulos V,Sembrant A,Kaxiras S. Power-sleuth:一个用于调查程序的电源行为的工具。 2012年IEEE第20届计算机和电信系统建模、分析和仿真国际研讨会论文集。MASCOTS '12,USA:IEEE Computer Society; 2012,p.241-50. http://dx.doi.org/10.1109/MASCOTS的网站。2012.36。[18]米 兰 湾 一 个 开 源 的 电 力 系 统 分 析 工 具 箱 。 IEEE Trans PowerSyst2005;20(3):1199-206.[19]米兰湾基于Python的电力系统分析软件工具。 2013年IEEE电力能源学会大会。2013年,第1比5。[20][10]杨文,杨文,杨文. GREENSOFT模型:绿色和可持续软件的参考模型及其工 程 .Sus- tain Comput : Inform Syst 2011;1 ( 4 ) : 294-304.http://dx.doi.org/10.1016/j的网站。suscom.2011.06.004,URLhttp://www.sciencedirect.com/science/article/pii/S2210537911000473。[21]Dong M,Zhong L.电池供电移动系统的自构造高速率系统能量建模。第九届移动系统、应用和服务国际会议论文集。 2011年11月,纽约州纽约市,美国:计算机协会; 2011年http://dx.doi.org/10.1145/1999995.2000027网站。[22]Jung W,Kang C,Yoon C,Kim D,Cha H.Devscope:一个非侵入性的智能手机硬件组件在线功耗分析工具。In:Jerraya A,Carloni LP,Chang N,Fummi F, editors.代码 +ISSS。 ACM; 2012 年, 第353-62 页http://dblp.uni-trier.de/db/conf/codes/codes2012.html#JungKYKC12[23]Krintz C,Gurun S.一个运行时,基于反馈的能量估计模型,用于嵌入式设备。第四届硬件/软件协同设计和系统综合国际会议(CODES+ISSS '06)。2006年,p. 28比33[24]放大图片创作者:Sembrant A,Eklov D,Hagersten E.基于软件的高效在线相位分类。在:2011年IEEE工作负载表征国际
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功