(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211502820.1
(22)申请日 2022.11.29
(71)申请人 暨南大学
地址 510632 广东省广州市天河区黄埔大
道西601号
(72)发明人 曹坤 陈冠宗 翁健
(74)专利代理 机构 北京盛询知识产权代理有限
公司 11901
专利代理师 相凡
(51)Int.Cl.
G06F 9/48(2006.01)
G06F 9/50(2006.01)
G06F 11/30(2006.01)
(54)发明名称
一种使用寿命驱动的OpenCL应用调度方法
及系统
(57)摘要
本发明提供了一种使用寿命驱动的OpenCL
应用调度方法及系统, 包括以下步骤: 读取CPU ‑
GPU多处理器片上系统中的应用参数和处理器参
数; 对任务队列中的应用生成静态调度表; 对任
务队列中的应用生成动态调度表; 定期调用主控
制算法生成应用调度表; 调度结束。 使用本发明
能够在满足时序、 能耗、 峰值温度以及使用寿命
的约束下, 最小化系统的平均延迟。
权利要求书3页 说明书13页 附图5页
CN 115543587 A
2022.12.30
CN 115543587 A
1.一种使用寿命驱动的OpenCL应用调度方法, 其特 征在于, 包括以下步骤:
S1: 获取CPU ‑GPU多处理器片上系统中的应用参数和处 理器参数;
S2: 基于所述应用参数和所述处 理器参数, 对 任务队列中的应用生成静态调度表;
S3: 基于所述静态调度表, 对 任务队列中的应用生成动态调度表;
S4: 基于所述动态调度表, 定期调用主控制算法生成应用调度表;
S5: 基于所述应用调度表, 执 行应用, 调度结束。
2.根据权利要求1所述的使用寿命驱动的OpenCL应用调度方法, 其特征在于, 所述S2
中, 对任务队列中的应用生成静态调度表的方法包括:
S21: 初始化概率向量和迭代计数器, 并利用样本生成函数生成若干个拉丁超立方采样
样本;
S22: 调用应用选择函数, 从应用合集中随机选择若干个应用对若干个所述拉丁超立方
采样样本进行微调操作;
S23: 计算每个微调操作后的所述拉丁超立方采样样本对应的性能, 按照性能递减排序
所述拉丁超立方采样 样本, 选取若干个预设精英样本的下 标集合;
S24: 计算若干个所述预设精英样本的下 标集合迭代的阈值;
S25: 根据所述预设精英样本, 更新迭代概 率向量;
S26: 基于满足迭代条件的所述阈值和所述 概率向量, 生成静态调度表。
3.根据权利要求1所述的使用寿命驱动的OpenCL应用调度方法, 其特征在于, 所述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: 基于所述资源利用率增量, 更新所述资源利用率的阈值, 当所述资源利用率的阈
值耗尽时, 返回下一个 应用的调度方案, 并输出准入队列里的应用调度表, 即动态调度表。
4.根据权利要求3所述的使用寿命驱动的OpenCL应用调度方法, 其特征在于, 所述S4权 利 要 求 书 1/3 页
2
CN 115543587 A
2中, 定期调用主控制算法生成应用调度表的方法包括:
S41: 将应用集 合输入至主控制算法;
S42: 基于所述应用集 合, 调用所述PID控制算法获取资源利用率控制变量;
S43: 基于所述资源利用率控制变量, 调用所述应用准入控制算法获取准入队列里应用
并输出资源利用率的阈值 集合;
S44: 若所述阈值 集合不为空, 调用所述应用执 行控制算法生成应用调度表。
5.一种使用寿命驱动的OpenCL应用调度系 统, 其特征在于, 包括: 参数获取模块、 静态
调度表生成模块、 动态调度表生成模块、 应用调度表生成模块和调度执 行模块;
所述参数获取模块用于, 获取CPU ‑GPU多处理器片上系统中的应用参数和处 理器参数;
所述静态调度表生成模块用于, 基于所述应用参数和所述处理器参数, 对任务队列中
的应用生成静态调度表;
所述动态调度表生成模块用于, 基于所述静态调度表, 对任务队列中的应用生成动态
调度表;
所述应用调度表生成模块, 基于所述动态调度表, 定期调用主控制算法生成应用调度
表;
所述调度执 行模块用于, 基于所述应用调度表, 执 行应用, 调度结束。
6.根据权利 要求5所述的使用寿命驱动的OpenCL应用调度系统, 其特征在于, 所述静态
调度表生成模块包括采样单 元、 计算单 元、 迭代输出 单元;
所述采样单元用于, 初始化概率向量和迭代计数器, 并利用样本生成函数生成若干个
拉丁超立方采样 样本;
所述计算单元用于, 调用应用选择函数, 从应用合集中随机选择若干个应用对若干个
所述拉丁超立方采样样 本进行微调操作, 并计算每个微调操作后的所述拉丁超立方采样样
本对应的性能, 按照性能递减排序所述拉丁超立方采样样本, 选取若干个预设精英样本的
下标集合;
所述迭代输出单元用于, 计算所述预设精英样本的下标集合迭代的阈值, 并根据所述
预设精英样本, 更新迭代概率向量, 当所述阈值和所述概率向量满足迭代条件时, 生成所述
静态调度表。
7.根据权利 要求5所述的使用寿命驱动的OpenCL应用调度系统, 其特征在于, 所述动态
调度表生成模块包括 假定单元、 约束计算单 元、 资源利用率计算单 元、 调度表输出 单元;
所述假定单元用于, 设定的违背率阈值;
所述约束计算单元用于, 分析当前的约束条件违背等级与所述违背率阈值的关系, 当
前的约束条件违背等级大于所述违背率阈值, 则迭代地优化所述CPU ‑GPU多处理器片上系
统的资源利用率控制变量, 并使用PID控制器对应用执行状态采样并更新约束条件违背等
级; 当前的约束 条件违背等级小于所述违背率阈值, 则输出所述CPU ‑GPU多处理器片上系统
的资源利用率控制变量, 并将所述资源利用率控制变量、 准入队列里 的应用个数和 等待队
列中的应用个数输入至应用准入 控制算法;
所述资源利用率计算单元用于, 对所述资源利用率控制变量进行分析, 若所述资源利
用率控制变量大于0, 则根据EDF算法对等待队列里的应用排序, 并对等待队列中的队头应
用分配, 获得资源利用率的阈值; 若 所述资源利用率控制变量大于所述资源利用率的阈值,权 利 要 求 书 2/3 页
3
CN 115543587 A
3
专利 一种使用寿命驱动的OpenCL应用调度方法及系统
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-24 01:00:23上传分享