买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法_东南大学_202110827931.9 

申请/专利权人:东南大学

申请日:2021-07-22

公开(公告)日:2024-03-19

公开(公告)号:CN113448736B

主分类号:G06F9/50

分类号:G06F9/50;G06F9/48

优先权:

专利状态码:有效-授权

法律状态:2024.03.19#授权;2021.10.22#实质审查的生效;2021.09.28#公开

摘要:本发明公开了一种近似计算任务在多核异构平台上基于能量和任务服务质量QoS联合优化映射方法,包括以下步骤:将具有相关性的实时任务建模为非精确计算任务模型,由此得到任务有向无环图和任务相关性矩阵;基于big.LITTLE多核异构处理平台,通过任务迁移,使得同个任务可在不同集群的处理器上执行,以提高任务分配和动态电压频率调整的灵活性;通过引入任务分配、频率选择、实时性、任务非抢占性、任务相关性和能量消耗约束,构造了基于QoS和能量联合优化的任务映射问题;使用变量替代方法处理问题中的非线性项,将该任务映射问题线性化,以求得最优解;显著降低了问题求解的时间,提高了本任务映射方法的适用性。

主权项:1.一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法,其特征在于,包括如下步骤:1将具有相关性的实时任务建模为非精确计算任务,由此得到任务有向无环图和任务相关性矩阵;2基于big.LITTLE多核异构平台,通过任务迁移,使得同一任务可在不同集群的处理器上执行,以提高任务分配和动态电压和频率调整的灵活性;3通过引入任务分配、频率选择、实时性、任务非抢占性、任务相关性和能量消耗约束,构造了基于QoS和能量联合优化的任务映射问题;4使用变量替代方法处理问题中的非线性项,将3中提出的任务映射问题转换为混合整型线性规划问题,并使用最优化方法求解;5针对3中提出的问题,利用问题分解的方法,设计了一种低计算复杂度的启发式算法;其中,步骤1中,将可用N个具有相关性的非精确计算ImpreciseComputation,IC任务{τ1,τ2,…,τN}来描述实时系统的任务模型,由此得到任务的有向无环图,对于任务τi,IC任务在逻辑上被分为强制执行部分和可选执行部分,Mi表示任务τi的强制执行周期,变量oi表示可选执行周期,Di表示任务的截止时间,可选执行周期oi不超过上界Oi,即0≤oi≤Oi,对于近似计算任务的调度,任务的强制执行部分和可选执行部分之间有着严格的执行顺序约束:必须在完成强制部分任务之后,才能执行可选部分任务,任务的相关性可用一个二进制矩阵q=[qij]N×N来描述,qij表示任务之间的执行顺序;如果任务τi与任务τj相关且任务τi在任务τj之前执行,则qij=1,否则,qij=0;步骤2中,big.LITTLE异构处理平台存在big和LITTLE两种不同类型的集群,其中同一集群中的处理器是同构的,该平台支持动态电压和频率调节技术,考虑big和LITTLE集群中对应处理器的电压和频率等级分别表示为和由于集群间处理器的异构性,γi,k∈0,1]被定义为处理器θk执行任务τi的执行能效因子,big.LITTLE支持任务迁移技术,因此同一个任务在执行过程中,由一个集群上的处理器迁移到另一个集群的处理器上执行,根据任务迁移技术,能够将步骤1中的IC任务τi分解成两个具有相关性的子任务τ2i-1′和τ2i′,由此得到新的任务相关性矩阵,子任务τ2i-1′和τ2i′可在不同集群的处理器上执行,任务迁移的具体实施过程,在后面的步骤中详细给出,通过归一化处理,μi∈[0,1]表示子任务τi′在一个处理器上执行的比例,对于任务τi,子任务τ2i-1′和τ2i′的执行比例之和等于1,即μ2i-1+μ2i=1;步骤3中,引入任务分配、频率选择、实时性、任务调度等优化变量:1如果子任务τ′i被分配到处理器θk上执行,则二进制变量xi,k=1,否则xi,k=0;2如果子任务τ′i以电压和频率等级l执行,则二进制变量ci,l=1,否则ci,l=0;3如果任意两个不具有相关性的子任务τ′i和τ′j被分配到同一个处理器,τ′i在τ′j前执行,则二进制变量pi,j=1,否则pi,j=0;4连续变量tsi和tei表示子任务τ′i的执行起始时间和结束时间,为了描述一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法,需增加以下约束条件:1任务分配:根据任务迁移技术,同个任务可在不同集群的处理器上执行,由于同一集群中的处理器是同构的,不考虑任务在同构处理器之间的迁移情况,因此在任务分配方面加入以下约束: 2频率选择:考虑的是任务内动态电压和频率调节技术,处理器在子任务执行完成后,调节电压和频率等级,而每一个子任务只能被分配一个电压和频率等级,big和LITTLE集群中的处理器是异构的,其电压和频率等级不同,需要根据任务分配结果确定处理器的电压和频率等级选择范围,λi表示子任务τi′在big或是LITTLE集群上执行的情况,如果子任务τi′在big集群上执行,则二进制变量λi=1,否则λi=0,因此在任务的频率分配方面需要加入如下约束: 3实时性:对于实时性约束,任务τi的强制部分Mi和可选部分oi必须在截止时间Di内完成,而子任务τ′2i需要在子任务τ′2i-1完成后才开始执行,处理器θk以电压和频率等级Vl,fl执行子任务τ2i-1′所用的时间为μ2i-1Mi+oiγ2i-1,kfl,为了不引入额外的下标k,使用参数γi,l替换γi,k,γi,l表示以Vl,fl执行子任务τ′i的能效因子,在实时性方面需要加入以下约束: 4非抢占性约束:考虑的是非抢占式调度方法,即被分配到同一处理器上的任意两个不具有相关性的子任务不能被同时执行,其约束条件为: tei≤tsj+2-xi,k-xj,kH+1-pi,jH#8tej≤tsi+2-xi,k-xj,kH+pi,jH#95任务相关性约束:考虑的是具有相关性的任务集,任务根据有向无环图中的顺序严格执行,其约束条件为: 6能量约束:不考虑任务通信的能耗和时间,只考虑处理器的动态功耗和静态功耗,其中Pon表示保持内核开启的固有功耗,在任务映射过程中,系统总能耗不能超过能量预算Ebuget,在能量方面加入以下约束: 其中,ti表示处理器处于空闲状态的时间,根据系统功耗表达式Pcore,l=Psta,l+Pdyn,l+Pon,将约束11进行如下转换: 该任务映射问题以QoS优化作为目标函数,而QoS与可选执行周期oi相关,使用线性QoS函数fioi=kioi+Ri,其中Ri表示执行强制部分任务后的基线QoS,根据问题模型,可建立基于QoS和能量联合优化的任务映射优化问题: 步骤4中,对步骤3中建立的问题模型进行线性化处理,在问题模型PP中,存在连续变量相乘、整型变量相乘的非线性项,优化问题13是一个混合整型非线性规划问题,步骤4通过变量替换等线性化方式将问题13等价地转换为混合整型线性规划问题,其过程为:5.1由于公式5和12中存在连续变量相乘的非线性项Mi+oiμ2i-1和Mi+oiμ2i,根据实际的物理意义,引入辅助变量和去替代非线性项,和表示子任务τ′2i-1和τ′2i的实际执行周期,得到如下关系: 和big.LITTLE平台提供离散的电压和频率Vl,fl,当电压和频率等级l固定时,其相应的参数Psta,l、Pdyn,l和1fl也被确定,因此,在公式5和12中,分别使用P′l、f′2i-1和f′2i代替Psta,l+Pdyn,l、1γ2i-1,lfl和1γ2i,lfl;5.2通过5.1进行变量替换,公式5和12中出现非线性项和为了将其线性化,首先引入如下引理:引理1:设常数s1,s2>0,存在两个约束空间P1={[t,b,x]|t=bx,-s1≤x≤s2,b∈{0,1}}和P2={[t,b,x]|-b·s1≤t≤b·s2,t+b·s1-x-s1≤0,t-b·s2-x+s2≥0,b∈{0,1}},则有证明:由于t=bx和-s1≤x≤s2,得到-b·s1≤t≤b·s2,根据-s1≤x≤s2和b∈{0,1},得到b-1x-s2≥0和b-1x+s1≤0;因此,t+b·s1-x-s1≤0和t-b·s2-x+s2≥0成立; 如果b=0,有t=0和-s1≤x≤s2;如果b=1,得到-s1≤t=x≤s2;因此,成立;根据引理1,引入中间变量Ci,l去替代公式5和12中的非线性项当ci,l=1时,Ci,l有上界和下界当ci,l=0时,Ci,l=0,对于该变量替换,需要添加以下约束条件: 根据引理1,公式5和12被线性化为 5.3由于公式4中存在整型变量相乘的非线性项λici,l,λici,l被表示为引入引理2对公式4进行线性化;引理2:假设x1和x2是0-1变量,非线性项x1x2能够被转换为一个0-1变量y,其中变量y带有约束y≤x1,y≤x2和y≥x1+x2-1,证明2:当0-1变量x1和x2都等于1时,上述约束被转换为y=1,因此,y=x1x2=1成立,同样地,如果x1=0,x2=0,或者x1=0,x2=1,或者x1=1,x2=0,得到y=x1x2=0,因此,引理2成立;基于引理2,对于非线性项引入中间变量zi,k,l,并添加以下约束来替换非线性项xi,kci,l: zi,k,l≤xi,k,zi,k,l≤ci,l,zi,k,l≥xi,k+ci,l-1,zi,k,l∈{0,1}#19公式4可转换为: 因此,问题13可线性化为: 在步骤5中,根据步骤3中优化问题结构,利用问题分解的方法,设计了一种低计算复杂度的启发式算法,以提高本映射方法的适用性,步骤3中的原任务映射问题分解为3个子问题:1频率选择;2任务分配与任务调度;3可选执行周期调整,依次求解以上3个子问题,得到一个基于QoS优化的任务映射方案,具体步骤如下:6.1确定频率分配优化变量ci,l;为了简化任务迁移模型,将原IC任务分解为两个子任务τ2i-1′和τ2i′,其中子任务τ2i-1′表示原任务的强制执行部分,τ2i′表示可选执行部分,为了减少问题求解的优化变量,子问题6.1只考虑执行任务的强制执行周期,即实际可选执行周期oi=0,在实时系统中,系统使用的能量Ebuget是有限的,在保证强制部分任务被全部执行后,需要将剩余的能量尽可能多地用来执行任务的可选部分,以提高系统的QoS,E2i-1表示执行强制部分子任务τ′2i-1所消耗的能量,因此,子问题6.1以最小化任务执行总能量作为目标函数,此外,还需要考虑实时性约束,该约束被简化为有向无环图中的关键路径上的子任务满足实时性约束,CPT表示关键路径上强制子任务序号的集合,将CPT中的子任务按照执行的先后顺序进行排序,得到排序后的子任务序号集合CPT′,即CPT′={2r1-1,…,2rn-1,…,2rR-1},因此,子问题6.1被表述为: 根据问题22的结构,采用贪婪算法来求解该问题,针对每个强制执行子任务,遍历所有的电压和频率等级,选择使系统总能量增量最小的电压和频率等级,将此作为该子任务的频率分配方案,同时,在给定频率分配方案的情况下,判断有向无环图的关键路径上的子任务是否满足实时性约束,如果不满足实时性约束,则排除这种频率分配方案,在任务集中迭代上述频率分配算法,最终得到问题22的解;6.2基于6.1的结果确定任务分配优化变量xi,k和任务执行起始时间tsi;根据频率分配方案,确定每个强制执行子任务的执行时间和执行时所在的集群,TB和TL分别表示在big和LITTLE集群中执行的强制子任务集合,为了避免子任务被分配到少数几个处理器上执行的情况,需要均衡每个处理器执行任务的时间,因此,子问题6.2以最小化处理器的任务执行总时间作为目标函数,而约束条件包括任务的非抢占性约束和相关性约束,tpk表示处理器θk上执行所有强制子任务的总时间,子问题6.2被表述为: 问题23需要同时求解任务分配优化变量xi,k和任务执行起始时间tsi,根据该问题的结构,使用贪婪算法求解,该求解方法分为3个步骤,第一步,确定贪婪算法中子任务的遍历顺序,即将任务的相关性和任务执行时间转换为有向无环图中任务的分层树状关系,而每一层中的任务是相互独立的,具体的分层规则为:如果从入口节点到任务τi的最长逻辑路径由n条边组成,则该τi等级为n;如果任务τi为入口节点,则等级为0,任务的分层等级越低,任务的执行顺序越靠前,具体方法为:1在有向无环图中,寻找入口子任务,构成等级为0的分层任务集RT0;2循环RT0中的子任务,通过递归的方法依次确定每个的后继任务等级,并由此更新已经确定的子任务等级;3按照分层等级由小到大将子任务排序,对于同一等级的子任务按照执行时间由小到大排列,第二步,利用贪婪算法确定任务分配优化变量xi,k,使用第一步中的任务等级分层方法将子任务进行排序,从而确定贪婪算法中子任务遍历的顺序,根据6.1得到的子任务频率等级确定任务分配的处理器选择范围,根据贪婪算法,按照任务的分层顺序,依次将子任务循环遍历分配到候选的处理器上执行,选择处理器结束执行时间最大的分配情况作为任务分配方案,由此确定任务分配优化变量xi,k和子任务执行起始时间tsi,第三步,验证得到的频率分配和任务分配方案是否满足系统的实时性约束,如果出现违反实时性约束的方案,则需要重新进行频率分配,具体方法为:1验证6.1和6.2得到的任务映射方案是否满足实时性要求,如果不满足实时性约束,记录下该方案中不满足约束的子任务τ′m的序号;2在满足能量约束的条件下,将τ′m以及τ′m的前驱子任务的电压和频率等级提高一级,将τ′m的后继子任务的电压和频率等级降低一级,电压和频率等级调整次数加1;3根据6.2重新确定任务分配方案,再次验证方案是否满足实时性约束,如果仍不满足,重复2中的方法,直至调整次数达到任务数量,停止调整,任务映射失败,6.3确定可选执行周期oi;根据6.1和6.2的结果,得到强制执行子任务的任务映射方案,由此可得系统剩余的总能量Eoptl以及每个处理器上的空闲时间段Δt,TCl表示以电压和频率Vl,fl执行单位周期所用的时间;ECl表示以电压和频率Vl,fl执行单位周期所消耗的能量,根据贪婪算法的思想,在时间和能量受限情况下,需要尽可能多的执行可选子任务,即确定空闲时间段能够执行的最大可选周期,以提高系统QoS,具体方法为:1将处理器按照第一个空闲时间段的起始时间从小到大进行排序,并根据任务分层等级确定该空闲时间段中能够执行的子任务候选集Temp;2遍历该空闲时间段内能够被分配的所有电压和频率等级,从而确定该时间段的最大可选执行周期3按照分层等级给Temp中的可选子任务分配实际执行周期,并确定可选子任务的起始执行时间,返回1,循环执行上述步骤,直至系统剩余的总能量Eoptl等于0或者全部可选子任务被执行;基于上述问题,能够求解频率分配优化变量ci,l、任务分配优化变量xi,k、任务执行起始时间tsi和可选执行周期oi,从而得到一个基于QoS优化的任务映射方案。

全文数据:

权利要求:

百度查询: 东南大学 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。