CN110825342B - 存储调度器件和用于处理信息的系统、方法及装置 - Google Patents

存储调度器件和用于处理信息的系统、方法及装置 Download PDF

Info

Publication number
CN110825342B
CN110825342B CN201810910435.8A CN201810910435A CN110825342B CN 110825342 B CN110825342 B CN 110825342B CN 201810910435 A CN201810910435 A CN 201810910435A CN 110825342 B CN110825342 B CN 110825342B
Authority
CN
China
Prior art keywords
program
queue
executed
memory
program identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810910435.8A
Other languages
English (en)
Other versions
CN110825342A (zh
Inventor
陈荣
王勇
韩金宸
施佳鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunlun Core Beijing Technology Co ltd
Original Assignee
Kunlun Core Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunlun Core Beijing Technology Co ltd filed Critical Kunlun Core Beijing Technology Co ltd
Priority to CN201810910435.8A priority Critical patent/CN110825342B/zh
Publication of CN110825342A publication Critical patent/CN110825342A/zh
Application granted granted Critical
Publication of CN110825342B publication Critical patent/CN110825342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Abstract

本申请实施例公开了存储调度器件和用于处理信息的系统、方法及装置。该存储调度器件,包括存储器和与存储器通信连接的调度器,其中:存储器被配置成:以队列的形式存储程序标识组,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;调度器被配置成:响应于确定队列中包括程序标识,获取存储于队列的队头的程序标识所指示的待执行程序,向外部执行单元发送待执行程序;响应于从外部执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。该实施方式有助于减少通信连接的外部CPU与存储调度器件的交互次数,有助于提高外部CPU和存储调度器件的性能,有助于提高程序的执行效率。

Description

存储调度器件和用于处理信息的系统、方法及装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及存储调度器件和用于处理信息的系统、方法及装置。
背景技术
近年来,随着云计算、大数据和人工智能等领域的发展,对数据计算量、硬件的计算速度等方面的要求显著提高。
以深度神经网络的训练为例,为保证数据的依赖关系(例如下一层网络的操作的数据输入,依赖于上一层神经网络的输出),现有的中CPU(央处理器,Central ProcessingUnit)通常采用如下两种方式之一进行任务(例如,深度神经网络每一层的数据计算)调度:
方式一:CPU轮询。芯片会将自己的一个状态寄存器通过共享内存的方式,映射到CPU地址空间。CPU在调度一个任务之后,会不断地轮询这个寄存器的状态。芯片在完成CPU下发的任务之后,会改变寄存器的状态。CPU发现该状态寄存器改变之后,可以确定芯片已经成功执行完了一次任务,于是会继续调度下一个任务。
方式二:CPU异步调度。CPU调度一个任务之后,将不会等待在此次任务之上,而是会继续进行别的工作。当芯片收到任务,并且计算完成之后,会向CPU发起一次中断。CPU收到中断,会对此次任务的完成情况进行判断,然后会对下一个任务进行调度。
发明内容
本申请实施例提出了存储调度器件和用于处理信息的系统、方法及装置。
第一方面,本申请实施例提供了一种存储调度器件,包括存储器和与存储器通信连接的调度器,其中:存储器被配置成:以队列的形式存储程序标识组,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;调度器被配置成:响应于确定队列中包括程序标识,获取存储于队列的队头的程序标识所指示的待执行程序,向外部执行单元发送待执行程序;响应于从外部执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。
在一些实施例中,出队操作包括删除或标记。
在一些实施例中,调度器进一步被配置成:确定队列的待插入位置指示的存储区;响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区;响应于所确定的存储区存储有被标记的程序标识,将被标记的程序标识替换为接收到的程序标识。
在一些实施例中,程序标识组中最后存储至存储器的程序标识包括结束标识;以及调度器进一步被配置成:响应于已在队列中对包括结束标识的程序标识执行出队操作,向外部中央处理器CPU发送中断信息。
在一些实施例中,存储器为硬件队列;和/或队列为单向循环队列。
第二方面,本申请实施例提供了一种芯片,包括如上述第一方面中任一存储调度器件和执行单元,该芯片包括的执行单元为上述第一方面中的一些实施例中包括的外部执行单元,执行单元与存储调度器件通信连接,其中:执行单元,被配置成执行调度器发送的待执行程序。
在一些实施例中,回执信息包括表征执行单元对待执行程序的执行状态的信息,其中,执行状态表征以下之一:阻塞,正在执行,执行完成。
第三方面,本申请实施例提供了一种用于处理信息的系统,包括如上述第二方面中任一芯片和CPU,该系统包括的CPU为上述第一方面或第二方面中的一些实施例中包括的外部CPU,其中:CPU与芯片通信连接,以及被配置成:响应于存储器处于非饱和状态,采用异步调用的方式,向芯片中的存储器发送程序标识。
在一些实施例中,CPU还被配置成:接收芯片中的调度器发送的中断信息;执行中断处理。
第四方面,本申请实施例提供了一种用于处理信息的方法,包括:响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;向目标执行单元发送待执行程序;响应于从目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。
在一些实施例中,出队操作包括删除或标记。
在一些实施例中,该方法还包括:确定队列的待插入位置指示的存储区;响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区;响应于所确定的存储区存储有被标记的程序标识,将被标记的程序标识替换为接收到的程序标识。
在一些实施例中,程序标识组中最后存储至存储器的程序标识包括结束标识;以及该方法还包括:响应于已在队列中对包括结束标识的程序标识执行出队操作,向目标中央处理器CPU发送中断信息。
在一些实施例中,该方法还包括:响应于队列中包括程序标识,向目标执行单元发送存储于队列的队头的程序标识所指示的待执行程序。
在一些实施例中,回执信息包括表征执行单元对待执行程序的执行状态的信息,其中,执行状态表征以下之一:阻塞,正在执行,执行完成。
在一些实施例中,目标存储器为硬件队列;和/或队列为单向循环队列。
第五方面,本申请实施例提供了一种用于处理信息的装置,包括:获取单元,被配置成响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;第一发送单元,被配置成向目标执行单元发送待执行程序;执行单元,被配置成响应于从目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。
在一些实施例中,出队操作包括删除或标记。
在一些实施例中,该装置还包括:确定单元,被配置成确定队列的待插入位置指示的存储区;存储单元,被配置成响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区;替换单元,被配置成响应于所确定的存储区存储有被标记的程序标识,将被标记的程序标识替换为接收到的程序标识。
在一些实施例中,程序标识组中最后存储至存储器的程序标识包括结束标识;以及该装置还包括:第二发送单元,被配置成响应于已在队列中对包括结束标识的程序标识执行出队操作,向目标中央处理器CPU发送中断信息。
在一些实施例中,该装置还包括:第三发送单元,被配置成响应于队列中包括程序标识,向目标执行单元发送存储于队列的队头的程序标识所指示的待执行程序。
在一些实施例中,回执信息包括表征执行单元对待执行程序的执行状态的信息,其中,执行状态表征以下之一:阻塞,正在执行,执行完成。
在一些实施例中,目标存储器为硬件队列;和/或队列为单向循环队列。
第六方面,本申请实施例提出了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述第四方面中任一实现方式描述的方法。
第七方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第四方面中任一实现方式描述的方法。
第八方向,本申请实施例提供了一种电子设备,包括:如上述第一方面中任一实现方式描述的存储调度器件。
本申请实施例提供的存储调度器件可以包括存储器和与存储器通信连接的调度器,其中:存储器被配置成:以队列的形式存储程序标识组,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;调度器被配置成:响应于确定队列中包括程序标识,获取存储于队列的队头的程序标识所指示的待执行程序,向外部执行单元发送待执行程序;响应于从外部执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作,通过上述队列的使用,有助于减少通信连接的外部CPU与存储调度器件的交互次数,有助于提高外部CPU和存储调度器件的性能,有助于提高程序的执行效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的存储调度器件的一个实施例的结构示意图;
图3是根据本申请的芯片的一个实施例的结构示意图;
图4是根据本申请的用于处理信息的系统的一个实施例的结构示意图;
图5是针对图4的用于处理信息的系统的一个应用场景的工作时序图;
图6是根据本申请的用于处理信息的方法的一个实施例的流程图;
图7是根据本申请的用于处理信息的装置的一个实施例的结构示意图;
图8是根据本申请的电子设备的一个实施例的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的存储调度器件,或芯片,或用于处理信息的系统,或用于处理信息的方法,或用于处理信息的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端101、102、103,网络104和服务器105。网络104可以用以在终端101、102、103与服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端101、102、103通过网络104与服务器105进行交互,以接收或发送消息等。终端101、102、103上可以安装有各种客户端应用,例如模型训练、模型测试类应用、模型预测类应用、网页浏览器、购物类应用和即时通讯工具等。
这里的终端101、102、103可以是硬件,也可以是软件。当终端101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、智能手表、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、膝上型便携计算机和台式计算机等等。当终端101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如可以是对终端101、102、103上安装的各种应用提供支持的后台服务器。后台服务器可以对用户在应用上的操作行为进行分析处理,并可以将处理结果(如与操作行为对应的响应信息)返回给终端101、102、103。
这里的服务器105同样可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
此外,终端101、102、103或者服务器105中可以安装有存储调度器件106。可选的,上述存储调度器件106可以设置于芯片(例如人工智能(Artificial Intelligence,AI)芯片)中。在一些使用情况下,CPU(中央处理器,Central Processing Unit)可以将获取的待分析数据(例如待执行程序)传输给存储调度器件106。此时,存储调度器件106可以按照一定的算法,将待分析数据发送至执行单元(例如芯片的执行单元、AI芯片的计算单元等),从而利用执行单元的执行结果进行模型的训练,或其他方式的数据处理。
在一些使用情况下,存储调度器件106可以包含于芯片中,芯片可以包含于用于处理信息的系统中,用于处理信息的系统可以包含于电子设备中。
应该理解,图1中的终端、网络、服务器和存储调度器件的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络、服务器和存储调度器件。
本申请的一些实施例提出了一种存储调度器件。该存储调度器件的结构可以参考图2,如图2所示,其示出了根据本申请的存储调度器件的一个实施例的结构示意图。本实施例中的存储调度器件可以包括存储器20和与存储器20通信连接的调度器21。
在本实施例中,存储器20可以以队列的形式存储程序标识组。其中,队列中的队列元素为程序标识,程序标识可以用于指示待执行程序。
在这里,存储器20可以是用于保存信息的设备。示例性的,存储器20可以是内存储器,也可以是外存储器等各种用于保存信息的设备。队列是一种只允许在队头进行出队操作,而在队尾进行插入操作的数据结构。在一些使用情况下,需要按照一定的顺序依次执行多个程序。在该应用场景下,上述队列中的程序标识指示的待执行程序的顺序可以是按照待执行程序所需执行的顺序排列的。程序标识可以是待执行程序本身,也可以是待执行程序的存储地址等用于指示待执行程序的标识。作为示例,上述待执行程序(也可以理解为算法或任务)可以是以下任一项计算过程所使用的程序:全连接计算、卷积计算、激活函数运算、优化算子运算等等。
可以理解,当程序标识不是待执行程序本身时,程序标识占用的存储空间往往小于待执行程序本身占用的存储空间。因此,存储程序标识相对于存储待执行程序本身,可以减少对存储空间的占用。
在本实施例中,调度器21可以在确定队列中包括程序标识的情况下,获取存储于队列的队头的程序标识所指示的待执行程序,向外部执行单元发送待执行程序,以及,在从外部执行单元接收的回执信息指示待执行程序被执行完成的情况下,在队列中对存储于队头的程序标识执行出队操作。其中,回执信息可以是外部执行单元在接收到待执行程序之后发送的信息。在一些使用情况下,回执信息可以表征待执行程序的执行状态,也可以指示外部执行单元接收到待执行程序。
在这里,调度器21可以通过存储于队列的队头的程序标识确定出该程序标识指示的待执行程序的位置,以确定出该程序标识指示的待执行程序,从而获取存储于队列的队头的程序标识所指示的待执行程序。
可选的,当程序标识即为待执行程序本身时,调度器21也可以直接获取存储于队列的队头的程序标识所指示的待执行程序。
在本实施例的一些可选的实现方式中,存储器20可以是硬件队列。可以理解的是,当存储器20为硬件队列时,上述程序标识可以作为硬件队列中的数据指针,程序标识指示的待执行程序可以被存储在缓存区的堆栈中或其他位置。
在本实施例的一些可选的实现方式中,队列为单向循环队列。可以理解,当队列为单项循环队列时,需要执行入队操作的程序标识可以占用已经执行了出队操作的程序标识之前所占用的存储区,由此,可以有效地利用存储区。
在本实施例的一些可选的实现方式中,出队操作可以包括删除或标记。
在本实施例的一些可选的实现方式中,调度器21可以确定队列的待插入位置指示的存储区,在所确定的存储区未存储程序标识的情况下,将接收到的程序标识存储至所确定的存储区,以及在所确定的存储区存储有被标记的程序标识的情况下,将被标记的程序标识替换为接收到的程序标识。
可以理解,在队列中删除存储于队头的程序标识之后,存储器可以将接收到的程序标识存储至执行删除操作前,队头的程序标识所占用的存储区,由此,可以有效地利用存储区。在队列中标记存储于队头的程序标识之后,调度器21可以将存储器20中被标记的程序标识替换为接收到的程序标识,由此,不仅可以有效地利用存储区,还可以减少频繁的删除操作对存储器的损害,有助于延长存储器的使用寿命。
在本实施例的一些可选的实现方式中,程序标识组中最后存储至存储器20的程序标识包括结束标识,如果已在队列中对包括结束标识的程序标识执行了出队操作,调度器21可以向外部CPU发送中断信息。
实践中,每组程序标识组中的各个程序标识可以按照程序标识指示的待执行程序的执行顺序,依次存储至存储器20中,并向该组程序标识组中最后一个存储至存储器20的程序标识添加结束标识。由此,当程序标识组中最后存储至队列的程序标识指示的待执行程序被执行完成时,可以表征该组程序标识组中的各个程序标识指示的待执行程序执行完成。然后,上述调度器21可以向外部CPU发送中断信息,以指示外部CPU该组程序标识组中的各个程序标识指示的待执行程序执行完成,以便外部CPU执行后续操作。
可以理解,一组程序标识组中的各个程序标识指示的待执行程序执行完成后向外部CPU发送中断信息,相对于每次执行完一个待执行程序均向外部CPU发送中断信息,可以减少外部CPU与存储调度器件的交互次数,有助于提高外部CPU和存储调度器件的性能,提高了程序的执行效率。
本申请的上述实施例提供的存储调度器件,包括存储器和与存储器通信连接的调度器,其中:存储器以队列的形式存储程序标识组,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序,在确定队列中包括程序标识的情况下,调度器获取存储于队列的队头的程序标识所指示的待执行程序,向外部执行单元发送待执行程序,以及在从外部执行单元接收的回执信息指示待执行程序被执行完成的情况下,在队列中对存储于队头的程序标识执行出队操作,从而有助于通过上述队列减少通信连接的外部CPU与存储调度器件的交互次数,有助于提高外部CPU和存储调度器件的性能,提高了程序的执行效率。
本申请的一些实施例还提出了一种芯片。该芯片的结构可以参考图3,如图3所示,其示出了根据本申请的芯片的一个实施例的结构示意图。本实施例中的芯片可以包括如上述第一方面中任一存储调度器件30和执行单元31,执行单元31可以与上述第一方面中任一外部执行单元具有相同的特征和/或效果。执行单元31可以与存储调度器件30通信连接。本申请实施例中的存储调度器件30可以与如图2所示的存储调度器件具有相同的特征和/或效果。例如,存储调度器件30可以包括存储器301和调度器302等等。
在本实施例中,执行单元31可以执行调度器302发送的待执行程序。
在本实施例的一些可以选的实现方式中,回执信息包括表征执行单元对待执行程序的执行状态的信息。其中,执行状态表征以下之一:阻塞,正在执行,执行完成。
在一些使用情况下,本申请的上述实施例提供的芯片可以是AI芯片。AI芯片可以针对神经网络而特别设计,此外,AI芯片还可以并行处理数据,因而AI芯片可以高效的处理计算任务(即执行待执行程序)。通常来说,AI芯片的多核设计能够实现将数据进行分块处理,使得每一个任务的计算都能够被多个AI芯片并行处理。虽然在同一个任务当中,AI芯片可以实现计算并行化,但是不同的任务之间,并行化却无法实现(一般来说,一个任务代表着神经网络的一层当中的一个操作,下一层网络的操作的数据输入,依赖于上一层神经网络的输出)。所以,当CPU对任务进行调度的时候,通常采用串行计算。可以理解,本申请的上述实施例提供的芯片可以应用于云计算、大数据和人工智能等领域。
本申请的上述实施例提供的芯片,在队列中包括程序标识的情况下,存储调度器件30向执行单元31发送存储于队列的队头的程序标识所指示的待执行程序,以及执行单元31执行调度器302发送的存储于队列的队头的程序标识所指示的待执行程序,从而一旦确定队列中包括程序标识之后,则向执行单元31发送存储于队列的队头的程序标识所指示的待执行程序,以使得执行单元31执行该待执行程序。由此,当芯片执行CPU发送的程序标识指示的待执行程序时,可以降低芯片处于满负载状态的时间与处于闲置状态的时间的比值,由此提高了芯片的利用率。此外,上述实施例还有助于减少通信连接的外部CPU与芯片的交互次数,有助于提高外部CPU和芯片的性能,提高了程序执行的效率。
本申请的一些实施例还提出了一种用于处理信息的系统。该用于处理信息的系统的结构可以参考图4,如图4所示,其示出了根据本申请的用于处理信息的系统的一个实施例的结构示意图。本实施例中的用于处理信息的系统可以包括CPU40和芯片41。该系统包括的CPU40可以是上述第一方面中的一些实施例中包括的外部CPU。CPU40可以与芯片41通信连接。本申请实施例中的芯片41可以与如图3所示的芯片具有相同的特征和/或效果。例如,芯片41可以包括存储调度器件410和执行单元411。其中,存储调度器件410可以包括存储器4100和调度器4101等等。
在本实施例中,在存储器处于非饱和状态的情况下,CPU40可以采用异步调用的方式,向芯片41中的存储器4100发送程序标识。
实践中,队列的队列容量(队列最多容纳程序标识的数量)可以是预先设置的,由此,调度器、CPU40或者其他装置可以通过队列中包括的程序标识的数量是否小于上述队列容量,来确定存储器是否处于非饱和状态。可选的,调度器、CPU40或者其他装置也可以通过确定存储器已存储且未被标记的程序标识所占用的存储空间的大小是否小于预设阈值,来确定存储器是否处于非饱和状态。
在这里,通过异步调用的方式,在芯片返回执行结果之前,CPU可以执行其他操作而无需等待芯片返回执行结果,由此提高了CPU的利用率。
在本实施例的一些可选的实现方式中,CPU40还可以接收芯片41中的调度器4101发送的中断信号,以及执行中断处理。
可以理解,当CPU40向芯片41发送程序标识组之后,CPU40可以无需等待芯片41返回执行结果,而执行其他操作。当CPU40接收到中断信号时,表征程序标识组中的各个程序标识指示的待执行程序已执行完成,之后,CPU40可以执行中断处理,而基于芯片41返回的执行结果继续执行操作。由此,提高了CPU40的工作效率,并且,相对于芯片41执行完一个待执行程序,即向CPU40发送中断信号,本可选的实现方式可以减少芯片41与CPU40之间的交互频率,由此,提高了芯片41和CPU40的性能,提高了CPU40的利用率,在需要执行大量待执行程序的场景下,可以减少多个待执行程序的总的执行时间。
作为示例,请参考图5。图5是针对图4的用于处理信息的系统的一个应用场景的工作时序图。
如图5所示,在步骤501中,CPU采用异步调用的方式,向硬件队列发送程序标识。随后,CPU执行其他操作(图5中为执行XX操作)。
在本实施例中,硬件队列处于非饱和状态,基于此,CPU可以采用异步调用的方式,向硬件队列发送程序标识。随后,CPU可以执行其他操作(图5中为执行XX操作)。
在这里,通过异步调用的方式,在芯片返回执行结果之前,CPU可以执行其他操作而无需等待芯片返回执行结果,由此提高了CPU的利用率。
在步骤502中,硬件队列将程序标识插入队列。
在本实施例中,硬件队列可以将程序标识插入队列。
作为示例,硬件队列可以首先确定队列的待插入位置指示的存储区。如果所确定的存储区未存储程序标识,硬件队列可以将接收到的程序标识存储至所确定的存储区。如果所确定的存储区存储有被标记的程序标识,硬件队列可以将被标记的程序标识替换为接收到的程序标识。
在步骤503中,硬件队列向调度器发送待执行程序的程序标识。
在本实施例中,硬件队列可以向调度器发送待执行程序的程序标识。其中,硬件队列发送的待执行程序可以是队列的队头的程序标识指示的待执行程序。
在步骤504中,调度器确定待执行程序。
在本实施例中,由于待执行程序的程序标识指示待执行程序,由此,调度器可以确定出步骤503中发送的程序标识指示的待执行程序。
在步骤505中,调度器向执行单元发送待执行程序。
在本实施例中,调度器可以向执行单元发送步骤504中确定的待执行程序。
在步骤506中,执行单元执行待执行程序。
在本实施例中,执行单元可以执行步骤505中发送的待执行程序。
在步骤507中,执行单元向调度器发送待执行程序的执行状态(即执行完成)。
在本实施例中,执行单元向调度器发送步骤506中执行的待执行程序的执行状态(图5中为执行完成)。
在步骤508中,调度器标记硬件队列中执行完成的待执行程序的程序标识。
在本实施例中,调度器可以标记硬件队列中执行完成的第一待执行程序的程序标识,以在队列中对执行完成的待执行程序的程序标识执行出队操作。
在步骤509中,调度器确定执行完成的程序的程序标识包括结束标识。
在本实施例中,调度器可以确定执行完成的程序的程序标识包括结束标识。
在步骤510中,调度器向CPU发送中断信号。
在本实施例中,调度器可以向CPU发送中断信号。
在步骤511中,CPU执行中断处理。
在本实施例中,CPU可以执行中断处理。
可以理解,当CPU向芯片发送程序标识组之后,CPU可以无需等待芯片返回执行结果,而执行其他操作。当CPU接收到中断信号时,表征程序标识组中的各个程序标识指示的待执行程序已执行完成,之后,CPU可以执行中断处理,从而CPU可以基于芯片返回的执行结果继续执行操作。由此,提高了CPU的工作效率,并且,相对于芯片执行完一个待执行程序,即向CPU发送中断信号,本方案可以减少芯片与CPU之间的交互频率,由此,提高了芯片和CPU的性能,提高了CPU的利用率,在需要执行大量待执行程序的场景下,可以减少多个待执行程序的总的执行时间。
需要说明的是,图5中所包括的步骤仅仅是一个示例,不应对本申请实施例起到任何限制作用。例如,步骤503可以是“硬件队列向调度器发送待执行程序的程序标识”,也可以是“调度器获取硬件队列存储的待执行程序的程序标识”。再例如,步骤510可以是“调度器向CPU发送中断信号”,也可以是“调度器通过其它组件(例如芯片中包括的除调度器、存储器、执行单元之外的组件)向CPU发送中断信号”,还可以是“其它组件(例如芯片中包括的除调度器、存储器、执行单元之外的组件)向CPU发送中断信号”等等。
还需要说明的是,当执行单元对一组程序标识指示的待执行程序执行完成后,可以继续执行下一组程序标识指示的待执行程序,而不用阻塞。此外,由于存储器可以作为缓冲的中间部件,CPU向存储器发送程序标识之后可以执行其他操作,只要队列中存储有程序标识,调度器便可以将队列的队头的程序标识指示的待执行程序发送给执行单元,由此,可以达到执行单元不会因为CPU和调度器的交互而被阻塞的效果。
本申请的上述实施例提供的存储调度器件,通过异步调用的方式,在芯片返回执行结果之前,CPU可以执行其他操作,而无需一直等待芯片返回执行结果,由此提高了CPU的利用率。
继续参考图6,示出了根据本申请的用于处理信息的方法的一个实施例的流程600。该用于处理信息的方法可以应用于上述存储调度器件中的调度器,因此,除下面所记载的特征或效果之外,该方法还可以包括上述所记载的调度器具有的特征和/或效果。该用于处理信息的方法可以包括以下步骤:
步骤601,响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序。
在本实施例中,如果用于以队列的形式存储程序标识组的目标存储器中包括程序标识,用于提取信息的方法的执行主体(例如图1所示的存储调度器件中的调度器)可以获取存储于队列的队头的程序标识指示的待执行程序。其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序。其中,目标存储器可以是与上述执行主体通信连接的存储器。
步骤602,向目标执行单元发送待执行程序。
在本实施例中,上述执行主体可以向目标执行单元发送待执行程序。其中,上述目标执行单元可以是与上述执行主体通信连接的执行单元。
实践中,待执行程序可以是上述执行主体主动向目标执行单元发送的,也可以是目标执行单元主动向上述执行主体获取的,本申请实施例对此不做限定。
步骤603,响应于从目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。
在本实施例中,如果从目标执行单元接收的回执信息指示待执行程序被执行完成,上述执行主体可以在队列中对存储于队头的程序标识执行出队操作。其中,回执信息可以是目标执行单元在接收到待执行程序之后发送的信息。在一些使用情况下,回执信息可以表征待执行程序的执行状态,也可以指示目标执行单元接收到待执行程序。
在本实施例的一些可选实现方式中,出队操作包括删除或标记。
在本实施例的一些可选实现方式中,上述执行主体还可以:确定队列的待插入位置指示的存储区,在所确定的存储区未存储程序标识的情况下,将接收到的程序标识存储至所确定的存储区,以及在所确定的存储区存储有被标记的程序标识的情况下,将被标记的程序标识替换为接收到的程序标识。
在本实施例的一些可选实现方式中,程序标识组中最后存储至存储器的程序标识包括结束标识,在已在队列中对包括结束标识的程序标识执行出队操作的情况下,上述执行主体还可以向目标CPU发送中断信息。其中,目标CPU可以是与上述执行主体通信连接的CPU。
在本实施例的一些可选实现方式中,在队列中包括程序标识的情况下,上述执行主体可以向目标执行单元发送存储于队列的队头的程序标识所指示的待执行程序。
在本实施例的一些可选实现方式中,回执信息包括表征执行单元对待执行程序的执行状态的信息。其中,执行状态表征以下之一:阻塞,正在执行,执行完成。
在本实施例的一些可选实现方式中,目标存储器为硬件队列;和/或队列为单向循环队列。
本申请的上述实施例提供的用于处理信息的方法,通过采用队列的方式存储程序标识,有助于减少通信连接的外部CPU与上述执行主体的交互次数,有助于提高外部CPU和上述执行主体的性能,有助于提高程序的执行效率。
进一步参考图7,作为对图6所示方法的实现,本申请提供了一种用于处理信息的装置的一个实施例,该装置实施例与图6所示的方法实施例相对应,除下面所记载的特征或效果之外,该装置还可以包括与图6所示的方法实施例相同或相应的特征和/效果。该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的用于处理信息的装置700可以包括获取单元701、第一发送单元702和执行单元703。其中,获取单元701被配置成响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;第一发送单元702被配置成向目标执行单元发送待执行程序;执行单元703被配置成响应于从目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。其中,回执信息可以是目标执行单元在接收到待执行程序之后发送的信息。在一些使用情况下,回执信息可以表征待执行程序的执行状态,也可以指示目标执行单元接收到待执行程序。
在本实施例中,如果用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取单元701可以获取存储于队列的队头的程序标识指示的待执行程序。其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序。目标存储器可以是与上述执行主体通信连接的存储器。
在本实施例中,第一发送单元702可以向目标执行单元发送待执行程序。其中,目标执行单元可以是与上述执行主体通信连接的执行单元。
实践中,待执行程序可以是上述执行主体主动向目标执行单元发送的,也可以是目标执行单元主动向上述执行主体获取的,本申请实施例对此不做限定。
在本实施例中,如果从目标执行单元接收的回执信息指示待执行程序被执行完成,执行单元703可以在队列中对存储于队头的程序标识执行出队操作。
在本实施例的一些可选的实现方式中,出队操作包括删除或标记。
在本实施例的一些可选的实现方式中,该装置700还可以包括:确定单元(图中未示出)被配置成确定队列的待插入位置指示的存储区;存储单元(图中未示出)被配置成响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区;替换单元(图中未示出)被配置成响应于所确定的存储区存储有被标记的程序标识,将被标记的程序标识替换为接收到的程序标识。
在本实施例的一些可选的实现方式中,程序标识组中最后存储至存储器的程序标识包括结束标识;以及该装置700还可以包括:第二发送单元(图中未示出)被配置成响应于已在队列中对包括结束标识的程序标识执行出队操作,向目标CPU发送中断信息。其中,目标CPU可以是与上述执行主体通信连接的CPU。
在本实施例的一些可选的实现方式中,该装置700还可以包括:第三发送单元(图中未示出)被配置成响应于队列中包括程序标识,向目标执行单元发送存储于队列的队头的程序标识所指示的待执行程序。
在本实施例的一些可选的实现方式中,回执信息包括表征执行单元对待执行程序的执行状态的信息。其中,执行状态表征以下之一:阻塞,正在执行,执行完成。
在本实施例的一些可选的实现方式中,目标存储器为硬件队列和/或队列为单向循环队列。
本申请的上述实施例提供的用于处理信息的装置,通过采用队列的方式存储程序标识,有助于减少通信连接的外部CPU与装置700的交互次数,有助于提高外部CPU和装置700的性能,有助于提高程序的执行效率。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
在一些使用情况下,该电子设备可以包括如上述第一方面中任一实现方式描述的存储调度器件。
在另一些使用情况下,如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种电子设备包括插入单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取存储于队列的队头的程序标识指示的待执行程序的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,使得该电子设备:响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;向目标执行单元发送待执行程序;响应于从目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (23)

1.一种存储调度器件,包括存储器和与所述存储器通信连接的调度器,其中:
所述存储器被配置成:以队列的形式存储程序标识组,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;
所述调度器被配置成:响应于确定队列中包括程序标识,获取存储于队列的队头的程序标识所指示的待执行程序,向外部执行单元发送待执行程序;响应于从所述外部执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作,所述回执信息包括表征所述外部执行单元对待执行程序的执行状态的信息,其中,所述执行状态表征以下之一:阻塞,正在执行,执行完成;
所述调度器进一步被配置成:
确定队列的待插入位置指示的存储区;响应于所确定的存储区存储有被标记的程序标识,将所述被标记的程序标识替换为接收到的程序标识。
2.根据权利要求1所述的存储调度器件,其中,所述出队操作包括删除或标记。
3.根据权利要求2所述的存储调度器件,其中,所述调度器进一步被配置成:
响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区。
4.根据权利要求1所述的存储调度器件,其中,所述程序标识组中最后存储至所述存储器的程序标识包括结束标识;以及
所述调度器进一步被配置成:
响应于已在队列中对包括所述结束标识的程序标识执行出队操作,向外部中央处理器CPU发送中断信息。
5.根据权利要求1-4之一所述的存储调度器件,其中,所述存储器为硬件队列;和/或
队列为单向循环队列。
6.一种芯片,包括如权利要求1-5之一所述的存储调度器件和执行单元,所述执行单元与所述存储调度器件通信连接,其中:
所述执行单元,被配置成执行所述调度器发送的待执行程序。
7.一种用于处理信息的系统,包括如权利要求6所述的芯片和CPU,所述CPU与所述芯片通信连接,其中:
所述CPU被配置成:响应于所述存储器处于非饱和状态,采用异步调用的方式,向所述芯片中的存储器发送程序标识。
8.根据权利要求7所述的系统,其中,所述CPU还被配置成:
接收所述芯片中的调度器发送的中断信息;
执行中断处理。
9.一种用于处理信息的方法,包括:
响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;
向目标执行单元发送待执行程序;
响应于从所述目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作,所述回执信息包括表征所述目标执行单元对待执行程序的执行状态的信息,其中,所述执行状态表征以下之一:阻塞,正在执行,执行完成;
所述方法还包括:
确定队列的待插入位置指示的存储区;响应于所确定的存储区存储有被标记的程序标识,将所述被标记的程序标识替换为接收到的程序标识。
10.根据权利要求9所述的方法,其中,所述出队操作包括删除或标记。
11.根据权利要求10所述的方法,其中,所述方法还包括:
响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区。
12.根据权利要求9所述的方法,其中,所述程序标识组中最后存储至所述存储器的程序标识包括结束标识;以及
所述方法还包括:
响应于已在队列中对包括所述结束标识的程序标识执行出队操作,向目标中央处理器CPU发送中断信息。
13.根据权利要求9-12之一所述的方法,其中,所述方法还包括:
响应于队列中包括程序标识,向所述目标执行单元发送存储于队列的队头的程序标识所指示的待执行程序。
14.根据权利要求9-12之一所述的方法,其中,所述目标存储器为硬件队列;和/或
队列为单向循环队列。
15.一种用于处理信息的装置,包括:
获取单元,被配置成响应于确定用于以队列的形式存储程序标识组的目标存储器中包括程序标识,获取存储于队列的队头的程序标识指示的待执行程序,其中,队列中的队列元素为程序标识,程序标识用于指示待执行程序;
第一发送单元,被配置成向目标执行单元发送待执行程序;
执行单元,被配置成响应于从所述目标执行单元接收的回执信息指示待执行程序被执行完成,在队列中对存储于队头的程序标识执行出队操作,所述回执信息包括表征所述目标执行单元对待执行程序的执行状态的信息,其中,所述执行状态表征以下之一:阻塞,正在执行,执行完成;
所述装置还包括:
确定单元,被配置成确定队列的待插入位置指示的存储区;
替换单元,被配置成响应于所确定的存储区存储有被标记的程序标识,将所述被标记的程序标识替换为接收到的程序标识。
16.根据权利要求15所述的装置,其中,所述出队操作包括删除或标记。
17.根据权利要求16所述的装置,其中,所述装置还包括:
存储单元,被配置成响应于所确定的存储区未存储程序标识,将接收到的程序标识存储至所确定的存储区。
18.根据权利要求15所述的装置,其中,所述程序标识组中最后存储至所述存储器的程序标识包括结束标识;以及
所述装置还包括:
第二发送单元,被配置成响应于已在队列中对包括所述结束标识的程序标识执行出队操作,向目标中央处理器CPU发送中断信息。
19.根据权利要求15-18之一所述的装置,其中,所述装置还包括:
第三发送单元,被配置成响应于队列中包括程序标识,向所述目标执行单元发送存储于队列的队头的程序标识所指示的待执行程序。
20.根据权利要求15-18之一所述的装置,其中,所述目标存储器为硬件队列;和/或
队列为单向循环队列。
21.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求9-14之一所述的方法。
22.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求9-14中任一所述的方法。
23.一种电子设备,包括如权利要求1-5之一所述的存储调度器件。
CN201810910435.8A 2018-08-10 2018-08-10 存储调度器件和用于处理信息的系统、方法及装置 Active CN110825342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810910435.8A CN110825342B (zh) 2018-08-10 2018-08-10 存储调度器件和用于处理信息的系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810910435.8A CN110825342B (zh) 2018-08-10 2018-08-10 存储调度器件和用于处理信息的系统、方法及装置

Publications (2)

Publication Number Publication Date
CN110825342A CN110825342A (zh) 2020-02-21
CN110825342B true CN110825342B (zh) 2023-04-04

Family

ID=69541391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810910435.8A Active CN110825342B (zh) 2018-08-10 2018-08-10 存储调度器件和用于处理信息的系统、方法及装置

Country Status (1)

Country Link
CN (1) CN110825342B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306402B (zh) * 2020-07-31 2024-05-07 神州融安科技(北京)有限公司 程序执行方法、电子设备及计算机可读存储介质
CN112953977B (zh) * 2021-05-13 2021-11-02 华锐分布式(北京)技术有限公司 系统数据发送方法、系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881161B1 (en) * 2010-01-28 2014-11-04 Applied Micro Circuits Corporation Operating system with hardware-enabled task manager for offloading CPU task scheduling
CN105930208A (zh) * 2016-04-01 2016-09-07 广州华多网络科技有限公司 一种线程调度方法及线程调度装置
CN107943577A (zh) * 2016-10-12 2018-04-20 百度在线网络技术(北京)有限公司 用于调度任务的方法和装置
CN108182111A (zh) * 2018-01-23 2018-06-19 百度在线网络技术(北京)有限公司 任务调度系统、方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135643A1 (en) * 2002-01-11 2003-07-17 Chaucer Chiu Data transmission scheduling system and method
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
CN101533417B (zh) * 2009-04-28 2012-04-18 阿里巴巴集团控股有限公司 一种实现etl调度的方法及系统
CN104714785A (zh) * 2015-03-31 2015-06-17 中芯睿智(北京)微电子科技有限公司 任务调度装置、方法及并行处理数据的设备
CN104793996A (zh) * 2015-04-29 2015-07-22 中芯睿智(北京)微电子科技有限公司 一种并行计算设备的任务调度方法及任务调度装置
GB2554392B (en) * 2016-09-23 2019-10-30 Imagination Tech Ltd Task scheduling in a GPU

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881161B1 (en) * 2010-01-28 2014-11-04 Applied Micro Circuits Corporation Operating system with hardware-enabled task manager for offloading CPU task scheduling
CN105930208A (zh) * 2016-04-01 2016-09-07 广州华多网络科技有限公司 一种线程调度方法及线程调度装置
CN107943577A (zh) * 2016-10-12 2018-04-20 百度在线网络技术(北京)有限公司 用于调度任务的方法和装置
CN108182111A (zh) * 2018-01-23 2018-06-19 百度在线网络技术(北京)有限公司 任务调度系统、方法和装置

Also Published As

Publication number Publication date
CN110825342A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN108182111B (zh) 任务调度系统、方法和装置
CN113535367B (zh) 任务调度方法及相关装置
US11210131B2 (en) Method and apparatus for assigning computing task
CN111221638B (zh) 并发任务的调度处理方法、装置、设备和介质
CN109873863B (zh) 服务的异步调用方法和装置
CN110928905B (zh) 一种数据处理方法和装置
CN110825436B (zh) 应用于人工智能芯片的计算方法和人工智能芯片
CN112379982B (zh) 任务处理方法、装置、电子设备及计算机可读存储介质
CN110825342B (zh) 存储调度器件和用于处理信息的系统、方法及装置
CN110673959A (zh) 用于处理任务的系统、方法和装置
CN113722056A (zh) 任务调度方法、装置、电子设备和计算机可读介质
CN109842621A (zh) 一种减少token存储数量的方法及终端
US10613992B2 (en) Systems and methods for remote procedure call
CN110851276A (zh) 一种业务请求处理方法、装置、服务器和存储介质
CN111026552B (zh) 资源的调度方法、装置、电子设备和计算机可读存储介质
CN113760991A (zh) 数据操作方法、装置、电子设备和计算机可读介质
CN113419841B (zh) 消息调度方法、装置、电子设备和计算机可读介质
CN116483584B (zh) Gpu的任务处理方法、装置、电子设备和存储介质
CN110515749B (zh) 信息发送的队列调度的方法、装置、服务器和存储介质
CN110716809A (zh) 用于调度云资源的方法和装置
CN113449994A (zh) 任务单的分配方法、装置、电子设备、介质和程序产品
CN113723893A (zh) 用于处理订单的方法和装置
CN113176937A (zh) 任务处理方法、装置和电子设备
CN111984202A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN110825920A (zh) 数据处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210928

Address after: Baidu building, No. 10, Shangdi 10th Street, Haidian District, Beijing 100086

Applicant after: Kunlun core (Beijing) Technology Co.,Ltd.

Address before: 2 / F, baidu building, 10 Shangdi 10th Street, Haidian District, Beijing 100085

Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant