[发明专利]一种资源分配方法及系统有效
申请号: | 201711205195.3 | 申请日: | 2017-11-27 |
公开(公告)号: | CN108052396B | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 李超;黄俞翔 | 申请(专利权)人: | 深圳市恒扬数据股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/50 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 资源 分配 方法 系统 | ||
1.一种资源分配方法,其特征在于,包括:
获取用户输入的启动指令,根据所述启动指令启动业务程序,创建所述业务程序对应的进程,为所述进程分配进程号,获取业务数据,并生成至少一个处理所述业务数据的线程,为所述线程分配线程号,将所述进程号、所述线程号、所述进程的状态信息和所述线程的状态信息保存在进程注册表中;
其中,在所述获取用户输入的启动指令之前,还包括:
创建共享数据区,初始化进程注册表、负载均衡表、管理互斥锁和业务互斥锁;
获取所述管理互斥锁;
获取所有的在线进程信息和在线线程信息,根据所述在线进程信息和所述在线线程信息,判断所述进程注册表中是否存在不在线进程和不在线线程,判断所述负载均衡表中是否存在不在线线程;
若所述进程注册表中存在不在线进程,则删除所述进程注册表中保存的所述不在线进程的进程号和状态信息以及所述不在线进程包含的所有线程的线程号和状态信息,并注销所述不在线进程的进程号和所述不在线进程包含的所有线程的线程号;
若所述进程注册表中存在不在线线程,则删除所述进程注册表中保存的不在线线程的线程号和状态信息,并注销所述进程注册表中保存的不在线线程的线程号;
若所述负载均衡表中存在不在线线程,则删除所述负载均衡表中保存的不在线线程的线程号和状态信息,并注销所述负载均衡表中保存的不在线线程的线程号;
释放所述管理互斥锁;
其中,所述获取所有的在线进程信息和在线线程信息,根据所述在线进程信息和所述在线线程信息,判断所述进程注册表中是否存在不在线进程和不在线线程,判断所述负载均衡表中是否存在不在线线程,包括:
获取内核中所有的在线进程信息,将在线进程信息与进程注册表中保存的进程信息进行对比,判断进程注册表中是否存在不在线进程;
获取内核中所有的在线线程信息,将在线线程信息与进程注册表中保存的线程信息进行对比,判断进程注册表中是否存在不在线线程;将在线线程信息与负载均衡表中保存的线程信息进行对比,判断负载均衡表中是否存在不在线线程;
获取至少一个申请同一块硬件加速卡计算资源的线程;
按照线程申请的时间顺序,将所述业务互斥锁分配给所述至少一个申请同一块硬件加速卡计算资源的线程中的目标线程;
若所述硬件加速卡中至少有一个计算单元的排队线程数量未达到预设值,则将所述目标线程分配给所述硬件加速卡中的所有计算单元中排队线程数量最少的目标计算单元,并释放所述目标线程的业务互斥锁;
若在所述目标线程之前的排队线程数量为零,则处理所述目标线程的业务数据;
当所述目标线程的业务数据处理完成后,按照所述线程申请的时间顺序,将所述业务互斥锁分配给所述目标线程;
将所述目标线程的标志位复位,将所述目标线程所在环形队列的活动位指针指向下一个待处理业务数据的线程,并释放所述目标线程的业务互斥锁,注销所述目标线程。
2.根据权利要求1所述的资源分配方法,其特征在于,所述将所述目标线程分配给所述硬件加速卡中的所有计算单元中排队线程数量最少的目标计算单元,具体包括:
将所述目标线程所属进程的进程号和所述目标线程的线程号保存在负载均衡表中所述目标计算单元对应的环形队列中,并将所述目标线程的标志位置位。
3.根据权利要求1所述的资源分配方法,其特征在于,所述注销所述目标线程,包括:
删除进程注册表中保存的所述目标线程的线程号和状态信息,并注销所述目标线程的线程号;
若所述目标线程所属进程中的所有线程都处理完成,则删除所述进程注册表中保存的所述目标线程所属进程的进程号和状态信息,并注销所述目标线程所属进程的进程号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市恒扬数据股份有限公司,未经深圳市恒扬数据股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711205195.3/1.html,转载请声明来源钻瓜专利网。