动态适应嵌入式系统的仿真和在线系统级性能和功耗估计外文翻译资料

 2022-07-26 15:32:51

Profiling and Online System-Level Performance and Power Estimation for Dynamically Adaptable Embedded Systems

JINGQING MU, KARTHIK SHANKAR, and ROMAN LYSECKY, University of Arizona

Significant research has demonstrated the performance and power benefits of runtime dynamic reconfigu-ration of FPGAs and microprocessor/FPGA devices. For dynamically reconfigurable systems, in which the selection of hardware coprocessors to implement within the FPGA is determined at runtime, online esti-mation methods are needed to evaluate the performance and power consumption impact of the hardware coprocessor selection. In this paper, we present a profile assisted online system-level performance and power estimation framework for estimating the speedup and power consumption of dynamically reconfigurable embedded systems. We evaluate the accuracy and fidelity of our online estimation framework for dynamic hardware kernel selection to maximize performance or minimize the system power consumption.

Categories and Subject Descriptors: C.4 [Computer Systems Organization]: Performance of Systems—

Measurement techniques

General Terms: Design, Measurement, Performance

Additional Key Words and Phrases: Performance and power estimation, online estimation, dynamically adaptable systems, non-intrusive profiling, dynamic hardware/software partitioning, embedded systems

ACM Reference Format:

Mu, J., Shankar, K., and Lysecky, R. 2013. Profiling and online system-level performance and power esti-mation for dynamically adaptable embedded systems. ACM Trans. Embedd. Comput. Syst. 12, 3, Article 85 (March 2013), 20 pages.

DOI: http://dx.doi.org/10.1145/2442116.2442135

1. INTRODUCTION

With increasing gate capacities and decreasing costs, field-programmable gate arrays (FPGAs) are becoming a viable and attractive design option for many devices. The programmability, flexibility, parallel computational capabilities, rapid prototyping, and debugging advantages that FPGAs offer over ASICs have enabled more designs to be implemented using FPGAs. With the continuing evolution of FPGAs, several single-chip microprocessor/FPGA devices have emerged, incorporating one or more microprocessors and an FPGA into a single device along with efficient mechanisms for communication This research was supported by the National Science Foundation (CNS-0844565). between the microprocessor, FPGA, and shared memory. Such devices, available from many FPGA vendors, are ideally suited for hardware/software partitioning—the task of partitioning an application between software executing on a microprocessor and hardware on coprocessors, which can be efficiently implemented within an FPGA. Previous research has demonstrated that performance and power benefits can be obtained by re-implementing a software applicationrsquo;s critical kernels as

This research was supported by the National Science of Foundation (CNS-0844565).

Authorsrsquo; addresses: J. Mu, K. Shankar, and R. Lysecky, Department of Electrical and Engineering, University

of Arizona, Tucson, AZ 85721; email: {jqmu, karthik1, rlysecky}@ece.aizona.edu.

Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this

work in other works requires prior specific permission and/or a fee. Permissions may be requested from 85 Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax 1 (212) 869-0481, or permissions@acm.org.

c 2013 ACM 1539-9087/2013/03-ART85 $15.00 DOI: http://dx.doi.org/10.1145/2442116.2442135

ACM Transactions on Embedded Computing Systems, Vol. 12, No. 3, Article 85, Publication date: March 2013.

85:2 J. Mu et al.

Fig. 1. Overview of a warp processor—or similar dynamically reconfigurable embedded system—consisting of a voltage-scalable XScale processor, reconfigurable FPGA, and a dynamic application profiler (DAProf) providing application execution behavior.

a custom hardware coprocessor on an FPGA. While not all applications are amenable to implementation within FPGAs, for many applications, researchers and commercial vendors have observed overall application speedups of 10X-100X [Berkeley Design Technology 2004; Guo et al. 2005; Keane et al. 2004; Stitt et al. 2004].

Many FPGAs support partial reconfiguration that allows a single region of the FPGA to be reconfigured without affecting the hardware within the remaining regions, thereby allowing multiple hardware circuits to execute simultaneously. Dynamically reconfigurable FPGAs offer several benefits ranging from performance improvements to lower hardware costs as the same FPGA device can implement multiple hardware cir-cuits simply by downloading the corresponding hardware configuration into the FPGA.

Significant research—summarized in Garcia et al. [2006]—has demonstrated the benefits of runtime reconfiguration of FPGAs and microprocessor/FPGA devices, as well as coarse-grained reconfigurable arrays. For many dynamically reconfigurable systems, a static reconfiguration schedule can be determined at design time—often due to a need to leverage dynamic reconfiguration to temporally implement several computations in hardware to compute the final result. Other dynamic reconfiguration approaches dynamically select which hardware kernels to i

全文共70113字,剩余内容已隐藏,支付完成后下载完整资料


动态适应嵌入式系统的仿真和在线系统级性能和功耗估计

JINGQING MU, KARTHIK SHANKAR, and ROMAN LYSECKY, University of Arizona

重要的研究已经证明了FPGA和微处理器/ FPGA器件运行时动态重构的性能和功能优势。 对于动态可重构系统,其中在运行时确定在FPGA内实现硬件协处理器的选择,需要在线估算方法来评估硬件协处理器选择的性能和功耗影响。 在本文中,我们提出了一个配置文件辅助在线系统级性能和功率估计框架,用于估计动态可重配置嵌入式系统的加速和功耗。 我们评估我们的在线估计框架对动态硬件内核选择的准确性和保真度,以最大限度地提高性能或最小化系统功耗。

分类和主题描述:C.4 [计算机系统组织] 测量技术

关键性词:设计,测量,性能

附加关键词和短语:性能和功率估计,在线估计,动态适应系统,非侵入性分析,动态硬件/软件分区,嵌入式系统

ACM参考格式:

Mu,J.,Shankar,K.和Lysecky,R. 2013。动态适应性嵌入式系统的分析和在线系统级性能和功率估计。 ACM Trans。使嵌入。COMPUT。SYST。 12,3,第85条(2013年3月),20页。

介绍

随着栅极容量的增加和成本的降低,现场可编程门阵列(FPGA)正在成为许多器件的可行和有吸引力的设计选择。 FPGA的ASIC可编程性,灵活性,并行计算能力,快速原型设计和调试优势使得FPGA能够实现更多的设计。随着FPGA的不断发展,出现了几个单芯片微处理器/ FPGA器件,将一个或多个微处理器和FPGA结合到单个器件中,并提供了有效的通信机制。该研究得到了国家科学基金(CNS-0844565)的支持, 。在微处理器,FPGA和共享存储器之间。许多FPGA供应商提供的这些设备非常适合于硬件/软件分区,这是在微处理器上执行的软件和协处理器上的硬件之间分配应用程序的任务,这可以在FPGA中有效实现。以前的研究表明,通过在FPGA上重新实现软件应用程序的关键内核作为自定义硬件协处理器,可以获得性能和功耗优势。虽然不是所有的应用程序都可以在FPGA中实现,但对于许多应用程序,研究人员和商业供应商已经观察到10X-100X的总体应用加速[Berkeley Design Technology 2004;郭等2005; Keane.2004; Stitt.2004年]。

许多FPGA支持部分重配置,允许重新配置FPGA的单个区域,而不会影响剩余区域内的硬件,从而允许多个硬件电路同时执行。 动态可重构FPGA可以从性能改进到降低硬件成本提供多种优势,因为相同的FPGA器件可以通过将相应的硬件配置下载到FPGA中来实现多个硬件电路。

Garcia等人的重要研究总结 [2006] - 显示了FPGA和微处理器/ FPGA器件以及粗粒度可重构阵列的运行时重新配置的好处。 对于许多动态可重新配置的系统,可以在设计时确定静态重新配置计划,这通常是由于需要利用动态重新配置来在硬件中暂时实现多个计算来计算最终结果。 其他动态重构方法根据运行时收集的信息动态选择要使用FPGA实现的硬件内核。 这样的系统提供了在运行时适应执行以满足当前应用需求的附加好处。

翘曲处理利用动态重新配置来将关键软件内核自主地转换为在片上FPGA内实现的硬件协处理器[Lysecky et al。2006年]。 图1所示的warp处理器架构由具有指令和数据高速缓存的主处理器,有效的片上分析器,经向导FPGA(W-FPGA)和片上计算机辅助设计模块组成。 最初,在warp处理器上执行的软件应用程序将仅在主处理器上执行。 在执行应用程序期间,片上分析器监视应用程序以确定应用程序内的关键内核。 在识别关键内核之后,片上CAD模块将对FPGA中实现的硬件重新实现多达四个关键内核。 这些内核将被重新实现为片上FPGA中的定制硬件电路,软件内核将被调用该内核的新硬件实现所替代。

经线处理能够利用标准软件二进制程序的优点来提供2-10X的应用加速[Lysecky et al。 2006],或者通过利用片上FPGA将功耗降低40-97%[Mu和Lysecky 2009]。 该技术的主要优点之一是通过从软件开发人员隐藏FPGA,翘曲处理可以无缝地提供性能和/或功率改进,而不需要超出软件开发的任何努力。 另外,翘曲处理提供了通过动态地决定哪个软件内核最适合在任何给定时间内在FPGA内部实现来持续地评估和响应应用程序执行行为变化的能力。 我们注意到以前的研究已经进行了详细的扭曲处理[Lysecky et al。2006; Lysecky 2007; Mu和Lysecky 2009],超出了本文的范围。

