多线程低功耗编译优化技术研究

多线程低功耗编译优化技术研究

赵荣彩[1]2002年在《多线程低功耗编译优化技术研究》文中研究表明在近年来微处理器发展的过程中,随着系统频率和复杂度的提升以及移动应用的深入,功耗已成为系统软硬件设计所关心的关键问题。编译技术研究除了追求应用程序运行效率的最优化之外,通过编译对应用程序行为的充分分析,对不显着响程序运行性能的条件下最小化系统或处理器的运行功耗的研究,在近期很受关注。这是电路级设计很难涉足的一个有效降低功耗的潜在领域。虽然,从编译级来研究低功耗优化技术是新近发展的崭新方向,但它却含有丰富的研究内容。本博士论文重点研究基于多线程体系结构频率/电压动态调整的低功耗编译优化方法和技术。主要的研究工作体现在以下几个方面:(1)首次从多线程低功耗编译优化技术实现的角度,将目前硬件支持多线程的体系结构进行了归类划分,并根据它们的结构特性提出分为两类:CMP(Chip MultiProcessor or MultiProcessor on Chip)和SMT(Simultaneous MultiThread)来研究基于动态频率/电压调整的低功耗编译优化技术。(2)针对CMP类多线程的体系结构,研究并提出了一种基于频率动态调整的结合细粒度多线程划分的低功耗优化模型,设计了相关的算法和编译实现策略,旨在不影响充分开发应用程序ILP(Instruction Level Parallelism)和TLP(Thread Level Parallelism)的同时,尽可能有效地减少处理器的运行功耗。(3)提出了针对SMT多线程体系结构的多线程低功耗编译优化的理论模型,研究如何在编译时识别具有可使处理部件降低电压/频率执行的期望区间,在这些区间可以得到显着的功耗节省而不明显降低程序的执行性能。并设计了能量分析模型、相关算法和编译实现策略。(4)基于全局调度的循环依赖关系,使用整数线性规划(Integer Linear Programming)的形式化框架,提出了一种对给定循环进行合理有效的低功耗最优化软件流水调度的方法,使其在运行时保持性能不变而消耗的功耗/能量最小。(5)在SimWattch模拟平台上,对IXP2400网络处理器中的XScale结构进行了频率调整的低功耗模拟和分析,发现并分析了程序设计语言成分

王庆[2]2013年在《面向嵌入式多核系统的并行程序优化技术研究》文中研究表明传统上嵌入式系统设计是以低功耗为首要目标,但是随着计算密集型的嵌入式应用不断扩展,对性能要求、功耗要求的不断提高,嵌入式系统最近已经转向高性能嵌入式计算。面对日益复杂的嵌入式应用,片上多核处理器(CMP)已成为高性能嵌入式计算的一个有效解决方案。CMP采用多个性能适中的处理核心提高能量效率,使用高的任务级并行或者线程级并行提高整个处理器的性能。在嵌入式领域,如何充分利用CMP带来的高性能和低功耗技术对并行程序在嵌入式多核平台上的应用提出了很大挑战。对于嵌入式多核系统来说,低功耗和高性能是其核心特征之一,因而,如果无法有效地利用片上多核处理器技术并对应用程序进行有效地的并行计算,势必会影响建立在其上的各种应用的性能,并且造成资源和能源的浪费,这对资源和能耗要求甚高的嵌入式领域来说,这种情况是不可忍受的。因此,针对嵌入式应用,设计和实现高性能低功耗的并行计算方法,是嵌入式多核系统能否取得广泛应用需解决的核心问题之一。鉴于上述原因,本文深入分析了当前高性能嵌入式计算采用的性能和功耗优化方法,重点围绕嵌入式多核平台的并行编译设计及并行程序优化等问题进行研究,本文的主要工作和技术创新概述如下:首先,提出了面向嵌入式多核系统平台的OpenMP并行编译方法,并在此基础上扩展OpenMP并行指导语句,实现了OpenMP并行优化。以嵌入式操作系统eCos为实例,基于共享式存储并行编程模型OpenMP为嵌入式多核平台设计并实现了一个源到源的并行编译器。提出了基于嵌入式多核层次存储结构的OpenMP并行循环优化算法,扩展了OpenMP循环的并行制导语句tiling,从而提高嵌入式多核平台上的并行编程效率和并行性能,最后通过实验验证了扩展语句在嵌入式多核平台上的有效性和应用性能。其次,提出了面向并行程序应用的嵌入式多核系统运行时动态优化方法。针对在受带宽、数据竞争及数据同步不当等因素影响的多线程并行程序中增加线程的数量会明显降低性能的问题,本文提出了一个基于并行程序结构的性能分析模型,该模型把程序的并行区划分为完全并行和临界区部分,使得在运行时能够动态分析出具有最佳性能时的线程数。为了减少因线程之间的负载不均衡造成的性能和能耗浪费,本文还提出了基于该运行时框架的动态调度方法,该方法针对并行循环动态选择调度方法,并根据线程负载状况调整调度块大小实现性能均衡。最后基于嵌入式多核平台对运行时动态优化框架进行了验证和评估,实验表明,该框架以及运行时优化方法能够很好的适用于嵌入式多核系统,为并行应用提升性能。第叁,提出了面向并行线程负载的低功耗执行模型。为了避免并行应用程序在嵌入式多核平台上因负载不均衡造成的能耗浪费,本文首先对并行线程执行负载进行分析,结合动态电压频率调整(Dynamic Voltage and FrequencyScaling,DVFS)提出并实现了一个低功耗执行模型,然后,本文提出并实现了一个基于该模型的线程执行频率控制算法,使得运行时系统可以根据并行线程的负载不均衡性状况动态调节运行频率,在不影响并行程序运行性能的情况下,降低程序运行的能耗。最后基于模拟的嵌入式多核平台对模型进行验证。实验表明,本文设计的低功耗执行模型能够在2.2%的性能损失的情况下为嵌入式多核平台上的并行应用程序节省平均13%的能量消耗。第四,提出了基于能量效率的反馈式动态电压频率调整(DVFS)方法。根据并行应用的特点,该方法将将并行程序的性能和能量消耗综合考虑,采用能量效率的能量延迟积(Energy-Delay Product,EDP)衡量基准,通过反馈式的动态电压频率控制框架,在并行程序运行初期发现适合每个核心最佳的DVFS档位,在不影响程序性能的条件下,减少能耗提高能量效率。最后通过实验对反馈式DVFS进行了验证和评估。

赵荣彩, 唐志敏, 张兆庆, GuangR, Gao[3]2002年在《低功耗多线程编译优化技术》文中提出提出了在多线程体系结构中通过降低执行频率有效减小功耗的理论模型和方法.首先研究识别可降频运行的线程的计算模型和降频因子的计算,然后给出在编译过程中基于对应用程序行为的分析,结合线程划分的低功耗编译优化算法和实现策略.该模型和方法可用于具有执行频率可动态调整的多处理器类多线程体系结构,既可开发TLP(thread level parallelism),又可有效减小功率消耗.

连瑞琦, 张兆庆[4]2004年在《低功耗编译的若干相关技术》文中研究说明本文综述低功耗编译相关技术。首先简要介绍了若干低功耗领域的基本术语之后,总结出了可用于降低功耗的叁类编译手段:选取有助于降低功耗的传统优化,考虑功耗因素改造现有优化技术和通过编译制导配合硬件降低功耗。其次简单介绍了多线程系统和功耗模型的相关研究,最后,文章给出了低功耗编译领域研究的若干有潜力的方面,供有志进行这方面研究的研究人员参考。

