论文部分内容阅读
异构多核嵌入式系统已广泛应用于各个领域,并随着信息技术的发展对人类生活的影响越来越大,如汽车电子系统、航空电子系统,以及目前热点关注的无人驾驶车、智能机器人等都属于这个范畴。系统功能数量和信息量的日益增加以及功能的复杂化,导致信息处理的不平衡与能量消耗的不合理,从而影响系统的性能和能量有效性,同时也给异构多核嵌入式的设计带来了挑战。如何提高异构多核嵌入式系统的性能与能量有效性已成为嵌入式系统发展重点考虑问题之一。本文针对异构多核体系结构的嵌入式系统的性能与能量优化进行研究,考虑一个通用应用场景:将普通任务分配到一个异构多核的嵌入式系统上,系统中的每个核已经预先加载了一部分到达率、大小以及紧急程度各异的专属任务。系统中的每个核具有不同运行速度、不同功率、不同空闲时频率。为了保证专属任务可以及时执行,同时提高系统资源的利用率,定义了“专属任务无优先级”,“专属任务有优先级不抢占”,和“专属任务优先级抢占”三种调度策略。每个核可以根据专属任务的紧急程度任意选择其中一个作为调度策略。由于在大部分实际应用中任务的到达时间、任务的大小以及对应的响应时间具有一定的随机性,在以上应用场景的基础上本文用排队理论对系统进行建模,本文的研究内容与贡献主要包括以下几个方面:一、定频模式下能量受限的性能优化研究。频繁地调节处理器的频率会影响处理器的寿命,在某些计算系统里不建议采用这样方式节能。因此,我们针对处理器核工作与空闲时频率不变的工作模式,研究如何在保证能量不超过给定额度下系统性能最优的问题。我们假设处理器频率可连续取值,把研究问题建模成一个多变量、多约束的优化问题,并提出了一个可取得全局最优性能的优化算法。通过所提出算法,我们分析了系统性能与任务到达规律、系统任务分配、处理器属性以及处理器上任务的调度策略之间的关系。二、变频模式下性能受限的能量优化研究。降低处理器空闲时频率是一种通用的节能方式,然而在嵌入式系统里由于有些任务具有实时性,使得处理核空闲时也不应处于完全休眠状态。我们针对处理器工作与空闲时频率不同的工作模式,研究如何在保证系统性能的前提下能量使用尽量少的问题。我们依然把问题建模成一个多变量、多约束的优化问题,并提出了一个可取得全局最优平均功率的优化算法。当问题由于各节点上专属任务的差异性、核的异构性太强而难以获得最优解时,提出用最优解数据作为训练数据,用数据拟合的方法训练出核速度与任务量的关系以辅助问题的求解。通过数值实验,我们分析了不同参数对系统能量优化的影响,也分析了能量优化所取得的效果。最后,我们在实际多核嵌入式系统平台上验证了所得到的理论数据与实际运行效果基本一致,即理论与实际是相符合的。三、性能与能量联合优化研究。在嵌入式系统中,性能与能量都非常重要,但彼此间也具有矛盾性。“固定性能优化能量”与“固定能量优化性能”通常被视为两个独立的问题求解,很少有同一个算法可以解决这两个问题。因此,我们对性能与能量的联合优化问题进行研究。根据实际情况把处理器核可调频率看成一个离散有限的集合,所建立的问题模型既是一个多变量、多约束的优化问题,同时也是一个复杂的组合问题。在问题的解决过程中,针对由于异构性很强而导致问题难以解决时,巧妙的利用KKT理论把所求问题递归转换为子问题,提出了一个给定核速度前提下的最优负载算法。该算法可以获得最优的性能,同时保障专属任务的平均响应时间不超过期望预定的值。然后在最优负载均衡算法的基础上又根据性能与功率之间的比率提出了一个简单、高效的性能与能量联合优化算法。这个算法既可以解决固定性能优化能量的问题,也可以解决固定能量性能优化的问题。所提的方法简单、直观但解的质量与最优解非常接近。