队列调度方法、芯片、系统、介质和程序产品与流程
- 国知局
- 2024-08-05 11:46:46
本发明涉及芯片,尤其涉及队列调度,特别涉及一种队列调度方法、芯片、系统、介质和程序产品。
背景技术:
1、在高性能计算、图形渲染以及深度学习等领域,人工智能芯片的使用逐渐变得普遍。然而,由于人工智能芯片资源的有限性,特别是在多进程或多用户共享这些资源时,如何高效地进行资源分配和调度成为了一个重要问题。传统的人工智能芯片的使用模式依赖于硬件队列来处理任务,但由于硬件队列数量的限制,当多进程或多用户共享人工智能芯片资源时,必须采取分时调度的策略来实现。
2、为了解决这一问题,相关技术采用了一种在cpu(central processing unit,中央处理器)侧的内核驱动程序中为不同进程或用户创建虚拟队列的策略,然后通过分时调度的方式将虚拟队列绑定到硬件队列上执行,以实现资源的共享。尽管这种策略在一定程度上可以解决人工智能芯片资源共享的问题,但它也增加了驱动程序的复杂度,而且调度性能依赖cpu性能,易出现调度效率低的问题。此外,这种策略在硬件访问开销和虚拟队列操作效率等方面也存在明显缺陷。
技术实现思路
1、本发明提供一种队列调度方法、芯片、系统、介质和程序产品,用以解决人工智能芯片中队列调度存在的驱动程序复杂、调度效率低、硬件访问开销大的缺陷。
2、本发明提供一种队列调度方法,所述方法应用于人工智能芯片,所述方法包括:查询第一队列中是否存储有待执行任务,所述第一队列是由中央处理器预先为各个进程或用户在所述人工智能芯片上创建的队列,所述待执行任务是所述中央处理器在监测到所述进程或用户发起任务请求的情况下创建并提交到所述第一队列中的;
3、若查询到所述第一队列中存储有待执行任务,则将所述第一队列绑定到第二队列上;
4、基于所述第二队列,对所述待执行任务进行执行。
5、根据本发明提供的一种队列调度方法,所述将所述第一队列绑定到第二队列上,包括:
6、基于分时调度策略,将所述第一队列绑定到第二队列上;
7、所述对所述待执行任务进行执行,之后还包括:
8、在分时调度的时间片结束的情况下,停止执行所述待执行任务,并将所述第一队列与所述第二队列进行解绑;
9、在接收到终止命令的情况下,停止执行所述待执行任务,并将所述第一队列与所述第二队列进行解绑,以使所述中央处理器对所述第一队列进行销毁,所述终止命令是所述中央处理器在监测到所述进程或用户发出销毁指令的情况下生成并发送的。
10、根据本发明提供的一种队列调度方法,所述对所述第一队列的查询、绑定、停止、解绑均是基于硬件完成的。
11、根据本发明提供的一种队列调度方法,所述查询第一队列中是否存储有待执行任务,包括:
12、基于所述第一队列的读指针和写指针是否相等,查询所述第一队列中是否存储有待执行任务;在所述读指针和所述写指针不相等的情况下,确定所述第一队列中存储有待执行任务。
13、根据本发明提供的一种队列调度方法,所述第一队列为虚拟队列,所述第二队列为硬件队列。
14、根据本发明提供的一种队列调度方法,所述待执行任务是指由所述中央处理器创建且尚未在所述人工智能芯片上执行的任务,所述任务请求是指所述进程或用户向所述中央处理器发出的请求所述人工智能芯片执行特定任务的指令。
15、本发明还提供一种队列调度装置,所述装置应用于人工智能芯片,所述装置包括:查询单元,用于查询第一队列中是否存储有待执行任务,所述第一队列是由中央处理器预先为各个进程或用户在所述人工智能芯片上创建的队列,所述待执行任务是所述中央处理器在监测到所述进程或用户发起任务请求的情况下创建并提交到所述第一队列中的;
16、绑定单元,用于若查询到所述第一队列中存储有待执行任务,则将所述第一队列绑定到第二队列上;
17、执行单元,用于基于所述第二队列,对所述待执行任务进行执行。
18、本发明还提供一种人工智能芯片,包括微控制器单元,所述微控制器单元包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述队列调度方法。
19、本发明还提供一种队列调度系统,包括中央处理器以及如上述所述的人工智能芯片;所述中央处理器用于在所述人工智能芯片上创建或销毁第一队列,并通过消息通知所述人工智能芯片中的微控制器单元。
20、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述队列调度方法。
21、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述队列调度方法。
22、本发明提供的队列调度方法、芯片、系统、介质和程序产品,通过中央处理器预先为各个进程或用户在人工智能芯片上创建第一队列,并将待执行任务提交到第一队列中,使得大量的任务管理和调度工作是在人工智能芯片中完成的,中央处理器上的内核驱动程序只需要关注第一队列的创建或销毁,无需再通过分时调度将不同进程或用户的第一队列绑定到第二队列上执行,也无需再对第一队列进行查询、停止、解绑等操作,从而大大降低了内核驱动程序的复杂度。而且,由于大量的任务调度以及第一队列的查询、绑定、停止、解绑等工作都是通过人工智能芯片来完成,大大减少了中央处理器的参与,由此可以解决对中央处理器性能的依赖,使得中央处理器可以将更多的资源用于执行用户程序,从而提升整体的系统性能。此外,由于第一队列被创建在人工智能芯片上,使得对第一队列的查询、绑定、停止、解绑的操作都在人工智能芯片内部完成,这样可以减少与中央处理器之间的通信和交互,从而减少通信延迟和开销,提升调度性能。
技术特征:1.一种队列调度方法,其特征在于,所述方法应用于人工智能芯片,所述方法包括:
2.根据权利要求1所述的队列调度方法,其特征在于,所述将所述第一队列绑定到第二队列上,包括:
3.根据权利要求2所述的队列调度方法,其特征在于,所述对所述第一队列的查询、绑定、停止、解绑均是基于硬件完成的。
4.根据权利要求1所述的队列调度方法,其特征在于,所述查询第一队列中是否存储有待执行任务,包括:
5.根据权利要求1至4任一项所述的队列调度方法,其特征在于,所述第一队列为虚拟队列,所述第二队列为硬件队列。
6.根据权利要求1至4任一项所述的队列调度方法,其特征在于,所述待执行任务是指由所述中央处理器创建且尚未在所述人工智能芯片上执行的任务,所述任务请求是指所述进程或用户向所述中央处理器发出的请求所述人工智能芯片执行特定任务的指令。
7.一种人工智能芯片,其特征在于,包括微控制器单元,所述微控制器单元包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至6任一项所述队列调度方法。
8.一种队列调度系统,其特征在于,包括中央处理器以及如权利要求7所述的人工智能芯片;
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述队列调度方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述队列调度方法。
技术总结本发明涉及芯片技术领域,提供一种队列调度方法、芯片、系统、介质和程序产品,其中方法包括:查询第一队列中是否存储有待执行任务,所述第一队列是由中央处理器预先为各个进程或用户在所述人工智能芯片上创建的队列,所述待执行任务是所述中央处理器在监测到所述进程或用户发起任务请求的情况下创建并提交到所述第一队列中的;若查询到所述第一队列中存储有待执行任务,则将所述第一队列绑定到第二队列上;基于所述第二队列,对所述待执行任务进行执行。本发明提供的方法、芯片、系统、介质和程序产品,能够降低内核驱动程序的复杂度,解决对中央处理器性能的依赖,同时提升调度性能。技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名受保护的技术使用者:上海壁仞科技股份有限公司技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/259347.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表