CN113448736B - 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 - Google Patents
一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 Download PDFInfo
- Publication number
- CN113448736B CN113448736B CN202110827931.9A CN202110827931A CN113448736B CN 113448736 B CN113448736 B CN 113448736B CN 202110827931 A CN202110827931 A CN 202110827931A CN 113448736 B CN113448736 B CN 113448736B
- Authority
- CN
- China
- Prior art keywords
- task
- execution
- time
- subtask
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000013507 mapping Methods 0.000 title claims abstract description 75
- 238000005457 optimization Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 title claims abstract description 20
- 238000004364 calculation method Methods 0.000 title claims abstract description 17
- 238000013508 migration Methods 0.000 claims abstract description 48
- 230000005012 migration Effects 0.000 claims abstract description 47
- 238000005265 energy consumption Methods 0.000 claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims abstract description 10
- 238000006467 substitution reaction Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000000354 decomposition reaction Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 239000002243 precursor Substances 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种近似计算任务在多核异构平台上基于能量和任务服务质量(QoS)联合优化映射方法,包括以下步骤:将具有相关性的实时任务建模为非精确计算任务模型,由此得到任务有向无环图和任务相关性矩阵;基于big.LITTLE多核异构处理平台,通过任务迁移,使得同个任务可在不同集群的处理器上执行,以提高任务分配和动态电压/频率调整的灵活性;通过引入任务分配、频率选择、实时性、任务非抢占性、任务相关性和能量消耗约束,构造了基于QoS和能量联合优化的任务映射问题;使用变量替代方法处理问题中的非线性项,将该任务映射问题线性化,以求得最优解;显著降低了问题求解的时间,提高了本任务映射方法的适用性。
Description
技术领域
本发明属于多核处理器任务调度领域,涉及一种基于能量和QoS联合优化的任务映射方法。
背景技术
嵌入式实时***被广泛地应用于网络服务器、信息检索、工业过程控制、飞行控制以及多媒体***等领域。实时***要求在规定的时限内产生结果,并且保证计算结果的准确性。如果***未能在截止时间前完成任务,可能会导致***故障,降低***的可靠性。传统的调度算法通常考虑任务的最坏执行情况,这样的调度方法会降低处理器的执行效率,浪费***资源。在任务调度过程中,引入近似计算,能够平衡***的能耗和计算结果的精度,提高***利用率和可靠性。因此,在资源受限的情况下,研究近似计算任务在多核异构处理平台上的优化调度问题具有重要的现实意义。
对于实时***,研究者一般使用动态电压和频率调节技术和动态功耗管理技术来优化***功耗。目前,在异构多核处理器的任务调度研究中,已经取得了很多的研究成果,但还存在以下问题:1)基于能量优化的任务调度方法中,任务的执行周期是固定的,在调度过程中***的资源利用率较低,同时***QoS固定,不能通过任务调整来提高***QoS;2)基于QoS优化的任务调度研究一般考虑近似计算任务模型,旨在能量受限的情况下最大化***QoS,但很少考虑任务迁移的情况;3)针对异构多核处理器,基于QoS和能量的联合优化任务映射问题具有较高的计算复杂度。
发明内容
本发明提出了一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法,在满足***实时性、能效性、可靠性的基础上,引入任务迁移技术,进一步提高***的QoS。
为实现本发明的目的,本发明所采用的技术方案是:一种近似计算任务在多核异构处理平台上基于能量和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]M×M来描述。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-1(Mi+oi)/(γ2i-1,kfl)。为了不引入额外的下标k,使用参数γi,l替换γi,k。γi,l表示以(Vl,fl)执行子任务τi ′的能效因子。因此在实时性方面需要加入以下约束:
4)非抢占性约束:本发明考虑的是非抢占式调度方法,即被分配到同一处理器上的任意两个不具有相关性的子任务不能被同时执行,其约束条件为:
tei≤tsj+(2-xi,k-xj,k)H+(1-pi,j)H#(8)
tej≤tsi+(2-xi,k-xj,k)H+pi,jH#(9)
5)任务相关性约束:本发明考虑的是具有相关性的任务集,任务根据有向无环图中的顺序严格执行,其约束条件为:
6)能量约束:本发明不考虑任务通信的能耗和时间,只考虑处理器的动态功耗和静态功耗,其中Pon表示保持内核开启的固有功耗,在任务映射过程中,***总能耗不能超过能量预算Ebuget,因此在能量方面需要加入以下约束:
其中,ti表示处理器处于空闲状态的时间。根据***功耗表达式Pcore,l=Psta,l+
Pdyn,l+Pon,可以将约束(11)进行如下转换:
该任务映射问题以QoS优化作为目标函数,而QoS与可选执行周期oi相关。本发明使用线性QoS函数fi(oi)=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和1/fl也可以被确定。因此,在公式(5)和(12)中,分别使用Pl ′、f2 ′ i-1和f2 ′ i代替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-1)(x-s2)≥0和(b-1)(x+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优化的任务映射方案。
有益效果:与现有技术相比,本发明的技术方案具有以下有益效果:1)本发明提供了一种有关近似计算任务在big.LITTLE多核异构平台上,基于QoS和能量联合优化的任务映射方法,能够明显提高***QoS。在资源受限的情况下,本发明提出的任务映射方法对实例1中随机生成的14个任务集进行调度,其***QoS平均提升了31.2%(最高能够提升112.8%)。2)原任务映射问题中存在连续变量与整型变量的耦合项等非线性项,该问题结构复杂,无法在短时间内求得最优解。针对原任务映射问题的结构,以牺牲求解精度为代价,本发明提供了一种低计算复杂度的启发式贪婪算法,能够显著降低算法的运行时间。以实例2中随机生成的任务集为例,与最优化方法相比(平均求解时间约为38s),本发明提出的启发式贪婪算法能够在可忽略的时间内(大约为0.04s)得到一个问题的次优解。
附图说明
图1是本发明提出的基于能量和QoS联合优化的任务映射方法的示意图;
图2是本发明实施例使用的任务有向无环图和引入任务迁移后扩展得到的任务图;
图3是本发明实例1配置任务数量为8,在big.LITTLE平台(big和LITTLE集群分别包含4个处理器)使用基于QoS和能量联合优化方法得到的任务映射结果示意图,其中τ′ 1-τ′ 16为任务图扩展后的子任务;
图4是本发明实例1配置任务数量为8,在big.LITTLE平台(big和LITTLE集群分别包含4个处理器)使用启发式贪婪方法得到的任务映射结果示意图,其中τ′ 1-τ′ 16为任务图扩展后的子任务;
图5是本发明实例2配置任务数量为5至18,对应随机生成的14个任务集,在任务映射中引入任务迁移和不采用任务迁移时求最优解得到的***QoS对比图;
图6是本发明实例2配置任务数量为5至15,对应随机生成的11个任务集,在任务映射中不采用任务迁移求最优解时任务调度失败比例图(ω=不采用任务迁移的调度失败次数/采用任务迁移的调度成功总次数);
图7是本发明实例2配置任务数量为5至8,对应随机生成的4个任务集,调整能量因子β(β取值范围为[0,0.5])和时间调节因子δ(δ取值范围为[0.4,1]),在任务映射中引入任务迁移时求最优解得到的***QoS对比图;
图8是本发明实例2配置任务数量为5至8,对应随机生成的4个任务集,调整任务有向无环图并行性因子η,在任务映射中引入任务迁移时求最优解得到的***QoS增量对比图;
图9是本发明实例2配置任务数量为5至8,对应随机生成的4个任务集,调整处理器异构性比例因子γL/γb(γL/γb取值范围为[0.5,1]),在任务映射中引入任务迁移时求最优解得到的***QoS增量对比图;
图10是本发明实例2配置任务数量为5至18,对应随机生成的14个任务集,能量因子β=0.4,时间调节因子δ=0.4,big集群异构性因子γb=1,LITTLE集群异构性因子γL=0.6时,使用求最优解和提出的启发式算法在QoS增量方面的对比图;
图11是本发明实例2配置任务数量为5至15时,使用求最优解和提出的启发式算法在算法运行时间方面的对比图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例1:一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法,包括如下步骤:
(1)将具有相关性的实时任务建模为非精确计算任务,由此得到任务有向无环图和任务相关性矩阵;
(2)基于big.LITTLE多核异构平台,通过任务迁移,使得同一任务可在不同集群的处理器上执行,以提高任务分配和动态电压和频率调整的灵活性;
(3)通过引入任务分配、频率选择、实时性、任务非抢占性、任务相关性和能量消耗约束,构造了基于QoS和能量联合优化的任务映射问题;
(4)使用变量替代方法处理问题中的非线性项,将(3)中提出的任务映射问题转换为混合整型线性规划问题,并使用最优化方法求解;
(5)针对(3)中提出的问题,利用问题分解的方法,设计了一种低计算复杂度的启发式算法,显著降低了问题求解的时间,提高了本任务映射方法的适用性。
图1是本发明提出的基于能量和QoS联合优化的任务映射方法的示意图,图2为本发明实施例使用的任务有向无环图和引入任务迁移后扩展得到的任务图,下面参照图1和图2中的任务映射方法和任务有向无环图示例,详细说明各个步骤。
步骤(1),可以将可用N个具有相关性的非精确计算(Imprecise Computation,IC)任务{τ1,τ2,…,τN}来描述实时***的任务模型,由此可以得到任务的有向无环图。对于任务τi,IC任务在逻辑上被分为强制执行部分和可选执行部分。Mi表示任务τi的强制执行周期,变量oi表示可选执行周期,Di表示任务的截止时间。可选执行周期oi不应该超过上界Oi,即0≤oi≤Oi。对于近似计算任务的调度,任务的强制执行部分和可选执行部分之间有着严格的执行顺序约束:必须在完成强制部分任务之后,才能执行可选部分任务。任务的相关性可用一个二进制矩阵q=[qij]M×M来描述。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-1(Mi+oi)/(γ2i-1,kfl)。为了不引入额外的下标k,使用参数γi,k替换为γi,l。γi,l表示以(Vl,fl)执行子任务τi ′的能效因子。因此在实时性方面需要加入以下约束:
4)非抢占性约束:本发明考虑的是非抢占式(Non-preemtive)调度方法,即被分配到同一处理器上的任意两个不具有相关性的子任务不能被同时执行,其约束条件为:
tei≤tsj+(2-xi,k-xj,k)H+(1-pi,j)H#(8)
tej≤tsi+(2-xi,k-xj,k)H+pi,jH#(9)
5)任务相关性约束:本发明考虑的是具有相关性的任务集,任务根据有向无环图中的顺序严格执行,其约束条件为:
6)能量约束:本发明不考虑任务通信的能耗和时间,只考虑处理器的动态功耗和静态功耗,其中Pon表示保持内核开启的固有功耗。在任务映射过程中,***总能耗不能超过能量预算Ebuget,因此在能量方面需要加入以下约束:
其中,ti表示处理器处于空闲状态的时间。根据***功耗表达式Pcore,l=Psta,l+
Pdyn,l+Pon,可以将约束(11)进行如下转换:
该任务映射问题以QoS优化作为目标函数,而QoS与可选执行周期oi相关。本发明使用线性QoS函数fi(oi)=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和1/fl也可以被确定。因此,在公式(5)和(12)中,分别使用Pl ′、f2 ′ i-1和f2 ′ i代替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-1)(x-s2)≥0和(b-1)(x+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优化的任务映射方案。
实施例2:
图5至图11为本发明的实验结果图。
图5是本发明实例2配置任务数量为5至18,对应随机生成的14个任务集,在任务映射中引入任务迁移和不采用任务迁移时求最优解得到的***QoS对比图。由图可知,在任务映射中引入任务迁移能够明显提升***的QoS。
图6是本发明实例2配置任务数量为5至15,对应随机生成的11个任务集,在任务映射中不采用任务迁移求最优解时任务调度失败比例图(ω=不采用任务迁移的调度失败次数/采用任务迁移的调度成功总次数)。随着任务集规模增大,不采用任务迁移求最优解时,任务调度失败的比例明显上升。由此可见,引入任务迁移,能够在一定程度上增加调度成功的比例。
图7是本发明实例2配置任务数量为5至8,对应随机生成的4个任务集,调整能量因子β(β取值范围为[0,0.5])和时间调节因子δ(δ取值范围为[0.4,1]),在任务映射中引入任务迁移时求最优解得到的***QoS对比图。由图可知,当能量因子β和时间调节因子δ较小(资源受限)时,采用引入任务迁移的任务映射方法,提升***QoS的效果越好。
图8是本发明实例2配置任务数量为5至8,对应随机生成的4个任务集,调整任务有向无环图并行性因子η,在任务映射中引入任务迁移时求最优解得到的***QoS增量对比图。由图可知,DAG任务图的并行性越低,引入任务迁移的调度方案得到的***QoS增量越大。
图9是本发明实例2配置任务数量为5至8,对应随机生成的4个任务集,调整处理器异构性比例因子γL/γb(γL/γb取值范围为[0.5,1]),在任务映射中引入任务迁移时求最优解得到的***QoS增量对比图。由图可知,当γL/γb的取值较小,即big和LITTLE集群中处理器的性能差距较为明显时,引入任务迁移的调度方案对***QoS的提升更有利。
图10是本发明实例2配置任务数量为5至18,对应随机生成的14个任务集,能量因子β=0.4,时间调节因子δ=0.4,big集群异构性因子γb=1,LITTLE集群异构性因子γL=0.6时,使用求最优解和提出的启发式算法在QoS增量方面的对比图。由图可知,在任务映射中引入任务迁移后,使用求最优解方法得到的映射方案能够显著提升***QoS,而启发式算法能够得到一个***QoS的次优解。
图11是本发明实例2配置任务数量为5至15时,使用求最优解和提出的启发式算法在算法运行时间方面的对比图。结合图10可知,启发式算法以牺牲***QoS为代价,显著提升了任务调度算法的运行速度。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (1)
1.一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法,其特征在于,包括如下步骤:
(1)将具有相关性的实时任务建模为非精确计算任务,由此得到任务有向无环图和任务相关性矩阵;
(2)基于big.LITTLE多核异构平台,通过任务迁移,使得同一任务可在不同集群的处理器上执行,以提高任务分配和动态电压和频率调整的灵活性;
(3)通过引入任务分配、频率选择、实时性、任务非抢占性、任务相关性和能量消耗约束,构造了基于QoS和能量联合优化的任务映射问题;
(4)使用变量替代方法处理问题中的非线性项,将(3)中提出的任务映射问题转换为混合整型线性规划问题,并使用最优化方法求解;
(5)针对(3)中提出的问题,利用问题分解的方法,设计了一种低计算复杂度的启发式算法;
其中,步骤(1)中,将可用N个具有相关性的非精确计算(Imprecise Computation,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-1(Mi+oi)/(γ2i-1,kfl),为了不引入额外的下标k,使用参数γi,l替换γi,k,γi,l表示以(Vl,fl)执行子任务τ′i的能效因子,在实时性方面需要加入以下约束:
4)非抢占性约束:考虑的是非抢占式调度方法,即被分配到同一处理器上的任意两个不具有相关性的子任务不能被同时执行,其约束条件为:
tei≤tsj+(2-xi,k-xj,k)H+(1-pi,j)H#(8)
tej≤tsi+(2-xi,k-xj,k)H+pi,jH#(9)
5)任务相关性约束:考虑的是具有相关性的任务集,任务根据有向无环图中的顺序严格执行,其约束条件为:
6)能量约束:不考虑任务通信的能耗和时间,只考虑处理器的动态功耗和静态功耗,其中Pon表示保持内核开启的固有功耗,在任务映射过程中,***总能耗不能超过能量预算Ebuget,在能量方面加入以下约束:
其中,ti表示处理器处于空闲状态的时间,根据***功耗表达式Pcore,l=Psta,l+Pdyn,l+Pon,将约束(11)进行如下转换:
该任务映射问题以QoS优化作为目标函数,而QoS与可选执行周期oi相关,使用线性QoS函数fi(oi)=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和1/fl也被确定,因此,在公式(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-1)(x-s2)≥0和(b-1)(x+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优化的任务映射方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110827931.9A CN113448736B (zh) | 2021-07-22 | 2021-07-22 | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110827931.9A CN113448736B (zh) | 2021-07-22 | 2021-07-22 | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448736A CN113448736A (zh) | 2021-09-28 |
CN113448736B true CN113448736B (zh) | 2024-03-19 |
Family
ID=77816967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110827931.9A Active CN113448736B (zh) | 2021-07-22 | 2021-07-22 | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448736B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003359B (zh) * | 2021-10-20 | 2024-07-16 | 上海交通大学 | 基于弹性持久的线程块的任务调度方法、***及gpu |
CN115904705B (zh) * | 2022-11-09 | 2023-10-24 | 成都理工大学 | 一种多处理器限制性抢占最优调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核***静态任务调度方法 |
CN105260237A (zh) * | 2015-09-29 | 2016-01-20 | 中南大学 | 异构多核平台的任务调度***及其调度方法 |
KR101879419B1 (ko) * | 2017-03-15 | 2018-08-17 | 주식회사 클래스액트 | 병렬처리 알고리즘을 이용한 태스크 분배 방법 |
CN112328380A (zh) * | 2020-11-10 | 2021-02-05 | 武汉理工大学 | 一种基于异构计算的任务调度方法及装置 |
-
2021
- 2021-07-22 CN CN202110827931.9A patent/CN113448736B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核***静态任务调度方法 |
CN105260237A (zh) * | 2015-09-29 | 2016-01-20 | 中南大学 | 异构多核平台的任务调度***及其调度方法 |
KR101879419B1 (ko) * | 2017-03-15 | 2018-08-17 | 주식회사 클래스액트 | 병렬처리 알고리즘을 이용한 태스크 분배 방법 |
CN112328380A (zh) * | 2020-11-10 | 2021-02-05 | 武汉理工大学 | 一种基于异构计算的任务调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113448736A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ma et al. | An IoT-based task scheduling optimization scheme considering the deadline and cost-aware scientific workflow for cloud computing | |
Safari et al. | Energy-aware scheduling algorithm for time-constrained workflow tasks in DVFS-enabled cloud environment | |
CN113448736B (zh) | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 | |
Ripoll et al. | Period selection for minimal hyperperiod in periodic task systems | |
US20210304066A1 (en) | Partitioning for an execution pipeline | |
Shirvani et al. | A novel hybrid heuristic-based list scheduling algorithm in heterogeneous cloud computing environment for makespan optimization | |
Sulaiman et al. | A hybrid list-based task scheduling scheme for heterogeneous computing | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
Thammawichai et al. | Energy-efficient real-time scheduling for two-type heterogeneous multiprocessors | |
CN115934362B (zh) | 面向深度学习的服务器无感知计算集群调度方法及产品 | |
Tariq et al. | Directed acyclic graph based task scheduling algorithm for heterogeneous systems | |
Bertout et al. | Workload assignment for global real-time scheduling on unrelated multicore platforms | |
Gu et al. | Scheduling spark tasks with data skew and deadline constraints | |
Liu et al. | Energy aware list-based scheduling for parallel applications in cloud | |
Zhang et al. | Sensitivity analysis of arbitrary deadline real-time systems with EDF scheduling | |
Bahnasawy et al. | Optimization procedure for algorithms of task scheduling in high performance heterogeneous distributed computing systems | |
CN115328628A (zh) | 一种基于能量优化的多核异构NoC平台任务执行方法 | |
Eswari et al. | A level-wise priority based task scheduling for heterogeneous systems | |
Capannini et al. | A job scheduling framework for large computing farms | |
Zhang et al. | Machine learning on volatile instances: Convergence, runtime, and cost tradeoffs | |
Sun et al. | HEFT-dynamic scheduling algorithm in workflow scheduling | |
Rubio-Anguiano et al. | Accounting for preemption and migration costs in the calculation of hard real-time cyclic executives for MPSoCs | |
Tian-mei-zi et al. | k-HEFT: A static task scheduling algorithm in clouds | |
Chen et al. | A scheduling algorithm for heterogeneous computing systems by edge cover queue | |
CN112328355B (zh) | 一种针对长寿命容器的自适应最优内存预留估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |