[发明专利]一种资源分配方法及系统有效
申请号: | 201711205195.3 | 申请日: | 2017-11-27 |
公开(公告)号: | CN108052396B | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 李超;黄俞翔 | 申请(专利权)人: | 深圳市恒扬数据股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/50 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 资源 分配 方法 系统 | ||
本发明适用于资源调度技术领域,公开了一种资源分配方法及系统,所述方法包括:获取用户输入的启动指令,根据启动指令启动业务程序,并生成至少一个线程;获取至少一个申请同一块硬件加速卡计算资源的线程;按照线程申请的时间顺序,将业务互斥锁分配给目标线程;将目标线程分配给排队线程数量最少的目标计算单元,并释放目标线程的业务互斥锁;若在目标线程之前的排队线程数量为零,则处理目标线程的业务数据;将业务互斥锁分配给目标线程;将目标线程的标志位复位,将目标线程所在队列的活动位指针指向下一个待处理业务数据的线程,并释放目标线程的业务互斥锁,注销目标线程。本发明能够显著提高计算资源利用率,提高硬件加速卡的应用价值。
技术领域
本发明属于资源调度技术领域,尤其涉及一种资源分配方法及系统。
背景技术
面对越来越多的对专业性要求较高的计算需求,通过引入专业的硬件加速卡,卸载原本由CPU执行的特定运算,是一种可靠的技术解决方案。这种解决方案不仅成本低,而且可以大大提高专业计算资源的利用率。
目前,在基于硬件加速卡的异构计算机系统中,计算资源分配通常采用轮询调度的静态分配方法。但是,由于每次分配给计算单元的源数据大小有差异,源数据从主机传输到硬件加速卡的时间有差异,计算资源完成源数据计算的时间有差异,生成的新数据大小有差异,新数据从加速卡传输回主机的时间有差异,导致部分计算单元处于阻塞状态,而部分计算单元处于空闲状态,造成计算资源分配不均衡,计算资源利用率较低。
发明内容
有鉴于此,本发明实施例提供了一种资源分配方法及系统,以解决现有技术中计算资源分配不均衡,计算资源利用率较低的问题。
本发明实施例的第一方面提供了一种资源分配方法,包括:
获取用户输入的启动指令,根据启动指令启动业务程序,创建业务程序对应的进程,获取业务数据,并生成至少一个处理业务数据的线程;
获取至少一个申请同一块硬件加速卡计算资源的线程;
按照线程申请的时间顺序,将业务互斥锁分配给至少一个申请同一块硬件加速卡计算资源的线程中的目标线程;
若硬件加速卡中至少有一个计算单元的排队线程数量未达到预设值,则将目标线程分配给硬件加速卡中的所有计算单元中排队线程数量最少的目标计算单元,并释放目标线程的业务互斥锁;
若在目标线程之前的排队线程数量为零,则处理目标线程的业务数据;
当目标线程的业务数据处理完成后,按照线程申请的时间顺序,将业务互斥锁分配给目标线程;
将目标线程的标志位复位,将目标线程所在环形队列的活动位指针指向下一个待处理业务数据的线程,并释放目标线程的业务互斥锁,注销目标线程。
本发明实施例的第二方面提供了一种资源分配系统,包括:
指令获取模块,用于获取用户输入的启动指令,根据启动指令启动业务程序,创建业务程序对应的进程,获取业务数据,并生成至少一个处理业务数据的线程;
线程获取模块,用于获取至少一个申请同一块硬件加速卡计算资源的线程;
第一业务互斥锁分配模块,用于按照线程申请的时间顺序,将业务互斥锁分配给至少一个申请同一块硬件加速卡计算资源的线程中的目标线程;
目标线程分配模块,用于若硬件加速卡中至少有一个计算单元的排队线程数量未达到预设值,则将目标线程分配给硬件加速卡中的所有计算单元中排队线程数量最少的目标计算单元,并释放目标线程的业务互斥锁;
目标线程处理模块,用于若在目标线程之前的排队线程数量为零,则处理目标线程的业务数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市恒扬数据股份有限公司,未经深圳市恒扬数据股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711205195.3/2.html,转载请声明来源钻瓜专利网。