对于在运行时确定选择硬件协处理器的动态可重构系统,需要使用在线估计方法来评估动态硬件协处理器选择过程对系统性能或功耗的影响。 在没有精确的运行时估计方法的情况下,分配和重新配置决策可能会产生次优的性能或功耗 - 在最坏的情况下会导致性能下降或功耗增加。

在本文中,我们提出了一个配置文件辅助在线系统级性能和功耗评估框架,用于估计动态可重配置的嵌入式系统的加速和功耗,包括电压和频率可伸缩处理器以及动态可重配置FPGA。我们评估估计框架的精度和保真度,用于动态选择可以最大化整体性能,性能驱动优化或最小化功耗,低功耗优化的硬件内核集。重新评估估计框架提供了一种有效的在线评估方法,用于基于当前应用程序执行行为来指导运行时重新配置决策,而不是依赖于基于有限的一组执行模式的静态决策,这些可执行模式可以被可行地模拟和分析设计时间。虽然配置文件辅助在线系统级性能和功耗估计框架适用于广泛的动态可重配置系统,但本文中我们着重于在翘曲处理的上下文中对提出的框架进行评估,同时还提供了一个概述所提出的方法如何适应特定的平台。

相关工作

2.1动态可重构系统

图2提供了针对动态可重配置系统的通用配置文件引导的硬件/软件编码工具流程的概述。 在这个设计流程中,静态编程用于确定运行时可以利用的应用程序的关键内核,以提高性能或降低功耗,而不仅仅是软件的执行。 从配置文件信息可以为目标处理器静态地创建和合成硬件协处理器。

然而,在FPGA中实现的硬件组件的选择通常在运行时进行。 与依赖于静态确定的重新配置计划的系统相反,几项努力集中在根据目标应用程序执行时的当前或预计的执行需求进行这些决策。

一种这样的方法利用动态重构来动态地选择具有不同面积/速度权衡的相同硬件内核的多个硬件协处理器[Fu和Compton 2005]或者改变性能/能量权衡[Resano等人2003]。 由于整体侧重于提高性能或降低功耗,因此需要准确的在线性能估算,以根据当前应用需求来指导选择,这取决于应用阶段的不断变化[Fu and Compton 2008]。 还可采用动态重新配置来重新配置在可传输处理器的数据路径内实现的自定义指令[Bauer et al。2008]。 由于许多应用程序的非确定性行为,运行时决定重新配置可扩展处理器,以最佳地适应当前应用需求的定制指令,实现3.6倍的平均加速或降低能耗[Shafique等人2009年]

2.2剖析

用于桌面计算的大多数以前的分析方法都会引入运行时间开销,将额外的代码插入应用程序或以特定间隔中断处理器以对处理器的寄存器进行采样。通用的基于软件的分析方法包括通过添加代码来计算应用程序来计算所需代码区域的频率[Graham et al。 1982; Hazelwood和Klauser 2006]。为了减少运行时开销,其他分析方法使用统计学抽样技术[Anderson et al。 1997; Dean等人1997;张等人1997],以某种间隔中断微处理器,或者创建一个额外的软件任务进行分析,然后读取程序计数器和其他内部寄存器,从而稳定地确定执行行为。对于嵌入式系统,仪器和统计分析方法都可能会改变应用程序的行为,并导致重要的运行时开销。在实时系统的情况下,最短的运行时间开销可能导致错过的最后期限和潜在的系统故障

由于这些软件分析方法的局限性,设计人员经常采用基于硬件的分析方法。值得关注的是频繁的环路检测分析器,通过监视短向后向分支,非侵入式地监视存储器总线上的指令地址和配置文件循环迭代[Gordon-Ross和Vahid 2005]。短向后分支是目标地址具有短负偏移的任何分支指令,通常用于在循环迭代结束时进行分支。每当发生短向后分支时,频繁的环路检测分析器更新一个小的缓冲后向分支频率,并保持相对分支频率的列表。对于使用分析来指导分区过程的硬件/软件分区方法,频繁循环检测分析器可以提供循环的相对排名以指导循环被分析用于硬件实现的顺序。然而,没有进一步的模拟或应用分析,这种有限的分析信息可能会导致次优的硬件/软件分区结果,因为仅使用相对分支执行频率才能精确地估计性能改进。

2.3性能和功率估计方法

性能和功耗估算方法已经得到广泛的研究,大部分在设计空间探索和硬件/软件编码方法中。然而,这种方法不适合于在线执行,因为它们依赖于在运行时通常不可用的信息,或者利用模拟来提高关键元素的准确性。 Benini等人提出了一种功率状态机方法[1998]通过对这些状态之间的转换的各种功率状态和条件进行建模来估计功耗。然而,基于低级别的基于HDL的模拟被用于确定整个系统的功耗。提出了一种快速,准确的系统级功率估计方法来瞄准设计空间探索[Varma et al。 2007],但依赖于系统中各种元素的仿真方法。还开发了高级估计技术,用于估计不同硬件协处理器实现的上限功耗,而不需要为目标FPGA合成每个协处理器实现[Abdelhalim和Habib 2008]。虽然这种方法可以减少不同设计选择的时间,但它依赖于FPGA可配置逻辑元件的开关活动的低级估计。

动态适应性嵌入式系统

我们考虑了一种基于我们的翘曲处理架构的抽象动态可重构系统,该体系结构包括具有32 KB指令高速缓存的电压可升级624 MHz XScale PXA270处理器,32 KB数据高速缓存,通过系统总线连接的松散耦合可重配置FPGA 和片外32 MB存储器,如图1所示。尽管XScale处理器支持许多电压和频率缩放选项,但我们将可能的选择限制在表1中总结的预定义的一组电压和频率。

FPGA由四个可重配置区域组成,其中可以在运行时配置硬件协处理器。 该组织允许四个独立的协处理器在FPGA内执行,但它也强加了每个硬件协处理器必须完全适合于单个重新配置区域的限制。 每个可重配置区域都集成了动态时钟管理,以支持使用FPGA实现的协处理器的频率缩放。 尽管最大工作频率取决于每个硬件协处理器,但FPGA区域的频率可以以5 MHz的增量调整到最大工作频率为175 MHz。

虽然这个目标架构是基于warp处理系统架构,但我们相信它是许多动态可重构系统的代表,而且所提供的配置文件辅助在线性能和功耗估计框架可以轻松快速地适应其他系统和架构。

最后,我们考虑目标系统的两个优化目标:性能驱动和低功耗。 在性能驱动的优化中,片上CAD工具将会极大地评估所有可能的内核选择,以确定实现最佳整体性能的内核集。 在低功耗优化中,片上CAD工具将全面探索微处理器和W-FPGA的所有内核选择和电压/频率配置,以确定实现最低总功耗的配置,同时提供至少相当于软件的性能, 只能执行。 所产生的性能或功耗取决于当前的动态应用程序执行行为。 因此,需要运行时信息来准确估计性能和功耗,以指导性能驱动和低功耗优化。

动态应用程序配置文件(DAPROF)

与许多动态优化方法一样,考虑到当前的应用行为,提出的动态性能驱动和低功耗优化依赖于准确的动态分析来确定当前在硬件中实现哪些内核。如图1所示,我们的目标系统包含最初在Shankar和Lysecky [2009]中提出的非侵入式动态应用程序分析器(DAProf)。 DAProf非侵入性地监视微处理器的指令总线,以消除后向分支,功能调用,功能返回和上下文切换。 DAProf将短向后向分支视为目标地址为小于1024的负偏移的任何分支指令,对应于小于256条指令的小循环。当DAProf可以对指令总线上的指令进行解码时,我们目前假定微处理器提供一比特输出sbb,指示执行了一个向后的分支,一个表示正在执行的函数调用的一位输出功能信号,并返回指示功能的一位输出ret。这种支持将需要对微处理器的解码逻辑进行微小的修改。为了检测函数调用和函数返回,DAProf需要调用函数的地址和函数返回的地址。

图3展示了扩展DAProf设计的内部架构,支持多任务应用程序。 虽然我们专注于单独应用任务的动态优化,但是对于多任务应用程序的支持对于提供准确的应用程序配置文件至关重要,因为单个任务将在多任务环境和操作系统中执行。 DAProf由用于指定过滤和检测上下文切换的任务的分析器任务过滤器,用于在微处理器和配置文件高速缓存之间同步的概要分析器FIFO,存储针对正在分析的循环的所有相关配置文件统计信息的概要文件高速缓存,以及分析器 控制器,用于分析短向后分支,函数调用,函数返回和上下文切换,以更新配置文件高速缓存中的分析统计信息。

4.1 Profiler任务过滤器

分析器任务过滤器主要用于非侵入性地检测正在分析的任务之间的上下文切换。 它被实现为存储要分析的每个任务的开始和结束地址或任何代码区域的可编程阵列。 概要分析器任务过滤器通过允许设计者选择性地分配特定任务,功能,库代码,系统调用等,同时过滤掉不那些不感兴趣的元素,从而在分析多任务应用程序时提供了极大的灵活性。 为了检测上下文切换,任务过滤器监视处理器的指令总线,以确定当前正在执行哪个任务或者没有执行任何分析任务。 每当检测到上下文发生变化时,无论是从一个分析任务到另一个分析任务,或者在分析任务和非分析任务之间,分析器任务过滤器将断言cs输出以及输出检测到

全文共22221字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[144648],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。