[发明专利]GPU任务调度方法及系统有效
申请号: | 201710277236.3 | 申请日: | 2017-04-25 |
公开(公告)号: | CN107122245B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 过敏意;金思惠子;王振宁;陈全;徐莉婷 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 庞红芳 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gpu 任务 调度 方法 系统 | ||
1.一种GPU任务调度系统,其特征在于,所述任务调度系统包括:
应用分析模块,用于接收用户的应用程序请求,分析应用程序,根据所述应用程序的类型和输入数据集的大小分析获取所述应用程序的各个kernel的指令数;
动态任务调度模块,包括:
动态检测单元,用于动态检测、接收用户的应用程序请求并将接收的用户的应用程序请求发送至所述应用分析模块;
数量查询单元,用于从运行时系统查询当前运行的kernel数量;
处理单元,用于判断当前运行的kernel数量是否达到预设的上限值,若否,则从被抢占的kernel以及新到达的kernel中挑选与当前运行 的kernel组合形成kernel组合优先级最高的kernel并将挑选的kernel发射至运行时系统,若是,则继续判断被抢占的kernel和新到达的kernel中是否存在与当前运行kernel进行组合得到更高优先级的kernel组合,若否,则保持当前运行的kernel状态,若是,则继续判断抢占程序后的GPU性能提升是否大于抢占过程所占用的GPU开销,若是,则进行抢占,若否,则保持当前运行的kernel状态。
2.根据权利要求1所述的GPU任务调度系统,其特征在于,被抢占的kernel的优先级高于新到达的kernel的优先级,使得GPU性能越好的kernel组合的优先级越高。
3.根据权利要求1所述的GPU任务调度系统,其特征在于,通过预设的归一化每周期执行指令数ipc衡量GPU性能,归一化每周期执行指令数ipc的计算公式为:
其中,norm_ipc表示为归一化每周期执行指令数ipc,ipcshare表示为kernel与其他kernel共享GPU时GPU表现出的ipc,ipcalone表示为kernel独占GPU时GPU表现出的ipc。
4.根据权利要求3所述的GPU任务调度系统,其特征在于,抢占程序后的GPU性能提升根据抢占前归一化每周期执行指令数ipc和抢占后归一化每周期执行指令数ipc的对比获取,其中:
抢占前归一化每周期执行指令数ipc为:
抢占后归一化每周期执行指令数ipc为:
preempt_cycle=(0.09526×miss_rate+0.01633)×(reg+smem)×TB;
其中,normalized_ipci表示为第i个kernel的指令数,running1表示为正在运行的第一个kernel,running2表示正在运行的第二个kernel,rest_cycle表示为正在运行的两个kernel还能一起运行的时钟周期数,rest_instrunning1表示为正在运行的第一个kernel剩余的指令数,ipcrunning1表示为正在运行的第一个kernel所表现出的ipc,rest_instrunning2表示为正在运行的第二个kernel剩余的指令数,ipcrunning2表示为正在运行的第二个kernel所表现出的ipc,norm_ipci表示为第i个kernel所表现出的归一化每周期执行指令数ipc,preempt_cycle表示为抢占过程所持续的时钟周期数,miss_rate表示为未被抢占的kernel发生高速缓存缺失的频率,reg表示为被抢占的kernel中每个线程块占用寄存器的字节数,smem表示为被抢占的kernel中每个线程块占用共享内存的字节数,TB表示为被抢占的kernel中线程块的数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710277236.3/1.html,转载请声明来源钻瓜专利网。