卢怡杰[5]2012年在《Linux环境下低CPU资源消耗的应用软件低功耗研究》文中研究说明计算机技术的迅速的发展带来的负面影响是系统功耗的开销越来越大,尤其对那些嵌入式设备而言,其功耗问题所带来的负面影响更为突出,因此需要对这些功耗进行控制。低功耗的设计包括硬件平台的低功耗设计和软件层面的低功耗设计。软件的低功耗技术依赖于硬件的低功耗技术,通过软件的低功耗设计设计可以充分的发挥硬件的一些节能技术。Linux操作系统已应用到各种嵌入式设备中,本文从Linux平台的软件设计的体系结构的并行任务的编程模型角度出发,从软件执行的角度对CPU的消耗情况进行分析,在内核所提供各种处理器节能的基础上针对应用软件的运行和完成任务的特点去对应用软件多线程间的运行进行控制,通过相应的并行任务的处理策略去实现对处理器功耗的控制。本文完成的主要工作如下:对Linux内核中的各种控制处理器功耗的技术进行总结,以这些技术作为设计相关的低处理器资源软件的开发的基础。并对唤醒处理器的行为进行了描述,提出了低处理器功耗的软件的标准。对唤醒行为执行的控制集中。本文以内核的调度控制为出发点,从应用程序并行任务的各个任务出发,分析了各种任务的执行的特点以及任务间的相互关系,再针对这些任务的特点和关系给出了相应的集中控制的方法:对那些可以延缓处理的任务,使其在特定的时间段内对进行统一的处理,从而避免大量无规则的零散的调度所产生的时钟事件频繁的去唤醒处理器的睡眠,在最后给出了相应的低处理器消耗的应用软件的执行模型。最后通过视频播放对模型进行验证,证明了该模型在不影响软件运行效果的同时能达到降低处理器功耗的目的。

易会战[6]2006年在《低功耗技术研究—体系结构和编译优化》文中进行了进一步梳理计算机系统的功耗问题是计算机技术进一步发展亟待解决的问题之一。功耗急剧增长提高了芯片的封装和制冷成本。高温环境下执行增加了芯片的失效率,导致计算机系统的可靠性下降。嵌入式移动计算技术是芯片行业最活跃的领域,嵌入式的移动设备往往依靠电池供电,电池的供电时间是系统的重要参数之一。与半导体技术的发展速度相比电池技术的发展缓慢,未来的移动设备必须在有限能量供应下发挥更大的效能,对系统能量消耗有很高的要求。信息行业的设备消耗了大量能量,并且能量消耗呈现逐年增长的趋势。大量的能量消耗要求系统采用有效的能量管理策略提高能量的使用效率。因此,不管是嵌入式移动设备还是高性能系统,都必须考虑功耗问题。从底层的电路技术,到逻辑技术、体系结构技术和高层的软件技术,出现了各种方法用于降低计算机系统的能量消耗。本文重点研究用体系结构设计和编译器指导的方法减少计算机系统的能量消耗。体系结构是软件和硬件的接口,对于低层的低功耗硬件设计和上层的软件低功耗优化都有重要的影响,本文分析了传统体系结构的能量效率变化趋势,提出今后的体系结构低功耗设计的思路之一是采用并行处理技术。当前新的硬件技术—动态电压调节(DVS)和部件动态关闭(TOSU)—为软件低功耗优化提供了手段,本文的工作基于编译器的静态分析或者profile技术,获得应用对系统资源的使用特性,使用DVS或者TOSU技术减少计算机系统的能量消耗。具体说来,本文包括叁部分的研究工作:首先研究了微处理器体系结构的能量有效性;然后研究了实时系统的能量有效性优化方法;最后研究了并行系统的能量有效性优化方法。本文的主要创新如下:1、提出了微处理器的体系结构能量有效性模型,克服了传统的能量有效性模型受工艺参数和电压参数影响的问题,该模型能有效地评估体系结构设计对能量有效性的影响。通过对典型微处理器的分析,验证了该模型的合理性。通过该模型分析了体系结构设计的多种典型技术,得出了并行处理技术和部件使用局部化是提高能量有效性的主要方法。指导了本课题的研究。2、提出了面向程序的剩余最差时间分析方法,克服了过去动态电压调节技术的研究结果不能紧密结合时间估计技术的问题,给出了动态电压调节算法实现的总体框架,建立了性能/功耗模拟环境RTLPower,嵌入式程序集的测试证明该算法最大能够节省50%的能量。3、提出了等比例电压调节点的优化放置方法—OPOT和OPTO,OPOT给出了无开销情况下的最优调节点放置方法,并给出了证明,OPTO给出了存在开销情况下的调节点优化放置方法,嵌入式程序集的测试证明两种调节点优化放置方法有效的减少了能量消耗。4、提出了确定执行模式的最优频率设置指导的贪婪电压调节方法和最高频率限制情况下确定执行模式的最优频率设置指导的贪婪电压调节方法,克服了过去电压调节方法不能有效利用松弛时间的问题,能够最佳地设置每阶段的频率,模拟实验结果验证了两种电压调节方法的有效性。5、提出了编译器指导的DVS并行系统的能量和性能权衡技术,针对MPI消息传递应用使用编译器自动构造通信和计算区域,为这些区域分配最优的电压/频率,克服了过去的研究完全采用手工方法的问题,建立了性能/功耗的并行模拟环境MIPSpar,并行MPI程序集的测试证明该技术在性能损失不超过5%的情况下,能够节省20~40%的能量消耗。6、提出了编译器指导的并行系统通信链路的动态关闭技术,编译器将并行程序划分为通信区间和计算区间,使用链路打开/关闭指令动态改变通信链路的状态,克服了基于网络链路利用率的预测方式不可避免地引入的链路打开/关闭开销,模拟实验结果表明在小于1%的网络延迟和性能损失下,减少了20~70%的互连网络能量消耗。

