CN111274030A - 一种面向应用特征的高效多处理器片上系统设计空间开采方法 - Google Patents
一种面向应用特征的高效多处理器片上系统设计空间开采方法 Download PDFInfo
- Publication number
- CN111274030A CN111274030A CN202010046975.3A CN202010046975A CN111274030A CN 111274030 A CN111274030 A CN 111274030A CN 202010046975 A CN202010046975 A CN 202010046975A CN 111274030 A CN111274030 A CN 111274030A
- Authority
- CN
- China
- Prior art keywords
- solution
- design
- solutions
- generation
- value
- 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.)
- Granted
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Physiology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种面向应用特征的高效多处理器片上系统设计空间开采方法。解决面向特定应用需求的多个设计目标的多处理器片上系统的设计效率问题。针对具有不同特征的应用集合高效地实现多处理器片上系统的多目标优化设计。通过遗传算法来提升设计空间开采的效率。本方法可以有效简化多处理器片上系统设计的复杂度,将复杂的设计问题进行量化评估,取得更好的设计效果,有效提升复杂多处理器片上系统设计效率和设计质量。
Description
技术领域
本发明涉及多处理器片上系统设计领域,具体涉及一种面向应用特征的高效多处理器片上系统设计空间开采方法。
背景技术
当今的嵌入式领域有两个明显的发展趋势。从嵌入式产品的硬件实现方式来看,例如职能手机、数字电视等电子消费品,这些产品逐渐采用多处理器片上系统来满足日益复杂的嵌入式应用在性能、功耗上的需求。随着工艺的发展,多处理器片上系统所集成的处理单元的数目也在稳步增加。嵌入式系统的第二个明显的发展趋势是其日益增加的应用需求。当今的多处理器片上系统所需要支持应用数量在不断增加,多个不同的应用会在系统上同时运行竞争系统的资源,其中部分应用可能需要支持不同的执行模式。
针对嵌入式领域的两个主要发展趋势,现有的嵌入式多处理器片上系统的设计空间开采主要采用穷举搜索来找出符合目标应用性能需求的功耗、成本最优设计方案。然而随着应用飞速发展,系统所需支持的应用种类、数量以及复杂度都在日益增加。在嵌入式系统设计方面,各部件如存储器、CPU的可选解决方案也随着技术的发展而快速增加。上述发展趋势使得传统基于穷举搜索的设计空间开采方法难以在可接受的时间范围(数十小时量级)找到最佳设计方案,急需寻求新的设计方法。本发明主要提出一种高效的设计空间开采方法提高面向特定应用需求的兼顾多个设计目标如性能、功耗、设计成本的多处理器片上系统的设计效率。
发明内容
为解决面向特定应用需求的兼顾多个设计目标如性能、功耗、设计成本的多处理器片上系统的设计效率问题,特提出一种面向应用特征的高效多处理器片上系统设计空间开采方法。
假设目标嵌入式系统所需支持的应用集可以划分为I个任务(可软/硬件实现),可供硬件选择的不同处理器的数量有J个,在不考虑系统存储和通信组织方式的情况下(默认共享存储方式)都需要考虑JI种可能的实现方案,在这个巨大解空间里要找出最符合设计目标的系统,其工作量是十分庞大的,随着I和J的增加,其解空间呈指数级增长。如何高效地从海量可选设计中找到针对应用集合的功耗、成本最优设计方案是本发明要解决的核心技术问题。
技术方案:
本发明提出了一种面向应用特征的高效多处理器片上系统设计空间开采方法,以提高面向特定应用需求的多处理器片上系统多目标优化设计的效率,其实现机制如下:
A. 面向应用特征的多处理器片上系统设计问题抽象。a) 应用特征提取。针对所需要处理的应用,将应用划分相互各个相对独立的子任务来开发应用中任务级并行,单个应用之间的任务可能存在不同程度的通信需求。在划分完应用任务后,所需要处理的应用集可以表示为A = (T,C),其中T是应用中所有计算任务的集合,而C则是计算任务之间的通信任务的集合。b) 系统结构模型。在系统结构层次上,片上多处理器可以被抽象为多个相互连接模块。我们将其表示为S=(P,V),其中P是系统中所有设计可选的处理单元的集合,V为各个处理单元之间可选通信通道(包括通信链路和与之对应的缓冲区)的集合。c) 任务映射模型:任务映射定义了应用到处理器资源的分配和绑定情况。在给定目标应用和多处理器片上系统结构的情况下,任务的映射可以被定义为(μ:T->P, η:C->V),对∀c∊C, src(η(c)) = μ(src(c)) ∧ dst(η(c)) = μ(dst(c))。d) 系统多目标优化问题定义。对于目标应用集A,所需要解决的问题是在所有的可选的系统结构S中找到满足应用性能需求的最佳系统结构和对应的应用到系统之间的映射,其优化目标包括功耗、成本等多个设计目标。
B. 基于启发式算法的高效设计空间开采。为了在庞大的设计空间找到最优设计,需要设计高效的搜索算法。本发明所提出的设计空间开采算法采用应用特定领域知识来指导传统遗传算法实现优化搜索,从而提升设计空间开采效率。具体步骤如下:
a) 设计空间的解编码:针对具有N个任务的目标应用集,每个可选设计的编码长度为N,每个编码位置取值范围为[1,N*M],其中M是可选处理器类型的数量。任务间通信开销采用隐含编码方式,即如果两个存在通信需求的任务映射到同一处理器上,则采用核内共享存储资源计算通信开销,否则采用核间共享存储资源计算通信开销。
b) 可选设计目标评估方法:在设计空间开采过程中,需要针对所搜索的设计实例进行计算,来评估该可选设计在各设计目标上的值。针对不同设计目标,可以采用不同的评估方法,例如数学计算模型、各种不同精度的模拟器等,不同评估方法会带来评估时间开销的不同。在设计空间巨大的场景中,采用耗时最小的数据计算模型可有效降低搜索时间开销。本发明不针对该部分进行具体限制。
c) 遗传算法目标函数设置:根据系统设计的目标,将各个不同的设计目标做最小化的归一计算处理D = w1*(t1/tmax1) + w2*(t2/tmax2) … + wn*(tn/tmaxn),其中wx是目标x的权重系数,可根据设计需求设置;tx是可选设计在目标x上的测量值,该值根据目标评估函数确定;tmaxx为目标x的极限值,该值根据目标任务和可选设计确定,例如在性能计算上,计算所有任务在性能最差处理器全串行执行所需的计算时间作为最大值。函数执行的目标是找到设计空间中D的最小值。当存在最大最优目标时,可将目标变换为wy*((tmaxn-tn)/tmaxn),从而转换为最小最优。
d) 遗传算法初始解的选择以及新解的生成:为保障搜索算法的过早陷入局部最优,初始解的选择采用随机生成方法,即在长度为N的解编码每一位置都随机生成一个[1,N*M]的数值,初始解的数量为ε,其取值根据设计空间大小选择数十到数千。每一代的解通过交叉和变异操作生成新的解,新解的数量为ε,交叉变异操作的执行概率分别为ƛ和1-ƛ。交叉操作通过随机选择两个解,并以较小概率¢选择通信量最大的两个任务作为交叉点,以1-¢的概率随机选择交叉点,通过领域知识指导交叉操作来提升搜索效率。变异操作则采用随机方式选择一个变异点,在变异点从[1,N*M]中随机选择一个和原值不同的值作为变异值。最后在上一代的解和新生成的解中随机保留ε-1个解作下一代保留的解参与后续的迭代,同时将上一代中D最小值作为该代最优解保留到下一代中。
e) 搜索停止设置:在搜索过程中如果重复出现S次最小D值不变的情况,则可停止搜索;在搜索空间巨大,D值难以收敛的情况,需要设置最大搜索次数G,当搜索迭代达到G则停止搜索。停止搜索后,输出最后一代中D值最小值作为搜索最优解。
本发明的优点在于,
第一:可以兼容当前多处理器片上系统设计空间开采所采用的数学模型或者模拟器穷举搜索的设计方法,其数学模型和模拟器可以有效用于领域知识指导的遗传优化搜索中;
第二:由本发明提出的面向应用特征的多处理器片上系统多目标优化设计问题抽象可以有效简化多处理器片上系统设计的复杂度,将复杂的设计问题进行量化评估,取得更好的设计效果。该问题抽象模型还可以用于抽象众多资源调度类问题。
第三:本发明的核心部分基于应用知识指导的遗传优化搜索方法针对复杂多处理器片上系统设计空间开采问题进行求解,通过在多目标优化设计抽象模型基础上,结合应用相关的领域知识来提高遗传算法搜索效率,可以有效提升复杂多处理器片上系统设计效率和设计质量。
附图说明
图1为本发明的领域知识指导的多处理器片上系统多目标优化设计空间开采工作流程图。
具体实施方式
本发明的目的是针对具有不同特征的应用集合高效地实现多处理器片上系统的多目标优化设计。在设计空间十分巨大的情况下,通过应用相关的领域知识指导搜索效果好但计算量大的遗传算法来提升设计空间开采的效率。
本发明提出的一种面向应用特征的高效多处理器片上系统设计空间开采方法主要包含两个部分:数学模型的抽象和基于应用知识指导的遗传优化搜索方法。其中数学模型的抽象在上述技术方案A部分定义。根据这一数学抽象采用基于应用知识指导的遗传优化搜索方法进行问题求解,具体操作流程如图1所示:
(1)定义解编码:针对具有N个任务的目标应用集,每个任务都有M个处理器作为可选设计实现,单个可选解的编码规范为X1X2…Xn,Xi的取值范围为[1,N*M],在该编码规范下,存在通讯任务如果映射到相同的处理器,例如任务1和任务2之间存在通信,并且X1=X2则默认采用核内的共享存储器进行通信,否则采用核间的共享存储器进行通信。
(2)解质量评估:解的质量评估采用上述技术方案B部分c)小节定义最小化的归一目标函数D = w1*(t1/tmax1) + w2*(t2/tmax2) … + wn*(tn/tmaxn)进行评价,每个ti取值是将解输入到数学计算模型或者模拟器获得,需根据具体目标设置。
(3)初始解的生成:如图1~1所示,首先根据设计空间的规模确定初始解的数量为ε。采用随机数生成算法产生N个[1,N*M]的随机数作为一个随机解,按此方法随机生成ε个解作为初始解,即遗传算法的第一代解。
(4)新解的产生:如图1~2所示,每一个新解的生成有两种方式,一种是从本代的解中随机选择两个解执行交叉操作,本发明中的交叉操作采用应用相关的领域知识辅助交叉操作执行,即以¢的概率将通信量最大的两个临近任务作为交叉点,以1-¢的概率随机选择交叉点,生成的两个新解中只保留目标评测函数取值更优的解;另一种是从本代解中随机选择一个解执行变异操作,通过随机选择变异点,以随机变异的方式,即通过随机数生成算法生成一个和变异点原值不同的新值作为新解。每个新解以ƛ的概率通过交叉操作产生,以1-ƛ的概率通过变异操作产生,产生新解的数目为ε。
(5)下一代解的选择:如图1~3所示,下一代解的产生是从上一代的解和新生成的解中选择而来。选择方法将上一代解中的最优解,即D值最小解保留到下一代解中,其余ε-1个解从上一代剩余解和新生成的解中随机选择保留,从而产生新一代的ε个解。
(6)搜索停止:如图1~4所示,在搜索过程中如果重复出现S次最小D值不变的情况,则可停止搜索;在搜索空间巨大,D值难以收敛的情况,需要设置最大搜索次数G,当搜索迭代达到G则停止搜索。停止搜索后,输出最后一代中D值最小值作为搜索最优解。
(7)参数调优:遗传算法参数的设置可以根据前期的测试运行进行调优,根据算法收敛的速度可以对ε、ƛ、¢、S、D的取值进行调整,以获得更好的搜索效率与搜索质量的折中。
显然,本领域的技术人员可以根据本发明的技术构思对本发明进行各种改动和变形,而这些修改和变形属于本发明权利要求及等同技术范围之内,则都应属于本发明权利要求的保护范围。
Claims (5)
1.一种面向应用特征的高效多处理器片上系统设计空间开采方法,包含数学模型的抽象和遗传优化搜索方法,其特征在于,
所述数学模型的抽象具体内容包括:
A. 面向应用特征的多处理器片上系统设计问题抽象;
a) 应用特征提取,针对所需要处理的应用,将应用划分相互相对独立的子任务来开发应用中任务级并行,在划分完应用任务后,所需要处理的应用集表示为A =(T,C),其中T是应用中所有计算任务的集合,而C则是计算任务之间的通信任务的集合;
b) 系统结构模型,在系统结构层次上,片上多处理器被抽象为多个相互连接模块,其表示为S=(P,V),其中P是系统中所有设计可选的处理单元的集合,V为各个处理单元之间可选通信通道的集合;
c) 任务映射模型,在给定目标应用和多处理器片上系统结构的情况下,任务的映射定义为(μ:T->P, η:C->V),对∀c∊C, src(η(c)) = μ(src(c)) ∧ dst(η(c)) = μ(dst(c));
d) 系统多目标优化定义;对于目标应用集A,所需要解决的问题是在所有的可选的系统结构S中找到满足应用性能需求的最佳系统结构和对应的应用到系统之间的映射;
所述遗传优化搜索方法具体过程包括:
(1)定义解编码:针对具有N个任务的目标应用集,每个任务都有M个处理器作为可选设计实现,单个可选解的编码规范为X1X2…Xn,Xi的取值范围为[1,N*M],通讯任务如果映射到相同的处理器,则默认采用核内的共享存储器进行通信,否则采用核间的共享存储器进行通信;
(2)解质量评估;
(3)初始解的生成:首先确定初始解的数量为ε,采用随机数生成算法产生N个[1,N*M]的随机数作为一个随机解,随机生成ε个解作为初始解,即遗传算法的第一代解;
(4)新解的产生;
(5)下一代解的选择:下一代解的产生是从上一代的解和新生成的解中选择而来;
(6)搜索停止。
2.根据权利要求1所述的一种面向应用特征的高效多处理器片上系统设计空间开采方法,其特征在于,所述解质量评估采用最小化的归一目标函数D = w1*(t1/tmax1) + w2*(t2/tmax2) … + wn*(tn/tmaxn)进行评价,其中wx是目标x的权重系数,根据设计需求设置;tx是可选设计在目标x上的测量值,该值根据目标评估函数确定;tmaxx为目标x的极限值。
3.根据权利要求1所述的一种面向应用特征的高效多处理器片上系统设计空间开采方法,其特征在于,所述新解的生成有两种方式,一种是从本代的解中随机选择两个解执行交叉操作,即以¢的概率将通信量最大的两个临近任务作为交叉点,以1-¢的概率随机选择交叉点,生成的两个新解中只保留目标评测函数取值更优的解;另一种是从本代解中随机选择一个解执行变异操作,通过随机选择变异点,通过随机数生成算法生成一个和变异点原值不同的新值作为新解,每个新解以ƛ的概率通过交叉操作产生,以1-ƛ的概率通过变异操作产生,产生新解的数目为ε。
4.根据权利要求1所述的一种面向应用特征的高效多处理器片上系统设计空间开采方法,其特征在于,所述下一代解的选择方法是:将上一代解中的最优解,即D值最小解保留到下一代解中,其余ε-1个解从上一代剩余解和新生成的解中随机选择保留,从而产生新一代的ε个解。
5.根据权利要求1所述的一种面向应用特征的高效多处理器片上系统设计空间开采方法,其特征在于,所述搜索停止是:在搜索过程中如果重复出现S次最小D值不变的情况,则停止搜索;在D值难以收敛的情况,设置最大搜索次数G,当搜索迭代达到G则停止搜索,停止搜索后,输出最后一代中D值最小值作为搜索最优解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010046975.3A CN111274030B (zh) | 2020-01-16 | 2020-01-16 | 一种面向应用特征的高效多处理器片上系统设计空间开采方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010046975.3A CN111274030B (zh) | 2020-01-16 | 2020-01-16 | 一种面向应用特征的高效多处理器片上系统设计空间开采方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274030A true CN111274030A (zh) | 2020-06-12 |
CN111274030B CN111274030B (zh) | 2022-09-23 |
Family
ID=71001084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010046975.3A Active CN111274030B (zh) | 2020-01-16 | 2020-01-16 | 一种面向应用特征的高效多处理器片上系统设计空间开采方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274030B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484512A (zh) * | 2016-10-08 | 2017-03-08 | 电子科技大学 | 计算单元的调度方法 |
CN109800071A (zh) * | 2019-01-03 | 2019-05-24 | 华南理工大学 | 一种基于改进遗传算法的云计算任务调度方法 |
-
2020
- 2020-01-16 CN CN202010046975.3A patent/CN111274030B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484512A (zh) * | 2016-10-08 | 2017-03-08 | 电子科技大学 | 计算单元的调度方法 |
CN109800071A (zh) * | 2019-01-03 | 2019-05-24 | 华南理工大学 | 一种基于改进遗传算法的云计算任务调度方法 |
Non-Patent Citations (1)
Title |
---|
罗莉等: "一种有效的面向多目标软硬件划分的遗传算法", 《计算机科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111274030B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Multiobjective computation offloading for workflow management in cloudlet‐based mobile cloud using NSGA‐II | |
CN108268710B (zh) | 一种基于遗传算法的ima系统动态重构策略优化方法 | |
CN106933649B (zh) | 基于移动平均和神经网络的虚拟机负载预测方法及系统 | |
CN107908536B (zh) | Cpu-gpu异构环境中对gpu应用的性能评估方法及系统 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN115168027B (zh) | 一种基于深度强化学习的算力资源度量方法 | |
Liu et al. | A task oriented computation offloading algorithm for intelligent vehicle network with mobile edge computing | |
CN116541176A (zh) | 算力资源分配的优化方法、优化装置、电子设备和介质 | |
CN114915630A (zh) | 基于物联网设备的任务分配方法、网络训练方法及装置 | |
CN109558248B (zh) | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 | |
CN112434785B (zh) | 一种面向超级计算机的分布式并行深度神经网络性能评测方法 | |
CN111831354A (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
Wang et al. | Decomposition-based multi-objective evolutionary algorithm for virtual machine and task joint scheduling of cloud computing in data space | |
Russo et al. | MEDEA: A multi-objective evolutionary approach to DNN hardware mapping | |
CN108139929B (zh) | 用于调度多个任务的任务调度装置和方法 | |
CN111274030B (zh) | 一种面向应用特征的高效多处理器片上系统设计空间开采方法 | |
CN113747500B (zh) | 复杂异构移动边缘计算中基于生成对抗式网络的高能效低延迟工作流应用迁移方法 | |
Chis et al. | Multi-objective DSE algorithms' evaluations on processor optimization | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载系统及方法 | |
Zhang et al. | Task offloading for scientific workflow application in mobile cloud | |
TWI776212B (zh) | 用於積體電路加速器之系統、方法及電腦儲存媒體 | |
Zhong et al. | Multiobjective African Vulture Scheduling Algorithm in Green Mobile Edge Computing | |
CN118590941B (zh) | 任务卸载优化方法、装置、设备、存储介质和程序产品 | |
CN117076098B (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 |