CN115543587B - 一种使用寿命驱动的OpenCL应用调度方法及系统 - Google Patents

一种使用寿命驱动的OpenCL应用调度方法及系统 Download PDF

Info

Publication number
CN115543587B
CN115543587B CN202211502820.1A CN202211502820A CN115543587B CN 115543587 B CN115543587 B CN 115543587B CN 202211502820 A CN202211502820 A CN 202211502820A CN 115543587 B CN115543587 B CN 115543587B
Authority
CN
China
Prior art keywords
application
resource utilization
utilization rate
scheduling table
threshold 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.)
Active
Application number
CN202211502820.1A
Other languages
English (en)
Other versions
CN115543587A (zh
Inventor
曹坤
陈冠宗
翁健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN202211502820.1A priority Critical patent/CN115543587B/zh
Publication of CN115543587A publication Critical patent/CN115543587A/zh
Application granted granted Critical
Publication of CN115543587B publication Critical patent/CN115543587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明提供了一种使用寿命驱动的OpenCL应用调度方法及系统,包括以下步骤:读取CPU‑GPU多处理器片上系统中的应用参数和处理器参数;对任务队列中的应用生成静态调度表;对任务队列中的应用生成动态调度表;定期调用主控制算法生成应用调度表;调度结束。使用本发明能够在满足时序、能耗、峰值温度以及使用寿命的约束下,最小化系统的平均延迟。

Description

一种使用寿命驱动的OpenCL应用调度方法及系统
技术领域
本发明涉及CPU-GPU多处理器片上系统中使用寿命驱动的OpenCL应用调度技术领域,具体涉及一种使用寿命驱动的OpenCL应用调度方法及系统。
背景技术
随着半导体技术的快速发展以及对应用性能要求的日益提高,多处理器已经取代单处理器,成为当代和下一代处理器的设计规范。在多处理器设计方法中,集成中央处理器(Central Processing Unit, CPU)和图形处理器(Graphics Processing Unit, GPU)的多处理器片上系统可以充分发挥GPU核心的并行计算能力和CPU核心的通用计算能力。开放计算语言(Open Computing Language,OpenCL)支持多级别的线程并行化,可以将应用高效地映射到同构或异构、单个或多个CPU或GPU核心。对于一个OpenCL应用,存在一个使该应用获得最优性能的CPU负载,当更多的CPU核心参与到应用程序的执行时,应用的性能不会进一步的提升,反而会产生额外的能量和延迟开销。同时,对于配备有限冷却技术的CPU-GPU多处理器片上系统,迫切需要使用有效的热管理技术,以实现将芯片的峰值温度保持在指定的温度范围内。因此,在峰值温度限制条件下,最大程度地提高系统的效率,最小化应用的平均延迟,已经成为一个非常重要的研究课题。
在如何优化OpenCL应用在CPU-GPU多处理器片上系统的性能上,现有的研究大多数集中在设计优化算法、静态算法、或是动态和静态混合算法,以及对系统的峰值温度、应用的能耗和延迟进行优化。但是在相关的研究中,考虑了应用能耗、应用延迟、系统温度、以及系统寿命,目前,几乎没有对OpenCL应用同时考虑到这四个因素的研究工作。因此,迫切需要对使用寿命驱动的OpenCL应用调度研究,在满足应用能耗、系统温度和寿命的约束下,最小化OpenCL应用的平均延迟。
发明内容
为解决上述问题,本发明提出了一种使用寿命驱动的OpenCL应用调度方法及系统,能够在满足时序、能耗、峰值温度以及使用寿命的约束下,最小化CPU-GPU多处理器片上系统的平均延迟。
为实现上述目的,本发明提供了一种使用寿命驱动的OpenCL应用调度方法,包括以下步骤:
S1:获取CPU-GPU多处理器片上系统中的应用参数和处理器参数;
S2:基于所述应用参数和所述处理器参数,对任务队列中的应用生成静态调度表;
S3:基于所述静态调度表,对任务队列中的应用生成动态调度表;
S4:基于所述动态调度表,定期调用主控制算法生成应用调度表;
S5:基于所述应用调度表,执行应用,调度结束。
优选的,所述S2中,对任务队列中的应用生成静态调度表的方法包括:
S21:初始化概率向量和迭代计数器,并利用样本生成函数生成若干个拉丁超立方采样样本;
S22:调用应用选择函数,从应用合集中随机选择若干个应用对若干个所述拉丁超立方采样样本进行微调操作;
S23:计算每个微调操作后的所述拉丁超立方采样样本对应的性能,按照性能递减排序所述拉丁超立方采样样本,选取若干个预设精英样本的下标集合;
S24:计算若干个所述预设精英样本的下标集合迭代的阈值;
S25:根据所述预设精英样本,更新迭代概率向量;
S26:基于满足迭代条件的所述阈值和所述概率向量,生成静态调度表。
优选的,所述S3中,对任务队列中的应用生成动态调度表的方法包括:
S31:输入一个预先设定的违背率阈值至PID控制算法中;
S32:若当前的约束条件违背等级大于所述违背率阈值,则迭代地优化所述CPU-GPU多处理器片上系统的资源利用率控制变量,并使用PID控制器对应用执行状态采样并更新约束条件违背等级;
S33:若当前的约束条件违背等级小于所述违背率阈值,则输出所述CPU-GPU多处理器片上系统的资源利用率控制变量,并将所述资源利用率控制变量、准入队列里的应用个数和等待队列中的应用个数输入至应用准入控制算法;
S34:若所述资源利用率控制变量大于0,则根据EDF算法对等待队列里的应用排序,并对等待队列中的队头应用分配,获得资源利用率的阈值;
S35:若所述资源利用率控制变量大于所述资源利用率的阈值,则更新资源当前利用率和所述资源利用率控制变量;并从等待队列中删除队头应用,使用EDF算法对等待队列里的应用重新进行排序并更新准入队列里应用的个数;
S36:若所述资源利用率控制变量小于所述资源利用率的阈值,则输出资源利用率的阈值集合,并输入至应用执行控制算法;
S37:调用函数CoreldleCheck(),若所述CPU-GPU多处理器片上系统中存在处于空闲状态的核心,则所述函数CoreldleCheck()的返回值为1,当所述返回值为1并且所述资源利用率的阈值大于0,则随机分配一个空闲核心给应用,并计算资源利用率增量;
S38:基于所述资源利用率增量,更新所述资源利用率的阈值,当所述资源利用率的阈值耗尽时,返回下一个应用的调度方案,并输出准入队列里的应用调度表,即动态调度表。
优选的,所述S4中,定期调用主控制算法生成应用调度表的方法包括:
S41:将应用集合输入至主控制算法;
S42:基于所述应用集合,调用所述PID控制算法获取资源利用率控制变量;
S43:基于所述资源利用率控制变量,调用所述应用准入控制算法获取准入队列里应用并输出资源利用率的阈值集合;
S44:若所述阈值集合不为空,调用所述应用执行控制算法生成应用调度表。
本发明还提供了一种使用寿命驱动的OpenCL应用调度系统,包括:参数获取模块、静态调度表生成模块、动态调度表生成模块、应用调度表生成模块和调度执行模块;
所述参数获取模块用于,获取CPU-GPU多处理器片上系统中的应用参数和处理器参数;
所述静态调度表生成模块用于,基于所述应用参数和所述处理器参数,对任务队列中的应用生成静态调度表;
所述动态调度表生成模块用于,基于所述静态调度表,对任务队列中的应用生成动态调度表;
所述应用调度表生成模块,基于所述动态调度表,定期调用主控制算法生成应用调度表;
所述调度执行模块用于,基于所述应用调度表,执行应用,调度结束。
优选的,所述静态调度表生成模块包括采样单元、计算单元、迭代输出单元;
所述采样单元用于初始化概率向量和迭代计数器,并利用样本生成函数生成若干个拉丁超立方采样样本;
所述计算单元用于调用应用选择函数,从应用合集中随机选择若干个应用对若干个所述拉丁超立方采样样本进行微调操作,并计算每个微调操作后的所述拉丁超立方采样样本对应的性能,按照性能递减排序所述拉丁超立方采样样本,选取若干个预设精英样本的下标集合;
所述迭代输出单元用于计算所述预设精英样本的下标集合迭代的阈值,并根据所述预设精英样本,更新迭代概率向量,当所述阈值和所述概率向量满足迭代条件时,生成所述静态调度表。
优选的,所述动态调度表生成模块包括假定单元、约束计算单元、资源利用率计算单元、调度表输出单元;
所述假定单元用于设定的违背率阈值;
所述约束计算单元用于分析当前的约束条件违背等级与所述违背率阈值的关系,当前的约束条件违背等级大于所述违背率阈值,则迭代地优化所述CPU-GPU多处理器片上系统的资源利用率控制变量,并使用PID控制器对应用执行状态采样并更新约束条件违背等级;当前的约束条件违背等级小于所述违背率阈值,则输出所述CPU-GPU多处理器片上系统的资源利用率控制变量,并将所述资源利用率控制变量、准入队列里的应用个数和等待队列中的应用个数输入至应用准入控制算法;
所述资源利用率计算单元用于对所述资源利用率控制变量进行分析,若所述资源利用率控制变量大于0,则根据EDF算法对等待队列里的应用排序,并对等待队列中的队头应用分配,获得资源利用率的阈值;若所述资源利用率控制变量大于所述资源利用率的阈值,则更新资源当前利用率和所述资源利用率控制变量;并从等待队列中删除队头应用,使用EDF算法对等待队列里的应用重新进行排序并更新准入队列里应用的个数;若所述资源利用率控制变量小于所述资源利用率的阈值,则输出资源利用率的阈值集合,并输入至应用执行控制算法;
所述调度表输出单元用于调用函数CoreldleCheck(),若所述CPU-GPU多处理器片上系统中存在处于空闲状态的核心,则所述函数CoreldleCheck()的返回值为1,当所述返回值为1并且所述资源利用率的阈值大于0,随机分配一个空闲核心给应用,并计算资源利用率增量;基于所述资源利用率增量,更新所述资源利用率的阈值,当所述资源利用率的阈值耗尽时,返回下一个应用的调度方案,并输出准入队列里的应用调度表,即动态调度表。
优选的,所述应用调度表生成模块包括资源利用率控制变量获取单元和调度表生成单元;
所述资源利用率控制变量获取单元用于将应用集合输入至主控制算法,并基于所述应用集合,调用所述PID控制算法获取资源利用率控制变量;
所述调度表生成单元用于基于所述资源利用率控制变量,调用所述应用准入控制算法获取准入队列里应用并输出资源利用率的阈值集合,若所述阈值集合不为空,调用所述应用执行控制算法生成应用调度表。
与现有技术相比,本发明具有如下优点和技术效果:
本发明公开了一种使用寿命驱动的OpenCL应用调度方法及系统,通过读取CPU-GPU多处理器片上系统中的应用参数和处理器参数;对任务队列中的应用生成静态调度表;对任务队列中的应用生成动态调度表;定期调用主控制算法生成应用调度表;调度结束。使用本发明能够在满足时序、能耗、峰值温度以及使用寿命的约束下,最小化CPU-GPU多处理器片上系统的平均延迟。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明一种使用寿命驱动的OpenCL应用调度方法流程示意图;
图2为基准应用运用本发明与ETRR、TPSO算法在Hardkernel Odroid-XU3 硬件平台上执行的延迟示意图;
图3为基准应用在Exynos 9810 MPSoC硬件平台上执行的延迟示意图;
图4为基准应用在Hardkernel Odroid-XU3硬件平台上执行的能耗示意图;
图5为本发明静态算法的应用能耗与两种基准算法的应用能耗比较示意图;
图6为本发明静态算法和基准算法ETRR、TPSO取得的处理器核心峰值温度比较示意图;
图7为本发明静态算法和基准算法ETRR、TPSO取得的系统生命周期比较示意图;
图8为本发明三种动态算法在Hardkernel Odroid-XU3硬件平台上执行6个基准应用KM、PB、ASE、BE、CH、BS时的应用延迟比较示意图;
图9为本发明三种动态算法在Exynos 9810 MPSoC硬件平台上执行6个基准应用KM、PB、ASE、BE、CH、BS时的应用延迟比较示意图;
图10为本发明三种动态算法在Hardkernel Odroid-XU3硬件平台上执行基准应用KM、PB、ASE、BE、CH、BS时的能耗比较示意图;
图11为本发明三种动态算法在Exynos 9810 MPSoC硬件平台上执行基准应用KM、PB、ASE、BE、CH、BS时的能耗比较示意图;
图12为本发明动态算法和基准算法LogFit、EMIN取得的处理器核心峰值温度比较示意图;
图13为本发明动态算法和基准算法LogFit、EMIN取得的系统生命周期比较示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一:
如图1所示,本发明提供了一种使用寿命驱动的OpenCL应用调度方法,包括以下步骤:
S1:获取CPU-GPU多处理器片上系统中的应用参数和处理器参数;
S2:基于应用参数和处理器参数,对任务队列中的应用生成静态调度表;
S3:基于静态调度表,对任务队列中的应用生成动态调度表;
S4:基于动态调度表,定期调用主控制算法生成应用调度表;
S5:基于应用调度表,执行应用,调度结束。
具体的,S2中,对任务队列中的应用生成静态调度表的方法包括:
S21:初始化概率向量
Figure SMS_1
和迭代计数器
Figure SMS_2
,其中
Figure SMS_3
表示交叉熵方法的初始概率向 量;并利用样本生成函数
Figure SMS_4
生成总共Z个拉丁超立方采样样本,即 样本
Figure SMS_5
Figure SMS_6
S22:调用应用选择函数
Figure SMS_7
,从应用合集
Figure SMS_8
中随机选择
Figure SMS_9
个应用进行样本微调操作;
S221:在应用合集
Figure SMS_10
中任意的一个被选中的应用
Figure SMS_11
,调用 样本微调函数
Figure SMS_12
进行样本微调操作,其中
Figure SMS_13
表示为需要进 行微调的样本集合,
Figure SMS_14
表示为标志位;
S222:判断标志位的置位数,当
Figure SMS_15
置为1时,表示更多的CPU资源会带来应用
Figure SMS_16
的性能提升,即需要增加分配给应用
Figure SMS_17
的CPU资源;反之,当
Figure SMS_18
置为-1时,表示更多的CPU 资源会降低应用
Figure SMS_19
的性能,即需要减少分配给应用
Figure SMS_20
的CPU资源;
S223:判断微调后样本
Figure SMS_21
的性能是否优于微调前样本
Figure SMS_22
的性能,如果是,将微调 后的样本
Figure SMS_23
替代微调前的样本
Figure SMS_24
,并将当前标志位
Figure SMS_25
的置数赋值给用于下次迭代的标 志位
Figure SMS_26
,即
Figure SMS_27
S224:判断微调后样本
Figure SMS_28
的性能是否弱于微调前样本
Figure SMS_29
的性能,如果是,将前标 志位
Figure SMS_30
的相反值赋值给下一次迭代的标志位
Figure SMS_31
S23:计算每个样本对应的性能,按照性能递减排序样本,选取共
Figure SMS_32
个精英样本 的下标集合,其中
Figure SMS_33
为精英样本的个数;
S24:计算第
Figure SMS_34
次迭代的阈值
Figure SMS_35
,计算公式为:
Figure SMS_36
其中
Figure SMS_37
为 性能最优的
Figure SMS_38
个精英样本的下标集合;
S25:根据精英样本,更新第
Figure SMS_40
次迭代的概率向量
Figure SMS_43
,计算公式为:
Figure SMS_46
, 其中
Figure SMS_41
为样本
Figure SMS_44
的第
Figure SMS_45
个元素,
Figure SMS_48
为在第
Figure SMS_39
次迭代
Figure SMS_42
映射到
Figure SMS_47
的概率;
S26:基于所述阈值和所述概率向量,判断是否满足终止迭代条件,如果是,输出性能最优的单个样本,生成静态调度表。如果否,跳转至S21。
具体的,S3中,对任务队列中的应用生成动态调度表的方法包括:
S31:载入一个预先设定的约束条件违背率阈值
Figure SMS_49
至PID控制算法中;
S32:判断当前的约束条件违背等级
Figure SMS_50
是否大于阈值
Figure SMS_51
,其中判断公 式为:
Figure SMS_52
其中,上述公式中(1)为能耗约束条件,
Figure SMS_54
表示处理应用
Figure SMS_58
的延迟能耗,Q个应用 的总能耗不能超过预先设定的能量预算
Figure SMS_60
公式(2)为峰值温度约束条件,
Figure SMS_55
分别表示为系统在执行Q个应用时CPU大核集群、CPU小核集群、GPU核心
Figure SMS_57
的峰值温度,
Figure SMS_59
为给定的峰值温度阈值。公式(3)为使用寿命约束条件,
Figure SMS_61
分别表示CPU大核集群、CPU小核集群、GPU核心
Figure SMS_53
的寿命,
Figure SMS_56
为给 定的使用寿命阈值。公式(4)为时序约束条件,即任意一个应用的延迟不可以超过给定的截 止期限;
S321:判断当前的约束条件违背等级
Figure SMS_63
是否大于阈值
Figure SMS_65
,如果是,则 迭代地优化系统的资源利用率。其中,更新系统资源利用率控制变量
Figure SMS_68
的计算公式为:
Figure SMS_62
Figure SMS_66
,在该式中,
Figure SMS_69
分别代表PID控制器的比例、积分、微分系数,
Figure SMS_71
表示约束条件违背等 级
Figure SMS_64
和阈值
Figure SMS_67
的差值,即
Figure SMS_70
表示为在系统 运行时发生积分误差的调度窗口个数,DW表示系统运行时发生微分误差的调度窗口个数;
S322:使用PID控制器对应用执行状态采样并更新约束条件违背等级
Figure SMS_72
S33:判断约束条件违背等级
Figure SMS_73
是否小于阈值
Figure SMS_74
,如果是,输出系统 资源利用率控制变量
Figure SMS_75
载入系统资源利用率控制变量
Figure SMS_76
,准入队列里的应用个数
Figure SMS_77
,等待队 列中的应用个数
Figure SMS_78
至应用准入控制算法;
S34:设系统当前的处理器核心的平均利用率为SRU,判断系统资源利用率控制变 量是否大于0,即
Figure SMS_79
,如果是,则根据EDF算法对等待队列里的应用排序;
对等待队列中的队头应用分配可用于提升系统资源利用率的阈值
Figure SMS_80
,其中阈 值
Figure SMS_81
的计算公式为:
Figure SMS_82
为应用的指令周期总数;
S35:判断系统资源利用率控制变量与系统资源利用率的阈值的差值是否大于零, 即
Figure SMS_83
,如果是,更新系统资源当前利用率为
Figure SMS_84
,即
Figure SMS_85
,并利用
Figure SMS_86
更新系统资源 利用率控制变量
Figure SMS_87
从等待队列中删除队头应用,使用EDF算法对等待队列里的应用重新进行排序并 更新准入队列里应用的个数,即
Figure SMS_88
S36:判断系统资源利用率控制变量
Figure SMS_89
是否小于0,如果是,输出
Figure SMS_90
并退出,否则返回S34;
载入准入队列里应用可用于提升系统资源利用率的阈值集合,即
Figure SMS_91
至应用执行控制算法;
S37:调用函数
Figure SMS_92
判断系统中是否存在处于空闲状态的核心,如 果存在,函数返回值为1,否则为0,即
Figure SMS_93
Figure SMS_94
时,判断
Figure SMS_95
是否大于0,如果是,随机分配一个空闲核心给应用
Figure SMS_96
,并计算资源利用率增量
Figure SMS_97
S38:更新可用于提升系统资源利用率的阈值
Figure SMS_98
,计算公式为:
Figure SMS_99
。当可用于提升系统资源利用率的阈值
Figure SMS_100
耗尽时, 返回生成
Figure SMS_101
的调度方案;
输出准入队列里的应用调度表并退出。
具体的,S4中,定期调用主控制算法生成应用调度表的方法包括:
S41:将应用集合
Figure SMS_102
输入至主控制算法;
S42:基于所述应用集合,调用所述PID控制算法获取资源利用率控制变量
Figure SMS_103
S43:基于所述资源利用率控制变量,调用所述应用准入控制算法获取准入队列里 应用并输出资源利用率的阈值集合,即
Figure SMS_104
S44:判断阈值集合
Figure SMS_105
是否为空,如果不为空,调用应用执行 控制算法生成应用调度表,执行应用,调度结束。
实施例二:
本发明还提供了一种使用寿命驱动的OpenCL应用调度系统,包括:参数获取模块、静态调度表生成模块、动态调度表生成模块、应用调度表生成模块和调度执行模块;
参数获取模块用于,获取CPU-GPU多处理器片上系统中的应用参数和处理器参数;
静态调度表生成模块用于,基于应用参数和处理器参数,对任务队列中的应用生成静态调度表;
动态调度表生成模块用于,基于静态调度表,对任务队列中的应用生成动态调度表;
应用调度表生成模块,基于动态调度表,定期调用主控制算法生成应用调度表;
调度执行模块用于,基于应用调度表,执行应用,调度结束。
具体的,静态调度表生成模块包括采样单元、计算单元、迭代输出单元;
采样单元用于,初始化概率向量
Figure SMS_106
和迭代计数器
Figure SMS_107
,其中
Figure SMS_108
表示交叉熵方法的初 始概率向量;并利用样本生成函数
Figure SMS_109
生成总共Z个拉丁超立方采 样样本,即样本
Figure SMS_110
计算单元用于,调用应用选择函数
Figure SMS_111
,从应用合集
Figure SMS_112
中随机选择
Figure SMS_113
个应用进行样本微调操作;
在应用合集
Figure SMS_114
中任意的一个被选中的应用
Figure SMS_115
,调用样本微 调函数
Figure SMS_116
进行样本微调操作,其中
Figure SMS_117
表示为需要进行微调 的样本集合,
Figure SMS_118
表示为标志位;
判断标志位的置位数,当
Figure SMS_119
置为1时,表示更多的CPU资源会带来应用
Figure SMS_120
的性能 提升,即需要增加分配给应用
Figure SMS_121
的CPU资源;反之,当
Figure SMS_122
置为-1时,表示更多的CPU资源会 降低应用
Figure SMS_123
的性能,即需要减少分配给应用
Figure SMS_124
的CPU资源;
判断微调后样本
Figure SMS_125
的性能是否优于微调前样本
Figure SMS_126
的性能,如果是,将微调后的 样本
Figure SMS_127
替代微调前的样本
Figure SMS_128
,并将当前标志位
Figure SMS_129
的置数赋值给用于下次迭代的标志位
Figure SMS_130
,即
Figure SMS_131
判断微调后样本
Figure SMS_132
的性能是否弱于微调前样本
Figure SMS_133
的性能,如果是,将前标志位
Figure SMS_134
的相反值赋值给下一次迭代的标志位
Figure SMS_135
计算每个样本对应的性能,按照性能递减排序样本,选取共
Figure SMS_136
个精英样本的下 标集合,其中
Figure SMS_137
为精英样本的个数;
迭代输出单元用于,计算第
Figure SMS_138
次迭代的阈值
Figure SMS_139
,计算公式为:
Figure SMS_140
, 其中
Figure SMS_141
为性能最优的
Figure SMS_142
个精英样本的下标集合;
根据精英样本,更新第
Figure SMS_145
次迭代的概率向量
Figure SMS_146
,计算公式为:
Figure SMS_149
, 其中
Figure SMS_143
为样本
Figure SMS_148
的第
Figure SMS_151
个元素,
Figure SMS_152
为在第
Figure SMS_144
次迭代
Figure SMS_147
映射到
Figure SMS_150
的概率;
基于所述阈值和所述概率向量,判断是否满足终止迭代条件,如果是,输出性能最优的单个样本,生成静态调度表。如果否,跳转至步骤1。
具体的,动态调度表生成模块包括假定单元、约束计算单元、资源利用率计算单元、调度表输出单元;
假定单元用于,载入一个预先设定的约束条件违背率阈值
Figure SMS_153
至PID控制算法中;
约束计算单元用于,判断当前的约束条件违背等级
Figure SMS_154
是否大于阈 值
Figure SMS_155
,其中判断公式为:
Figure SMS_156
其中,上述公式中(1)为能耗约束条件,
Figure SMS_158
表示处理应用
Figure SMS_161
的延迟能耗,Q个应用 的总能耗不能超过预先设定的能量预算
Figure SMS_163
公式(2)为峰值温度约束条件,
Figure SMS_159
分别表示为系统在执行Q个应用时CPU大核集群、CPU小核集群、GPU核心
Figure SMS_162
的峰值温度,
Figure SMS_164
为给定的峰值温度阈值。公式(3)为使用寿命约束条件,
Figure SMS_165
分别表示CPU大核集群、CPU小核集群、GPU核心
Figure SMS_157
的寿命,
Figure SMS_160
为给 定的使用寿命阈值。公式(4)为时序约束条件,即任意一个应用的延迟不可以超过给定的截 止期限;
判断当前的约束条件违背等级
Figure SMS_167
是否大于阈值
Figure SMS_172
,如果是,则迭代 地优化系统的资源利用率。其中,更新系统资源利用率控制变量
Figure SMS_174
的计算公式为:
Figure SMS_168
Figure SMS_171
,在该式中,
Figure SMS_173
分别代表PID控制器的比例、积分、微分系数,
Figure SMS_175
表示约束条件违背等级
Figure SMS_166
和阈值
Figure SMS_169
的差值,即
Figure SMS_170
表示为在系统运 行时发生积分误差的调度窗口个数,DW表示系统运行时发生微分误差的调度窗口个数;
使用PID控制器对应用执行状态采样并更新约束条件违背等级
Figure SMS_176
判断约束条件违背等级
Figure SMS_177
是否小于阈值
Figure SMS_178
,如果是,输出系统资源 利用率控制变量
Figure SMS_179
载入系统资源利用率控制变量
Figure SMS_180
,准入队列里的应用个数
Figure SMS_181
,等待队 列中的应用个数
Figure SMS_182
至应用准入控制算法;
资源利用率计算单元用于,设系统当前的处理器核心的平均利用率为SRU,判断系 统资源利用率控制变量是否大于0,即
Figure SMS_183
,如果是,则根据EDF算法对等待队列里的 应用排序;
对等待队列中的队头应用分配可用于提升系统资源利用率的阈值
Figure SMS_184
,其中阈 值
Figure SMS_185
的计算公式为:
Figure SMS_186
为应用的指令周期总数;
判断系统资源利用率控制变量与系统资源利用率的阈值的差值是否大于零,即
Figure SMS_187
,如果是,更新系统资源当前利用率为
Figure SMS_188
,即
Figure SMS_189
,并利用
Figure SMS_190
更新系统资源 利用率控制变量
Figure SMS_191
从等待队列中删除队头应用,使用EDF算法对等待队列里的应用重新进行排序并 更新准入队列里应用的个数,即
Figure SMS_192
判断系统资源利用率控制变量
Figure SMS_193
是否小于0,如果是,输出
Figure SMS_194
并退出,否则返回步骤4;
载入准入队列里应用可用于提升系统资源利用率的阈值集合,即
Figure SMS_195
, 至应用执行控制算法;
调度表输出单元用于,调用函数
Figure SMS_196
判断系统中是否存在处于空 闲状态的核心,如果存在,函数返回值为1,否则为0,即
Figure SMS_197
Figure SMS_198
时,判断
Figure SMS_199
是否大于0,如果是,随机分配一个空闲核心给应用
Figure SMS_200
,并计算资源利用率增量
Figure SMS_201
更新可用于提升系统资源利用率的阈值
Figure SMS_202
,计算公式为:
Figure SMS_203
。当可用于提升系统资源利用率的阈值
Figure SMS_204
耗尽时,返回生成
Figure SMS_205
的调度方案;
输出准入队列里的应用调度表并退出。
具体的,应用调度表生成模块包括资源利用率控制变量获取单元和调度表生成单元;
资源利用率控制变量获取单元用于,将应用集合
Figure SMS_206
输入至 主控制算法;
基于所述应用集合,调用所述PID控制算法获取资源利用率控制变量
Figure SMS_207
调度表生成单元用于,基于所述资源利用率控制变量,调用所述应用准入控制算 法获取准入队列里应用并输出资源利用率的阈值集合,即
Figure SMS_208
判断阈值集合
Figure SMS_209
是否为空,如果不为空,调用应用执行控制 算法生成应用调度表,执行应用,调度结束。
实施例三:
实施过程中,采用两种CPU-GPU的多处理器片上系统验证所提出的算法在降低应用延迟方面的有效性。一种是HardkernelOdroid-XU3硬件平台,该平台集成了三星Exynos5422 MPSoC,包含4个ARM Cortex A15核心、4个ARM Cortex A7核心,以及1个ARM Mali-T628MP6 GPU.4个ARM Cortex A15核心构成了一个高性能的CPU大核集群,每个内核都支持步长为100MHz,从200MHz和2000MHz之间的多种离散频率。4个ARM Cortex A7核心组成了一个低功耗的CPU小核心集群,每个核心都支持步长为100MHz,从200MHz到1400MHz之间的不同离散频率。对于ARM Mali-T628 MP6 GPU,它的工作频率从{600, 543, 480, 420, 350,266, 177}MHz 选取。同时,将三星Exynos 9810MPSoC作为测试硬件平台。Exynos 9810MPSoC的CPU大核集群包含4个M3核心,每个核心支持18种离散的工作频率,包括{704,2652, 2496, 2314z, 2106, 2002, 1924, 1794, 1690, 1586, 1469,1261, 1170, 1066,962, 858, 741, 650}MHz;CPU小核集群包含4个ARM Cortex A55核心,每个核心支持10种不同的离散频率,包括{794, 1690, 1456, 1248, 1053, 949 MHz, 832, 715, 598, 455}MHz;GPU集群由ARM Mali-G72 MP18 GPU构成,支持6种离散的工作频率,包括{572, 546MHz, 455, 338, 299, 260}MHz。
为了验证算法的性能,本申请将基于交叉熵方法的静态算法与基准算法 ETRR、TPSO进行对比,将基于反馈控制的动态算法与基准算法 LogFit、EMIN进行比对。
图2首先比较FDEB、FIR、KUN、EP、BSTI、GA、C2D、SYR2K、bodytrack、ferret共10个基准应用运用本发明与ETRR、TPSO算法在Hardkernel Odroid-XU3 硬件平台上执行的延迟。本发明提出的静态算法与基准算法ETRR、TPSO取得的应用延迟分别为89.41、130.30、109.71。同时,从图1最后一列Average数据点可以看出本发明提出的静态方法能够将10个基准应用的平均延迟分别降低29.83%、23.95%相比于基准算法ETRR和TPSO。
图3比较了FDEB、FIR、KNN、EP、BSTI、GA、C2D、SYR2K、bodytrack、ferret共10个基准应用在Exynos 9810 MPSoC硬件平台上执行的延迟。与图1中的结果相似,本发明提出的静态算法在Exynos 9810 MPSoC硬件平台上仍然能够有效地降低基准应用的延迟。从图2最后一列Average数据点看出,本文提出的静态算法能够将10个基准应用的平均延迟分别降低34.58%、25.42%。
图4比较了FDEB、FIR、KNN、EP、BSTI、GA、C2D、SYR2K、bodytrack、ferret在Hardkernel Odroid-XU3硬件平台上执行的能耗。在本组实验当中,应用的能量预算
Figure SMS_210
设置为3000焦耳。从图3中可以看出,本发明提出的静态算法可以满足于应用总能耗的约束。
图5给出对于任意一个应用,本发明静态算法的应用能耗大于两种基准算法的应用能耗,其主要原因是因为本发明提出的静态算法充分利用了给定的能耗预算,以实现将基准应用的延迟最小化的优化目标。
图6给出了本发明提出的静态算法和基准算法ETRR、TPSO取得的处理器核心峰值温度。在实验中,将Hardkernel Odroid-XU3和Exynos 9810 MPSoC的峰值温度分别设置为70℃和90℃。由图5所示,使用本发明得到的峰值温度无论是Hardkernel Odroid-XU3还是Exynos 9810 MPSoC硬件平台都能够满足峰值温度的约束。
图7给出了本发明提出的静态算法和基准算法ETRR、TPSO取得的系统生命周期。在实验中,将Hardkernel Odroid-XU3和Exynos 9810 MPSoC最小的生命周期需求分别设置为16年和18年。从图6中数据可以看出,无论是Hardkernel Odroid-XU3还是Exynos 9810MPSoC硬件平台,使用本发明的静态算法可以满足使用寿命的约束。
图8比较了三种动态算法在Hardkernel Odroid-XU3硬件平台上执行6个基准应用KM、PB、ASE、BE、CH、BS时的应用延迟。与基准算法LogFit、EMIN相比,使用本发明提出的动态算法可以将6个基准应用平均延迟降低23.47%、24.89%。
图9比较了三种动态算法在Exynos 9810 MPSoC硬件平台上执行6个基准应用KM、PB、ASE、BE、CH、BS时的应用延迟。与图7中结果相似,本发明提出的动态算法在Exynos 9810MPSoC硬件平台上实现的性能优于基准算法LogFit和EMIN。使用本发明提出的动态算法和基准算法LogFit、EMIN实现的应用平均延迟分别为82.04、110.44、123.60。
图10给出了三种动态算法在Hardkernel Odroid-XU3硬件平台上执行基准应用 KM、PB、ASE、BE、CH、BS时的能耗。在本组实验当中,应用的能量预算
Figure SMS_211
设置为3000焦耳。 从图9中可以看出,本发明提出的动态算法满足给定的能耗约束。
图11给出了三种动态算法在Exynos 9810 MPSoC硬件平台上执行基准应用KM、PB、ASE、BE、CH、BS时的能耗。在本组实验当中,应用的能量预算E_bgt设置为2000焦耳。图10中可以看出,本发明提出的动态算法仍然满足给定的能耗约束。
图12给出了本发明提出的动态算法和基准算法LogFit、EMIN取得的处理器核心峰值温度。在实验中,Hardkernel Odroid-XU3和Exynos 9810 MPSoC的峰值温度阈值仍然设置为70℃和90℃。由图11所示本发明提出的动态算法执行6个基准应用KM、PB、ASE、BE、CH、BS时,均未超过两个硬件平台设定的峰值温度阈值,相反,基准算法LogFit和EMIN都超过了两个硬件平台设定的峰值温度阈值。
图13比较了本发明提出的动态算法和基准算法LogFit、EMIN取得的系统生命周期。在实验中,Hardkernel Odroid-XU3和Exynos 9810最小的使用寿命需求仍然设置为16年和18年。由图12所示,本发明提出的动态算法在执行6个基准应用KM、PB、ASE、BE、CH、BS时,始终没有违背系统生命周期约束,而基准算法LogFit和EMIN均不能满足系统的最小使用寿命需求。
通过上述的实验数据,能够很清楚的看出本发明在满足时序、能耗、峰值温度以及使用寿命的约束下,最小化系统的平均延迟。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (2)

1.一种使用寿命驱动的OpenCL应用调度方法,其特征在于,包括以下步骤:
S1:获取CPU-GPU多处理器片上系统中的应用参数和处理器参数;
S2:基于所述应用参数和所述处理器参数,对任务队列中的应用生成静态调度表;
S3:基于所述静态调度表,对任务队列中的应用生成动态调度表;
S4:基于所述动态调度表,定期调用主控制算法生成应用调度表;
S5:基于所述应用调度表,执行应用,调度结束;
所述S2中,对任务队列中的应用生成静态调度表的方法包括:
S21:初始化概率向量和迭代计数器,并利用样本生成函数生成若干个拉丁超立方采样样本;
S22:调用应用选择函数,从应用合集中随机选择若干个应用对若干个所述拉丁超立方采样样本进行微调操作;
S23:计算每个微调操作后的所述拉丁超立方采样样本对应的性能,按照性能递减排序所述拉丁超立方采样样本,选取若干个预设精英样本的下标集合;
S24:计算若干个所述预设精英样本的下标集合迭代的阈值;
S25:根据所述预设精英样本,更新迭代概率向量;
S26:基于满足迭代条件的所述阈值和所述概率向量,生成静态调度表;
所述S3中,对任务队列中的应用生成动态调度表的方法包括:
S31:输入一个预先设定的违背率阈值至PID控制算法中;
S32:若当前的约束条件违背等级大于所述违背率阈值,则迭代地优化所述CPU-GPU多处理器片上系统的资源利用率控制变量,并使用PID控制器对应用执行状态采样并更新约束条件违背等级;
S33:若当前的约束条件违背等级小于所述违背率阈值,则输出所述CPU-GPU多处理器片上系统的资源利用率控制变量,并将所述资源利用率控制变量、准入队列里的应用个数和等待队列中的应用个数输入至应用准入控制算法;
S34:若所述资源利用率控制变量大于0,则根据EDF算法对等待队列里的应用排序,并对等待队列中的队头应用分配,获得资源利用率的阈值;
S35:若所述资源利用率控制变量大于所述资源利用率的阈值,则更新资源当前利用率和所述资源利用率控制变量;并从等待队列中删除队头应用,使用EDF算法对等待队列里的应用重新进行排序并更新准入队列里应用的个数;
S36:若所述资源利用率控制变量小于所述资源利用率的阈值,则输出资源利用率的阈值集合,并输入至应用执行控制算法;
S37:调用函数CoreldleCheck(),若所述CPU-GPU多处理器片上系统中存在处于空闲状态的核心,则所述函数CoreldleCheck()的返回值为1,当所述返回值为1并且所述资源利用率的阈值大于0,则随机分配一个空闲核心给应用,并计算资源利用率增量;
S38:基于所述资源利用率增量,更新所述资源利用率的阈值,当所述资源利用率的阈值耗尽时,返回下一个应用的调度方案,并输出准入队列里的应用调度表,即动态调度表;
所述S4中,定期调用主控制算法生成应用调度表的方法包括:
S41:将应用集合输入至主控制算法;
S42:基于所述应用集合,调用所述PID控制算法获取资源利用率控制变量;
S43:基于所述资源利用率控制变量,调用所述应用准入控制算法获取准入队列里应用并输出资源利用率的阈值集合;
S44:若所述阈值集合不为空,调用所述应用执行控制算法生成应用调度表。
2.一种使用寿命驱动的OpenCL应用调度系统,其特征在于,包括:参数获取模块、静态调度表生成模块、动态调度表生成模块、应用调度表生成模块和调度执行模块;
所述参数获取模块用于,获取CPU-GPU多处理器片上系统中的应用参数和处理器参数;
所述静态调度表生成模块用于,基于所述应用参数和所述处理器参数,对任务队列中的应用生成静态调度表;
所述动态调度表生成模块用于,基于所述静态调度表,对任务队列中的应用生成动态调度表;
所述应用调度表生成模块,基于所述动态调度表,定期调用主控制算法生成应用调度表;
所述调度执行模块用于,基于所述应用调度表,执行应用,调度结束;
所述静态调度表生成模块包括采样单元、计算单元、迭代输出单元;
所述采样单元用于,初始化概率向量和迭代计数器,并利用样本生成函数生成若干个拉丁超立方采样样本;
所述计算单元用于,调用应用选择函数,从应用合集中随机选择若干个应用对若干个所述拉丁超立方采样样本进行微调操作,并计算每个微调操作后的所述拉丁超立方采样样本对应的性能,按照性能递减排序所述拉丁超立方采样样本,选取若干个预设精英样本的下标集合;
所述迭代输出单元用于,计算所述预设精英样本的下标集合迭代的阈值,并根据所述预设精英样本,更新迭代概率向量,当所述阈值和所述概率向量满足迭代条件时,生成所述静态调度表;
所述动态调度表生成模块包括假定单元、约束计算单元、资源利用率计算单元、调度表输出单元;
所述假定单元用于,设定的违背率阈值;
所述约束计算单元用于,分析当前的约束条件违背等级与所述违背率阈值的关系,当前的约束条件违背等级大于所述违背率阈值,则迭代地优化所述CPU-GPU多处理器片上系统的资源利用率控制变量,并使用PID控制器对应用执行状态采样并更新约束条件违背等级;当前的约束条件违背等级小于所述违背率阈值,则输出所述CPU-GPU多处理器片上系统的资源利用率控制变量,并将所述资源利用率控制变量、准入队列里的应用个数和等待队列中的应用个数输入至应用准入控制算法;
所述资源利用率计算单元用于,对所述资源利用率控制变量进行分析,若所述资源利用率控制变量大于0,则根据EDF算法对等待队列里的应用排序,并对等待队列中的队头应用分配,获得资源利用率的阈值;若所述资源利用率控制变量大于所述资源利用率的阈值,则更新资源当前利用率和所述资源利用率控制变量;并从等待队列中删除队头应用,使用EDF算法对等待队列里的应用重新进行排序并更新准入队列里应用的个数;若所述资源利用率控制变量小于所述资源利用率的阈值,则输出资源利用率的阈值集合,并输入至应用执行控制算法;
所述调度表输出单元用于,调用函数CoreldleCheck(),若所述CPU-GPU多处理器片上系统中存在处于空闲状态的核心,则所述函数CoreldleCheck()的返回值为1,当所述返回值为1并且所述资源利用率的阈值大于0,随机分配一个空闲核心给应用,并计算资源利用率增量;基于所述资源利用率增量,更新所述资源利用率的阈值,当所述资源利用率的阈值耗尽时,返回下一个应用的调度方案,并输出准入队列里的应用调度表,即动态调度表;
所述应用调度表生成模块包括资源利用率控制变量获取单元和调度表生成单元;
所述资源利用率控制变量获取单元用于,将应用集合输入至主控制算法,并基于所述应用集合,调用PID控制算法获取资源利用率控制变量;
所述调度表生成单元用于,基于所述资源利用率控制变量,调用所述应用准入控制算法获取准入队列里应用并输出资源利用率的阈值集合,若所述阈值集合不为空,调用所述应用执行控制算法生成应用调度表。
CN202211502820.1A 2022-11-29 2022-11-29 一种使用寿命驱动的OpenCL应用调度方法及系统 Active CN115543587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211502820.1A CN115543587B (zh) 2022-11-29 2022-11-29 一种使用寿命驱动的OpenCL应用调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211502820.1A CN115543587B (zh) 2022-11-29 2022-11-29 一种使用寿命驱动的OpenCL应用调度方法及系统

Publications (2)

Publication Number Publication Date
CN115543587A CN115543587A (zh) 2022-12-30
CN115543587B true CN115543587B (zh) 2023-03-07

Family

ID=84722536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211502820.1A Active CN115543587B (zh) 2022-11-29 2022-11-29 一种使用寿命驱动的OpenCL应用调度方法及系统

Country Status (1)

Country Link
CN (1) CN115543587B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279645A (zh) * 2013-04-28 2013-09-04 暨南大学 基于gpu并行运算的碳纳米管分子动力学仿真方法
CN111582496A (zh) * 2020-04-26 2020-08-25 暨南大学 一种基于sgx的安全高效的深度学习模型预测系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965321B2 (en) * 2011-12-09 2018-05-08 Nvidia Corporation Error checking in out-of-order task scheduling
US8707314B2 (en) * 2011-12-16 2014-04-22 Advanced Micro Devices, Inc. Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations
US9959142B2 (en) * 2014-06-17 2018-05-01 Mediatek Inc. Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
CN108139901B (zh) * 2015-09-30 2022-04-26 惠普发展公司,有限责任合伙企业 使用外部设备的运行时间验证
KR20220107616A (ko) * 2021-01-25 2022-08-02 삼성전자주식회사 추론 태스크들을 병렬적으로 처리하는 가속기 및 이의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279645A (zh) * 2013-04-28 2013-09-04 暨南大学 基于gpu并行运算的碳纳米管分子动力学仿真方法
CN111582496A (zh) * 2020-04-26 2020-08-25 暨南大学 一种基于sgx的安全高效的深度学习模型预测系统和方法

Also Published As

Publication number Publication date
CN115543587A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
US8881158B2 (en) Schedule decision device, parallel execution device, schedule decision method, and program
US8643656B2 (en) Energy-aware task consolidation on graphics processing unit (GPU)
CN108154317B (zh) 多云环境下基于实例自适应分配整合的工作流组调度方法
CN105808334A (zh) 一种基于资源重用的MapReduce短作业优化系统及方法
CN104199739B (zh) 一种基于负载均衡的推测式Hadoop调度方法
CN111104211A (zh) 基于任务依赖的计算卸载方法、系统、设备及介质
Liu et al. Minimizing cost of scheduling tasks on heterogeneous multicore embedded systems
JP2010079622A (ja) マルチコアプロセッサシステム、および、そのタスク制御方法
Allen et al. Slate: Enabling workload-aware efficient multiprocessing for modern GPGPUs
CN104281495A (zh) 多核处理器共享高速缓存任务调度方法
KR101065436B1 (ko) 불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법
Breß et al. A framework for cost based optimization of hybrid CPU/GPU query plans in database systems
US10162679B2 (en) Method and system for assigning a computational block of a software program to cores of a multi-processor system
CN111240461A (zh) 一种基于任务调度的异构计算系统低功耗方法
Yao et al. A communication-aware and predictive list scheduling algorithm for network-on-chip based heterogeneous muti-processor system-on-chip
CN115543587B (zh) 一种使用寿命驱动的OpenCL应用调度方法及系统
Breß et al. Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms.
JP2009080583A (ja) 情報処理装置、並列処理最適化方法およびプログラム
Lee et al. On resource efficiency of workflow schedules
Tan et al. HP-DAEMON: High performance distributed adaptive energy-efficient matrix-multiplication
Fang et al. Optimizing cnn accelerator with improved roofline model
Moore et al. Performance modeling of multithreaded programs for mobile asymmetric chip multiprocessors
Kalra et al. Configuration locking and schedulability estimation for reduced reconfiguration overheads of reconfigurable systems
CN112052087A (zh) 动态资源调整与迁移的深度学习训练系统及方法
Ben-Itzhak et al. Performance and power aware cmp thread allocation modeling

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