赵荣彩, 唐志敏, 张兆庆, Guang, R, Gao[7]2002年在《编译指导的多线程低功耗技术研究》文中进行了进一步梳理多线程和低功耗将是研究下一代微处理器结构所要解决和实现的重点目标之一 .提出了一个在 SMT体系结构中通过动态调整 CPU执行频率降低功耗的计算模型 ,进一步分析和讨论了如何在编译时识别具有可使处理部件降低频率执行的期望区间 ,并给出了调整频率和能量分析的计算模型以及编译实现策略 ,目的是在不降低或不明显降低程序执行性能的情况下 ,显着降低处理器的功率 /能量消耗 .理论上该模型也可以用于 superscalar和multiprocessor体系结构

林一松[8]2012年在《面向GPU的低功耗软件优化关键技术研究》文中进行了进一步梳理低功耗优化已经成为现代计算机体系结构研究中一个越来越重要的研究领域。不论是大规模并行计算系统、个人桌面系统还是嵌入式系统,功耗问题都得到越来越多的关注。首先,功耗的增加意味着计算成本的增加,尤其对于大规模并行计算系统而言,能耗的急剧增长已成为限制其系统规模扩展的一个重要因素;其次,功耗的增加也提高了芯片的封装和散热成本,过高的温度对芯片的寿命和可靠性都将产生不利影响;最后,移动电子设备的广泛使用也对嵌入式微处理器的功耗优化提出了艰巨的挑战。然而,在摩尔定律的指引下,半导体工艺不断改进,处理器芯片中晶体管的密度也越来越高,目前单芯片晶体管集成度已达到10亿的量级,这无疑加剧了处理器的功耗问题。传统微处理器的功耗优化问题已获得了广泛的研究和关注,而本文选取的是近年来非常流行的一种新型处理器体系结构——GPU,展开低功耗优化研究。GPU(Graphicis Processing Units)最初用于加速图形处理,其结构较传统的通用CPU简单,芯片资源主要用于提升计算性能,因此其计算性能远高于通用CPU。随着近年来GPU编程方法的改善,人们开始利用GPU协助CPU加速处理非图形领域的计算任务,因此也诞生了一个全新的研究领域:GPGPU(General PurposeComputation on GPUs)。利用CPU和GPU构成异构并行系统甚至成为高性能计算领域一个重要的发展趋势。GPU在高性能计算、桌面计算甚至嵌入式计算领域都存在广阔的应用前景。然而GPU芯片的计算单元密度高,发热量大,虽然其性能/功耗比相对于传统的CPU更高,但其远超传统CPU的绝对功耗也成为限制其应用的一个重要因素。因此面向GPU的功耗优化技术成为一个亟待研究解决的问题。一般来说,处理器功耗优化方法可以大致分为几个层面,主要包括物理电路层,体系结构层和软件方法层。越接近于物理层的优化方法,适用面越广泛,可以用于各种处理器芯片,但和应用结合不紧密,针对性不强;而越接近于软件层的优化方法,虽然应用面不广,但能针对具体应用的特征展开优化。本文就是采用软件优化的方法,针对GPU特殊的体系结构、结合GPU程序的特征,面向不同的环境和优化对象从不同的角度展开了研究。具体来说,优化所面向的环境,主要包括CPU-GPU异构系统,多GPU系统、单GPU以及GPU内部的处理器四种;而优化的对象则包括运行于GPU上的单个任务的功耗以及包含多个GPU任务的程序整体功耗。本文的主要创新点如下:1.提出了一种基于关键路径分析的CPU-GPU异构系统功耗优化方法。根据GPU程序的特有的执行特征,将一个包含多GPU任务的完整程序的执行过程表示为一种基于图的数据结构,从而通过关键路径分析寻找性能约束下可以进行功耗优化的任务并进行优化。2.提出了一种基于任务划分的多GPU环境静态能耗优化方法。在一定性能约束的前提下,建立多GPU环境的任务划分模型,将给定的GPU任务划分到合适的GPU上执行,并关闭空闲的GPU,使得整个系统的静态能耗最低。3.提出了一种基于并行度分析模型的GPU动态功耗优化方法。综合考虑GPU上的处理器和存储器,在基于并行度分析的性能模型的指导下研究GPU程序执行过程中处理器与存储器之间的关系,利用动态电压调节技术在性能约束的条件下进行动态功耗的优化。4.提出了一种基于软件预取的GPU能耗优化方法。在深入分析GPU多线程执行特征的基础上,分析其软件预取优化的空间,分别在性能和功耗约束的前提下,利用软件预取技术对其能耗和性能进行优化。

胡定磊, 陈书明[9]2005年在《低功耗编译技术综述》文中研究表明功耗问题已经成为制约电子系统发展的重要因素.功耗是由硬件在运行软件时产生的,软件的数据存取和指令执行都会使硬件产生功耗.编译器可以通过适当的调度优化,改变软件在硬件上的运行轨迹,使得硬件执行某一个程序时的功耗变小.本文从如何对软件的功耗进行评估和如何实现低功耗的编译两大方面对低功耗编译的相关研究进行了广泛介绍,着重评述了专门的低功耗编译技术.最后对当前低功耗编译存在的问题做了分析,给出了对于低功耗编译新方向的预测.

王桂彬[10]2011年在《大规模异构并行系统软件低功耗优化关键技术研究》文中指出绿色计算是当前高性能计算领域最为关注的话题之一,降低系统功耗、提高系统效能是维持超级计算机向更大规模系统发展的重要途径。异构并行系统已成为当前高性能计算机系统发展的重要趋势之一,与传统同构并行系统相比,集成有专用加速部件的异构并行系统具有更高的峰值计算速度和峰值效能。然而,由于异构处理器间计算速度和功耗开销的不同,已有的面向同构系统的功耗优化方法难以高效应用于异构并行系统。本文针对异构系统的功耗优化问题展开研究,主要工作与创新包括:1.提出异构系统功耗感知的并行循环调度方法(第二章)并行循环是科学与工程计算程序中的主要优化对象,文章以类OpenMP并行程序为研究对象,研究在满足性能约束的条件下结合异构系统并行循环调度和处理器动态电压频率调节技术优化系统功耗。首先建立了异构系统功耗感知的并行循环调度问题基本模型,然后通过分析方法给出异构系统并行循环调度的能耗下界,该下界可用于评估功耗优化方法的执行效率。进而,将异构系统并行循环调度问题归纳为一般整数规划问题,给出了该问题的求解方法。2.提出异构系统功耗感知的多计算段频率调节与任务划分方法(第叁章)并行程序一般由多个串行段和并行段程序组成,根据并行计算段是否由异构处理器并行完成,文章将异构并行程序划分为同构计算段程序和异构计算段程序。针对同构计算段程序,首先建立了各计算段能耗与执行时间的关系;进而分析得出在总执行时间约束的条件下,多计算段程序达到能耗最优的条件,并给出能耗最优的计算段运行频率选择算法。针对异构计算段程序,首先分析得出时间约束下异构并行处理在单并行段内达到能耗最优的条件,进而建立各计算段能耗与执行时间的关系。在给定执行时间的约束下,将多计算段程序能耗问题描述为一般多元极值问题,并给出了基于最优下降的启发式求解算法。3.提出异构系统通信感知的全程序能耗优化方法(第四章)当前异构并行系统中,主处理器与加速部件大都通过系统总线连接,调用加速部件执行特定计算过程的同时必然伴随不可忽略的通信开销,因此应综合考虑加速部件引入的计算能耗和通信能耗以最小化系统整体能耗开销。文章提出了两种优化方法:基于整数线性规划的静态能耗优化方法和基于遗传算法的动态能耗优化方法,在满足性能约束的条件下优化全系统能耗开销。静态优化方法将并行任务的划分和调度以及处理器频率选择过程描述为整数线性规划问题,给出了该问题的最优解求解方法。动态优化方法在程序的执行过程中依据程序历史执行信息,反复应用通信感知的任务划分算法和动态频率调节算法在线优化程序能耗开销。4.提出异构系统应用感知的最大功耗管理方法(第五章)随着系统功耗不断增大,功耗不仅是系统优化的目标之一,而且逐渐成为影响系统设计与实现的重要约束之一。针对多道程序在异构并行系统上的执行模型,文章提出了一种层次化的最大功耗管理策略,旨在满足系统功耗约束的条件下,优化系统整体性能。首先对当前异构并行系统执行模型进行了抽象,并提出了融合叁级功耗控制机制的系统功耗管理框架。在异构并行处理引擎级功耗控制中,文章提出了应用感知的最大功耗管理方法。首先,通过分析方法给出了异构处理器在给定功耗约束的条件下达到性能最优的条件。基于该结果,给出了功耗受限的并行任务划分算法,该方法通过协调并行任务划分和动态电压频率调节技术以优化异构并行处理。在异构并行处理组级功耗控制中,提出了基于关键线程的功耗划分策略,将功耗优先分配给处于关键路径上的线程;在系统级功耗控制中,我们建立了异构并行处理组效能评估方法,以此作为功耗划分的依据,在兼顾并发应用公平性的同时,提高系统整体执行效能。

参考文献:

[1]. 多线程低功耗编译优化技术研究[D]. 赵荣彩. 中国科学院研究生院(计算技术研究所). 2002

[2]. 面向嵌入式多核系统的并行程序优化技术研究[D]. 王庆. 哈尔滨工业大学. 2013

[3]. 低功耗多线程编译优化技术[J]. 赵荣彩, 唐志敏, 张兆庆, GuangR, Gao. 软件学报. 2002

[4]. 低功耗编译的若干相关技术[J]. 连瑞琦, 张兆庆. 计算机科学. 2004

[5]. Linux环境下低CPU资源消耗的应用软件低功耗研究[D]. 卢怡杰. 西北大学. 2012

[6]. 低功耗技术研究—体系结构和编译优化[D]. 易会战. 国防科学技术大学. 2006

[7]. 编译指导的多线程低功耗技术研究[J]. 赵荣彩, 唐志敏, 张兆庆, Guang, R, Gao. 计算机研究与发展. 2002

[8]. 面向GPU的低功耗软件优化关键技术研究[D]. 林一松. 国防科学技术大学. 2012

[9]. 低功耗编译技术综述[J]. 胡定磊, 陈书明. 电子学报. 2005

[10]. 大规模异构并行系统软件低功耗优化关键技术研究[D]. 王桂彬. 国防科学技术大学. 2011

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

多线程低功耗编译优化技术研究
下载Doc文档

猜你喜欢