CN117271100B - 算法芯片集群调度方法、装置、计算机设备和存储介质 - Google Patents

算法芯片集群调度方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117271100B
CN117271100B CN202311553183.5A CN202311553183A CN117271100B CN 117271100 B CN117271100 B CN 117271100B CN 202311553183 A CN202311553183 A CN 202311553183A CN 117271100 B CN117271100 B CN 117271100B
Authority
CN
China
Prior art keywords
scheduling
data packet
scheduling data
algorithm
algorithm chip
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
CN202311553183.5A
Other languages
English (en)
Other versions
CN117271100A (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.)
Beijing Tasson Science and Technology Co Ltd
Original Assignee
Beijing Tasson Science and 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 Beijing Tasson Science and Technology Co Ltd filed Critical Beijing Tasson Science and Technology Co Ltd
Priority to CN202311553183.5A priority Critical patent/CN117271100B/zh
Publication of CN117271100A publication Critical patent/CN117271100A/zh
Application granted granted Critical
Publication of CN117271100B publication Critical patent/CN117271100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种算法芯片集群调度方法、装置、计算机设备和存储介质。方法包括:获取待发送的多个调度数据包、以及每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片和调度次序;基于各算法逻辑信息、以及各调度次序,将各调度数据包,发送至各算法芯片,并采集各算法芯片的运行信息,从而识别各算法芯片的工作状态信息、以及每个调度数据包的处理进度信息;筛选各异常调度数据包,并识别各异常调度数据包的数据量;重新确定各异常调度数据包的新调度次序;基于各异常调度数据包的新调度次序,重新发送各异常调度数据包,并返回上述步骤,直到所有调度数据包均完成处理。采用本方法能够提升对算法芯片集群的调度效率。

Description

算法芯片集群调度方法、装置、计算机设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种算法芯片集群调度方法、装置、计算机设备和存储介质。
背景技术
传统算法主控芯片驱动算法芯片技术,一般都是基于厂家给予的内部手册,调度单个算法芯片的技术,而无法对算法芯片集群进行调度。因此如何通过主控芯片直接对算法芯片集群进行调度是当前的研究重点。
传统的算法芯片集群的调度方法是需要耗费大量主控芯片一一调度每个算法芯片,从而才能对算法芯片集群进行调度,但是该方式资源成本较高,调度时长较长,从而导致对算法芯片集群的调度效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种算法芯片集群调度方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种算法芯片集群调度方法。所述方法包括:
获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序;
基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,并采集各所述算法芯片的运行信息;
基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包;
针对每个异常调度数据包,识别所述异常调度数据包的数据量,并基于所述异常调度数据包对应的算法芯片的工作状态信息、所述异常调度数据包的调度次序、以及所述异常调度数据包的数据量,确定所述异常调度数据包的新调度次序;
基于所述异常调度数据包的新调度次序、所述异常调度数据包对应的算法芯片的算法逻辑,将所述异常调度数据包发送至所述异常调度数据包对应的算法芯片,并返回执行采集各所述算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
可选的,所述识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序,包括:
识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征;
基于每个调度数据包的处理任务特征,在所述主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片;
基于每个调度数据包对应的算法芯片,对各所述调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各所述数据组的各调度数据包的处理任务特征,识别各所述调度数据包的关键度;
按照各所述调度数据包的关键度从大到小的顺序,将各所述调度数据包进行排序处理,得到所述数据组的各调度数据包的调度序列,并基于所述调度序列,识别所述数据组的每个调度数据包对应的调度次序。
可选的,所述基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,包括:
获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率;
针对每个算法芯片,基于所述算法芯片的数据处理速率、所述算法芯片对应的数据传输速率、以及所述算法芯片对应的各调度数据包,分别计算所述算法芯片对应的每个调度数据包的数据处理时长,并基于各所述调度数据包的调度次序,以及各所述调度数据包的数据处理时长,计算每个调度数据包的发送时间点;
基于所述算法芯片的算法逻辑信息、以及所述算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至所述算法芯片。
可选的,所述基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,包括:
针对每个算法芯片,基于所述算法芯片的运行信息,识别所述算法芯片完成调度数据包处理的各数据处理结果;
基于所述算法芯片对应的每个调度数据包的发送时间点,识别所述算法芯片对应的每个调度数据包的处理时段,并基于采集所述算法芯片的运行信息的当前时间点对应的目标处理时段;
基于各所述调度数据包的处理时段、以及所述目标处理时段,计算所有数据处理结果的数目、与已发送至所述算法芯片的调度数据包的数目之间的比例值,得到所述算法芯片的运行程度信息,并将所述算法芯片的运行程度信息作为所述算法芯片的工作状态信息。
可选的,所述基于每个调度数据包的处理进度信息,筛选各异常调度数据包,包括:
针对每个算法芯片,识别所述算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包;
在已发送至所述算法芯片的各调度数据包中,筛选除所述目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为所述算法芯片对应的异常调度数据包。
可选的,所述基于所述异常调度数据包对应的算法芯片的工作状态信息、所述异常调度数据包的调度次序、以及所述异常调度数据包的数据量,确定所述异常调度数据包的新调度次序,包括:
针对每个算法芯片,基于所述算法芯片已完成处理的调度数据包的总数据量,以及采集所述算法芯片的运行信息的当前时间点,计算所述算法芯片在所述运行信息期间的平均数据处理速率;
基于各所述异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各所述异常调度数据包进行排序处理,得到各所述异常调度数据包的初始新调度次序,并基于各所述异常调度数据包的数据量、所述算法芯片的平均数据处理速率、所述算法芯片对应的数据传输速率,计算各所述异常调度数据包的新数据处理时长;
基于采集所述算法芯片的运行信息的当前时间点、各所述异常调度数据包的新数据处理时长、以及各所述异常调度数据包的初始新调度次序,确定各所述异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序。
第二方面,本申请还提供了一种算法芯片集群调度装置。所述装置包括:
获取模块,用于获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序;
发送模块,基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,并采集各所述算法芯片的运行信息;
筛选模块,用于基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包;
确定模块,用于针对每个异常调度数据包,识别所述异常调度数据包的数据量,并基于所述异常调度数据包对应的算法芯片的工作状态信息、所述异常调度数据包的调度次序、以及所述异常调度数据包的数据量,确定所述异常调度数据包的新调度次序;
迭代模块,用于基于所述异常调度数据包的新调度次序、所述异常调度数据包对应的算法芯片的算法逻辑,将所述异常调度数据包发送至所述异常调度数据包对应的算法芯片,并返回执行采集各所述算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
可选的,所述获取模块,具体用于:
识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征;
基于每个调度数据包的处理任务特征,在所述主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片;
基于每个调度数据包对应的算法芯片,对各所述调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各所述数据组的各调度数据包的处理任务特征,识别各所述调度数据包的关键度;
按照各所述调度数据包的关键度从大到小的顺序,将各所述调度数据包进行排序处理,得到所述数据组的各调度数据包的调度序列,并基于所述调度序列,识别所述数据组的每个调度数据包对应的调度次序。
可选的,所述发送模块,具体用于:
获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率;
针对每个算法芯片,基于所述算法芯片的数据处理速率、所述算法芯片对应的数据传输速率、以及所述算法芯片对应的各调度数据包,分别计算所述算法芯片对应的每个调度数据包的数据处理时长,并基于各所述调度数据包的调度次序,以及各所述调度数据包的数据处理时长,计算每个调度数据包的发送时间点;
基于所述算法芯片的算法逻辑信息、以及所述算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至所述算法芯片。
可选的,所述筛选模块,具体用于:
针对每个算法芯片,基于所述算法芯片的运行信息,识别所述算法芯片完成调度数据包处理的各数据处理结果;
基于所述算法芯片对应的每个调度数据包的发送时间点,识别所述算法芯片对应的每个调度数据包的处理时段,并基于采集所述算法芯片的运行信息的当前时间点对应的目标处理时段;
基于各所述调度数据包的处理时段、以及所述目标处理时段,计算所有数据处理结果的数目、与已发送至所述算法芯片的调度数据包的数目之间的比例值,得到所述算法芯片的运行程度信息,并将所述算法芯片的运行程度信息作为所述算法芯片的工作状态信息。
可选的,所述确定模块,具体用于:
针对每个算法芯片,识别所述算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包;
在已发送至所述算法芯片的各调度数据包中,筛选除所述目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为所述算法芯片对应的异常调度数据包。
可选的,所述确定模块,具体用于:
针对每个算法芯片,基于所述算法芯片已完成处理的调度数据包的总数据量,以及采集所述算法芯片的运行信息的当前时间点,计算所述算法芯片在所述运行信息期间的平均数据处理速率;
基于各所述异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各所述异常调度数据包进行排序处理,得到各所述异常调度数据包的初始新调度次序,并基于各所述异常调度数据包的数据量、所述算法芯片的平均数据处理速率、所述算法芯片对应的数据传输速率,计算各所述异常调度数据包的新数据处理时长;
基于采集所述算法芯片的运行信息的当前时间点、各所述异常调度数据包的新数据处理时长、以及各所述异常调度数据包的初始新调度次序,确定各所述异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序。
第三方面,本申请提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质。其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
第五方面,本申请提供了一种计算机程序产品。所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
上述算法芯片集群调度方法、装置、计算机设备和存储介质,通过获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序;基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,并采集各所述算法芯片的运行信息;基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包;针对每个异常调度数据包,识别所述异常调度数据包的数据量,并基于所述异常调度数据包对应的算法芯片的工作状态信息、所述异常调度数据包的调度次序、以及所述异常调度数据包的数据量,确定所述异常调度数据包的新调度次序;基于所述异常调度数据包的新调度次序、所述异常调度数据包对应的算法芯片的算法逻辑,将所述异常调度数据包发送至所述异常调度数据包对应的算法芯片,并返回执行采集各所述算法芯片的运行信息步骤,直到所有调度数据包均完成处理。本方案通过调度各算法芯片的调度数据包、以及各所述调度数据包对应的调度次序,将各调度数据包分发至各算法芯片,从而辅助主控芯片调度算法芯片集群,然后,通过采集各算法芯片的运行信息,来调整算法芯片的异常调度数据包的调度次序,从而确保各调度数据包均能正常对各算法芯片进行调度,使得无须调整每个算法芯片板卡硬件,而直接辅助主控芯片分别对各算法芯片进行调度控制的技术方案,使得在确保完成对各算法芯片进行调度控制的基础上,提高了对各算法芯片的调度效率。
附图说明
图1为一个实施例中算法芯片集群调度方法的流程示意图;
图2为一个实施例中算法芯片集群调度示例的流程示意图;
图3为一个实施例中算法芯片集群调度装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的算法芯片集群调度方法,可以应用于算法芯片集群调度的应用环境中。该方法可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。其中,终端通过调度各算法芯片的调度数据包、以及各所述调度数据包对应的调度次序,将各调度数据包分发至各算法芯片,从而辅助主控芯片调度算法芯片集群,然后,通过采集各算法芯片的运行信息,来调整算法芯片的异常调度数据包的调度次序,从而确保各调度数据包均能正常对各算法芯片进行调度,使得无须调整每个算法芯片板卡硬件,而直接辅助主控芯片分别对各算法芯片进行调度控制的技术方案,使得在确保完成对各算法芯片进行调度控制的基础上,提高了对各算法芯片的调度效率。
在一个实施例中,如图1所示,提供了一种算法芯片集群调度方法,以该方法应用于终端为例进行说明,包括以下步骤:
步骤S101,获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序。
本实施例中,终端通过接收主控芯片传输的数据包,得到主控芯片待发送的多个调度数据包。其中,单个主控芯片调度单个算法芯片的方式为通过主控芯片向算法芯片传输调度数据包,使得算法芯片基于调度数据包的各数据信息对应的数据处理任务,对各数据信息进行处理,得到主控芯片所需的处理结果,从而完成对算法芯片的调度。其中,调度数据包为算法芯片需要执行的相同数据处理任务的各数据信息的集合。然后,终端获取算法集群的每个算法芯片的算法逻辑信息,其中算法逻辑信息为预设于主控芯片的将各调度数据包发送至算法芯片的传输逻辑信息。该传输逻辑信息包括roundrobin传输逻辑、以及负载均衡算法调度策略信息,以及基于调度顺序进行传输的传输逻辑。然后,终端识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序。其中调度次序为调度数据包在该调度数据包对应的算法芯片的各调度数据包的传输序列中的传输次序。具体的识别过程后续将详细说明。
步骤S102,基于各算法芯片的算法逻辑信息、以及各调度数据包对应的调度次序,将各算法芯片对应的调度数据包,发送至各算法芯片,并采集各算法芯片的运行信息。
本实施例中,终端基于各算法芯片的算法逻辑信息、以及各调度数据包对应的调度次序,将各算法芯片对应的调度数据包,发送至各算法芯片,并采集各算法芯片的运行信息。其中采集各算法芯片的运行信息的采集方式为实时采集,算法芯片的运行信息为算法芯片在接收到各调度数据包之后,通过该算法芯片所承载的处理功能、以及每个调度数据包对应的数据处理任务,对已发送至算法芯片的各调度数据包进行处理之后得到的数据处理结果。其中,终端通过接收算法芯片发送的数据信息,得到各算法芯片的运行信息。其中,算法芯片将该算法芯片的运行信息发送至终端的方式为,通过物理反压技术对应的程序,进行数据发送。其中,物理反压技术为调控本级芯片(即算法芯片)处理能力和前级(即终端)处理能力的技术。该技术的一般方法是通过监测本级芯片的fifo深度,当超过阈值深度值后,就输出状态信号,可以将这个信号送给写入本级芯片fifo逻辑的模块,让它暂停写入,如此调控两级处理能力。可以判断,这种调控,一定是本级处理能力小于前级处理能力的场景才会使用。其中,物理反压,是相对于FPGA芯片内部的反压信号而言的,虽然FPGA内部的反压技术也是布线实现的,但是它是不可见的,不像算法芯片和FPGA之间的反压信号,是走在PCB板上的,是可以被实时观测到的。通过这个PCB走线的信号,可以将两个芯片的处理能力联系起来。
步骤S103,基于各算法芯片的运行信息,识别各算法芯片的工作状态信息、以及各算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包。
本实施例中,终端基于各算法芯片的运行信息,识别各算法芯片的工作状态信息、以及各算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包。其中,工作状态信息为该算法芯片的运行程度信息,该运行程度信息用于表征算法芯片已处理的调度数据包和已发送该算法芯片的调度数据包之间的比例关系。具体的识别过程后续将详细说明。其中,每个调度数据包的处理进度信息,为该调度数据包的数据处理结果,在调度数据包未被处理时,该调度数据包的数据处理结果为无。然后,终端基于每个调度数据包的处理进度信息,筛选各异常调度数据包。具体的筛选过程后续将详细说明。
步骤S104,针对每个异常调度数据包,识别异常调度数据包的数据量,并基于异常调度数据包对应的算法芯片的工作状态信息、异常调度数据包的调度次序、以及异常调度数据包的数据量,确定异常调度数据包的新调度次序。
本实施例中,终端针对每个异常调度数据包,识别异常调度数据包的数据量,并基于异常调度数据包对应的算法芯片的工作状态信息、异常调度数据包的调度次序、以及异常调度数据包的数据量,确定异常调度数据包的新调度次序。具体的确定过程后续将详细说明。
步骤S105,基于异常调度数据包的新调度次序、异常调度数据包对应的算法芯片的算法逻辑,将异常调度数据包发送至异常调度数据包对应的算法芯片,并返回执行采集各算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
本实施例中,终端基于异常调度数据包的新调度次序、异常调度数据包对应的算法芯片的算法逻辑,将异常调度数据包发送至异常调度数据包对应的算法芯片,并返回执行采集各算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
基于上述方案,通过调度各算法芯片的调度数据包、以及各所述调度数据包对应的调度次序,将各调度数据包分发至各算法芯片,从而辅助主控芯片调度算法芯片集群,然后,通过采集各算法芯片的运行信息,来调整算法芯片的异常调度数据包的调度次序,从而确保各调度数据包均能正常对各算法芯片进行调度,使得无须调整每个算法芯片板卡硬件,而直接辅助主控芯片分别对各算法芯片进行调度控制的技术方案,使得在确保完成对各算法芯片进行调度控制的基础上,提高了对各算法芯片的调度效率。
可选的,识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序,包括:识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征;基于每个调度数据包的处理任务特征,在主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片;基于每个调度数据包对应的算法芯片,对各调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各数据组的各调度数据包的处理任务特征,识别各调度数据包的关键度;按照各调度数据包的关键度从大到小的顺序,将各调度数据包进行排序处理,得到数据组的各调度数据包的调度序列,并基于调度序列,识别数据组的每个调度数据包对应的调度次序。
本实施例中,终端识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征。其中,处理任务特征为该调度数据包中的各数据信息对应的数据处理任务的特征信息。然后,终端基于每个调度数据包的处理任务特征,在主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息。其中,主控芯片的数据库中,存储了各处理任务特征与各目标芯片标识信息的对应关系。
终端将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片。然后,终端基于每个调度数据包对应的算法芯片,对各调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各数据组的各调度数据包的处理任务特征,识别各调度数据包的关键度;
具体的,终端预设各数据处理任务的优先度信息,然后,终端通过识别处理任务特征对应的数据处理任务,得到各处理任务特征对应的优先度信息,再后,终端计算调度数据包中的所有数据信息的数据量,与该算法芯片对应的所有调度数据包的所有数据信息的综合数据量的比值,作为各调度数据包对应的处理任务特征的优先权值,最后,终端通过各处理任务特征的优先权值乘以各处理任务特征的优先度信息,得到各处理任务特征的关键度。终端将各处理任务特征的关键度作为各处理任务特征对应的调度数据包的关键度。其中,优先度信息为多个预设优先度等级中的其中一个,优先度等级按照从高到低的顺序为,A1,A2,A3,A4,A5。其中A可以是具体数值、也可以是一个符号,在A为符号的情况下,权值乘以该优先度信息得到的关键度为该符号的百分比值,例如,0.5A1,0.6A1,则0.6A1的关键度大于0.5A1的优先度。
终端按照各调度数据包的关键度从大到小的顺序,将各调度数据包进行排序处理,得到数据组的各调度数据包的调度序列,并基于调度序列,识别数据组的每个调度数据包对应的调度次序。
基于上述方案,通过识别每个调度数据包的数据处理任务的处理任务特征,以及各处理任务特征的关键度信息,从而对各调度数据包进行排序,提升了对算法芯片的调度控制效率。
可选的,基于各算法芯片的算法逻辑信息、以及各调度数据包对应的调度次序,将各算法芯片对应的调度数据包,发送至各算法芯片,包括:获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率;针对每个算法芯片,基于算法芯片的数据处理速率、算法芯片对应的数据传输速率、以及算法芯片对应的各调度数据包,分别计算算法芯片对应的每个调度数据包的数据处理时长,并基于各调度数据包的调度次序,以及各调度数据包的数据处理时长,计算每个调度数据包的发送时间点;基于算法芯片的算法逻辑信息、以及算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至算法芯片。
本实施例中,终端获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率。其中调度发送策略为数据发送至各算法芯片的速率信息,该速率信息包括算法芯片的数据处理速率、以及发送至该算法芯片的数据传输速率。
针对每个算法芯片,终端基于算法芯片的数据处理速率、算法芯片对应的数据传输速率、以及算法芯片对应的各调度数据包中的各数据信息的数据量,分别计算算法芯片对应的每个调度数据包的数据处理时长。其中数据处理时长包括该调度数据包的数据传输时长、以及算法芯片对该调度数据包进行数据处理的时长。然后,终端基于各调度数据包的调度次序,以及各调度数据包的数据处理时长,计算每个调度数据包的发送时间点。其中,第一调度次序的发送时间点为0:00。终端基于算法芯片的算法逻辑信息、以及算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至算法芯片。
基于上述方案,通过计算算法芯片的数据处理速率、以及发送至算法芯片的数据传输速率,从而确定各调度数据包的发送时间点,从而确保调度数据包传输至算法芯片时不会产生数据堆积的情况,从而避免了影响该算法芯片的运算速率的问题。
可选的,基于各算法芯片的运行信息,识别各算法芯片的工作状态信息、以及各算法芯片对每个调度数据包的处理进度信息,包括:针对每个算法芯片,基于算法芯片的运行信息,识别算法芯片完成调度数据包处理的各数据处理结果;基于算法芯片对应的每个调度数据包的发送时间点,识别算法芯片对应的每个调度数据包的处理时段,并基于采集算法芯片的运行信息的当前时间点对应的目标处理时段;基于各调度数据包的处理时段、以及目标时段,计算所有数据处理结果的数目、与已发送至算法芯片的调度数据包的数目之间的比例值,得到算法芯片的运行程度信息,并将算法芯片的运行程度信息作为算法芯片的工作状态信息。
本实施例中,终端针对每个算法芯片,基于算法芯片的运行信息,识别算法芯片完成调度数据包处理的各数据处理结果。然后,终端基于算法芯片对应的每个调度数据包的发送时间点,识别算法芯片对应的每个调度数据包的处理时段。其中处理时段为发送两个调度数据包的发送时间点之间的时间区间对应的时段。
终端基于采集算法芯片的运行信息的当前时间点对应的目标处理时段。然后,终端基于各调度数据包的处理时段、以及目标时段,计算所有数据处理结果的数目、与已发送至算法芯片的调度数据包的数目之间的比例值,得到算法芯片的运行程度信息,并将算法芯片的运行程度信息作为算法芯片的工作状态信息。
基于上述方案,通过计算所有数据处理结果的数目、与已发送至算法芯片的调度数据包的数目之间的比例值,确定算法芯片的工作状态信息提升了确定算法芯片的工作状态信息的精准度。
可选的,基于每个调度数据包的处理进度信息,筛选各异常调度数据包,包括:针对每个算法芯片,识别算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包;在已发送至算法芯片的各调度数据包中,筛选除目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为算法芯片对应的异常调度数据包。
本实施例中,终端针对每个算法芯片,识别算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包。其中每个数据处理结果包含调度数据包的标识信息,然后,终端通过各数据处理结果中的调度数据包的标识信息,识别每个数据处理结果对应的调度数据包。其中,该调度数据包的标识信息可以是该调度数据包的数据处理任务。终端在已发送至算法芯片的各调度数据包中,筛选除目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为算法芯片对应的异常调度数据包。
基于上述方案,通过筛选未被算法芯片处理的调度数据包,从而重新发送处理,避免存在调度数据包丢包,调度数据包缺失处理的问题。
可选的,基于异常调度数据包对应的算法芯片的工作状态信息、异常调度数据包的调度次序、以及异常调度数据包的数据量,确定异常调度数据包的新调度次序,包括:针对每个算法芯片,基于算法芯片已完成处理的调度数据包的总数据量,以及采集算法芯片的运行信息的当前时间点,计算算法芯片在运行信息期间的平均数据处理速率;基于各异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各异常调度数据包进行排序处理,得到各异常调度数据包的初始新调度次序,并基于各异常调度数据包的数据量、算法芯片的平均数据处理速率、算法芯片对应的数据传输速率,计算各异常调度数据包的新数据处理时长;基于采集算法芯片的运行信息的当前时间点、各异常调度数据包的新数据处理时长、以及各异常调度数据包的初始新调度次序,确定各异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序。
本实施例中,终端针对每个算法芯片,基于算法芯片已完成处理的调度数据包的总数据量,以及采集算法芯片的运行信息的当前时间点与该算法芯片对应的各调度数据包中的第一调度次序的发送时间点之间的时长,计算算法芯片在运行信息期间的平均数据处理速率。然后,终端基于各异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各异常调度数据包进行排序处理,得到各异常调度数据包的初始新调度次序。其中,排序方式为,将各异常调度数据包排列至各所述未发送的各调度数据包的调度次序之前,并按照各异常调度数据包的调度次序的先后顺序,对各异常调度数据包的调度次序进行调整,得到各异常调度数据包的初始新调度次序。
终端基于各异常调度数据包的数据量、算法芯片的平均数据处理速率、算法芯片对应的数据传输速率,计算各异常调度数据包的新数据处理时长。然后,终端基于采集算法芯片的运行信息的当前时间点、各异常调度数据包的新数据处理时长、以及各异常调度数据包的初始新调度次序,确定各异常调度数据包的新发送时间点。终端将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序。
在另一个实施例中,当所述算法芯片的平均数据处理速率低于预设于终端的数据处理速率阈值的情况下,终端在其他各算法芯片中,筛选与所述算法芯片的功能信息相同的算法芯片作为目标算法芯片。然后,终端将所述算法芯片的各异常调度数据包、以及各未发送的调度数据包和所述目标算法芯片的各未发送的调度数据包,作为所述目标算法芯片的各目标调度数据包,并重新确定各所述目标调度数据包的第一调度次序,并将各所述异常调度数据包的第一调度次序,作为各所述异常调度数据包的新调度次序。
基于上述方案,通过调整各异常调度数据包的调度次序,并基于芯片的当前数据处理效率,重新传输各算法芯片对应的异常调度数据包,避免调度数据包丢包,和调度数据包缺失的问题,提升了各调度数据包对算法芯片的控制调度效果。
本申请还提供了一种算法芯片集群调度示例,如图2所示,具体处理过程包括以下步骤:
步骤S201,获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息。
步骤S202,识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征。
步骤S203,基于每个调度数据包的处理任务特征,在主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片。
步骤S204,基于每个调度数据包对应的算法芯片,对各调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各数据组的各调度数据包的处理任务特征,识别各调度数据包的关键度。
步骤S205,按照各调度数据包的关键度从大到小的顺序,将各调度数据包进行排序处理,得到数据组的各调度数据包的调度序列,并基于调度序列,识别数据组的每个调度数据包对应的调度次序。
步骤S206,获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率。
步骤S207,针对每个算法芯片,基于算法芯片的数据处理速率、算法芯片对应的数据传输速率、以及算法芯片对应的各调度数据包,分别计算算法芯片对应的每个调度数据包的数据处理时长,并基于各调度数据包的调度次序,以及各调度数据包的数据处理时长,计算每个调度数据包的发送时间点。
步骤S208,基于算法芯片的算法逻辑信息、以及算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至算法芯片。
步骤S209,采集各算法芯片的运行信息。
步骤S210,针对每个算法芯片,基于算法芯片的运行信息,识别算法芯片完成调度数据包处理的各数据处理结果。
步骤S211,基于算法芯片对应的每个调度数据包的发送时间点,识别算法芯片对应的每个调度数据包的处理时段,并基于采集算法芯片的运行信息的当前时间点对应的目标处理时段。
步骤S212,基于各调度数据包的处理时段、以及目标时段,计算所有数据处理结果的数目、与已发送至算法芯片的调度数据包的数目之间的比例值,得到算法芯片的运行程度信息,并将算法芯片的运行程度信息作为算法芯片的工作状态信息。
步骤S213,针对每个算法芯片,识别算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包。
步骤S214,在已发送至算法芯片的各调度数据包中,筛选除目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为算法芯片对应的异常调度数据包。
步骤S215,针对每个算法芯片,基于算法芯片已完成处理的调度数据包的总数据量,以及采集算法芯片的运行信息的当前时间点,计算算法芯片在运行信息期间的平均数据处理速率。
步骤S216,基于各异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各异常调度数据包进行排序处理,得到各异常调度数据包的初始新调度次序,并基于各异常调度数据包的数据量、算法芯片的平均数据处理速率、算法芯片对应的数据传输速率,计算各异常调度数据包的新数据处理时长。
步骤S217,基于采集算法芯片的运行信息的当前时间点、各异常调度数据包的新数据处理时长、以及各异常调度数据包的初始新调度次序,确定各异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序。
步骤S218,返回执行采集各算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的算法芯片集群调度方法的算法芯片集群调度装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个算法芯片集群调度装置实施例中的具体限定可以参见上文中对于算法芯片集群调度方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种算法芯片集群调度装置,包括:获取模块310、发送模块320、筛选模块330、确定模块340和迭代模块350,其中:
获取模块310,用于获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序;
发送模块320,基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,并采集各所述算法芯片的运行信息;
筛选模块330,用于基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包;
确定模块340,用于针对每个异常调度数据包,识别所述异常调度数据包的数据量,并基于所述异常调度数据包对应的算法芯片的工作状态信息、所述异常调度数据包的调度次序、以及所述异常调度数据包的数据量,确定所述异常调度数据包的新调度次序;
迭代模块350,用于基于所述异常调度数据包的新调度次序、所述异常调度数据包对应的算法芯片的算法逻辑,将所述异常调度数据包发送至所述异常调度数据包对应的算法芯片,并返回执行采集各所述算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
可选的,所述获取模块310,具体用于:
识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征;
基于每个调度数据包的处理任务特征,在所述主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片;
基于每个调度数据包对应的算法芯片,对各所述调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各所述数据组的各调度数据包的处理任务特征,识别各所述调度数据包的关键度;
按照各所述调度数据包的关键度从大到小的顺序,将各所述调度数据包进行排序处理,得到所述数据组的各调度数据包的调度序列,并基于所述调度序列,识别所述数据组的每个调度数据包对应的调度次序。
可选的,所述发送模块320,具体用于:
获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率;
针对每个算法芯片,基于所述算法芯片的数据处理速率、所述算法芯片对应的数据传输速率、以及所述算法芯片对应的各调度数据包,分别计算所述算法芯片对应的每个调度数据包的数据处理时长,并基于各所述调度数据包的调度次序,以及各所述调度数据包的数据处理时长,计算每个调度数据包的发送时间点;
基于所述算法芯片的算法逻辑信息、以及所述算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至所述算法芯片。
可选的,所述筛选模块330,具体用于:
针对每个算法芯片,基于所述算法芯片的运行信息,识别所述算法芯片完成调度数据包处理的各数据处理结果;
基于所述算法芯片对应的每个调度数据包的发送时间点,识别所述算法芯片对应的每个调度数据包的处理时段,并基于采集所述算法芯片的运行信息的当前时间点对应的目标处理时段;
基于各所述调度数据包的处理时段、以及所述目标处理时段,计算所有数据处理结果的数目、与已发送至所述算法芯片的调度数据包的数目之间的比例值,得到所述算法芯片的运行程度信息,并将所述算法芯片的运行程度信息作为所述算法芯片的工作状态信息。
可选的,所述确定模块340,具体用于:
针对每个算法芯片,识别所述算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包;
在已发送至所述算法芯片的各调度数据包中,筛选除所述目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为所述算法芯片对应的异常调度数据包。
可选的,所述确定模块340,具体用于:
针对每个算法芯片,基于所述算法芯片已完成处理的调度数据包的总数据量,以及采集所述算法芯片的运行信息的当前时间点,计算所述算法芯片在所述运行信息期间的平均数据处理速率;
基于各所述异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各所述异常调度数据包进行排序处理,得到各所述异常调度数据包的初始新调度次序,并基于各所述异常调度数据包的数据量、所述算法芯片的平均数据处理速率、所述算法芯片对应的数据传输速率,计算各所述异常调度数据包的新数据处理时长;
基于采集所述算法芯片的运行信息的当前时间点、各所述异常调度数据包的新数据处理时长、以及各所述异常调度数据包的初始新调度次序,确定各所述异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序。
上述算法芯片集群调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种算法芯片集群调度方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现第一方面中任一项所述的方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(RandomAccess Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(DynamicRandom AccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种算法芯片集群调度方法,其特征在于,所述方法包括:
获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序;
基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,并采集各所述算法芯片的运行信息;
基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包;
针对每个异常调度数据包,识别所述异常调度数据包的数据量;
针对每个算法芯片,基于所述算法芯片已完成处理的调度数据包的总数据量,以及采集所述算法芯片的运行信息的当前时间点,计算所述算法芯片在所述运行信息期间的平均数据处理速率;
基于各所述异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各所述异常调度数据包进行排序处理,得到各所述异常调度数据包的初始新调度次序,并基于各所述异常调度数据包的数据量、所述算法芯片的平均数据处理速率、所述算法芯片对应的数据传输速率,计算各所述异常调度数据包的新数据处理时长;
基于采集所述算法芯片的运行信息的当前时间点、各所述异常调度数据包的新数据处理时长、以及各所述异常调度数据包的初始新调度次序,确定各所述异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序;
基于所述异常调度数据包的新调度次序、所述异常调度数据包对应的算法芯片的算法逻辑,将所述异常调度数据包发送至所述异常调度数据包对应的算法芯片,并返回执行采集各所述算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
2.根据权利要求1所述的方法,其特征在于,所述识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序,包括:
识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征;
基于每个调度数据包的处理任务特征,在所述主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片;
基于每个调度数据包对应的算法芯片,对各所述调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各所述数据组的各调度数据包的处理任务特征,识别各所述调度数据包的关键度;
按照各所述调度数据包的关键度从大到小的顺序,将各所述调度数据包进行排序处理,得到所述数据组的各调度数据包的调度序列,并基于所述调度序列,识别所述数据组的每个调度数据包对应的调度次序。
3.根据权利要求2所述的方法,其特征在于,所述基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,包括:
获取每个算法芯片的调度发送策略、以及每个算法芯片对应的各调度数据包的数据量,并基于每个算法芯片的调度发送策略,识别每个算法芯片的数据处理速率、以及每个算法芯片对应的数据传输速率;
针对每个算法芯片,基于所述算法芯片的数据处理速率、所述算法芯片对应的数据传输速率、以及所述算法芯片对应的各调度数据包,分别计算所述算法芯片对应的每个调度数据包的数据处理时长,并基于各所述调度数据包的调度次序,以及各所述调度数据包的数据处理时长,计算每个调度数据包的发送时间点;
基于所述算法芯片的算法逻辑信息、以及所述算法芯片对应的各调度数据包的发送时间点,分别将每个调度数据包发送至所述算法芯片。
4.根据权利要求3所述的方法,其特征在于,所述基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,包括:
针对每个算法芯片,基于所述算法芯片的运行信息,识别所述算法芯片完成调度数据包处理的各数据处理结果;
基于所述算法芯片对应的每个调度数据包的发送时间点,识别所述算法芯片对应的每个调度数据包的处理时段,并基于采集所述算法芯片的运行信息的当前时间点对应的目标处理时段;
基于各所述调度数据包的处理时段、以及所述目标处理时段,计算所有数据处理结果的数目、与已发送至所述算法芯片的调度数据包的数目之间的比例值,得到所述算法芯片的运行程度信息,并将所述算法芯片的运行程度信息作为所述算法芯片的工作状态信息。
5.根据权利要求4所述的方法,其特征在于,所述基于每个调度数据包的处理进度信息,筛选各异常调度数据包,包括:
针对每个算法芯片,识别所述算法芯片完成调度数据包处理的各数据处理结果对应的调度数据包;
在已发送至所述算法芯片的各调度数据包中,筛选除所述目标处理时段对应的调度数据包之外,没有对应数据处理结果的调度数据包,作为所述算法芯片对应的异常调度数据包。
6.一种算法芯片集群调度装置,其特征在于,所述装置包括:
获取模块,用于获取主控芯片待发送的多个调度数据包、以及算法集群的每个算法芯片的算法逻辑信息,并识别每个调度数据包对应的算法芯片、以及每个调度数据包对应的调度次序;
发送模块,基于各所述算法芯片的算法逻辑信息、以及各所述调度数据包对应的调度次序,将各所述算法芯片对应的调度数据包,发送至各所述算法芯片,并采集各所述算法芯片的运行信息;
筛选模块,用于基于各所述算法芯片的运行信息,识别各所述算法芯片的工作状态信息、以及各所述算法芯片对每个调度数据包的处理进度信息,并基于每个调度数据包的处理进度信息,筛选各异常调度数据包;
确定模块,用于针对每个异常调度数据包,识别所述异常调度数据包的数据量,并针对每个算法芯片,基于所述算法芯片已完成处理的调度数据包的总数据量,以及采集所述算法芯片的运行信息的当前时间点,计算所述算法芯片在所述运行信息期间的平均数据处理速率;基于各所述异常调度数据包的调度次序、以及未发送的各调度数据包的调度次序,对各所述异常调度数据包进行排序处理,得到各所述异常调度数据包的初始新调度次序,并基于各所述异常调度数据包的数据量、所述算法芯片的平均数据处理速率、所述算法芯片对应的数据传输速率,计算各所述异常调度数据包的新数据处理时长;基于采集所述算法芯片的运行信息的当前时间点、各所述异常调度数据包的新数据处理时长、以及各所述异常调度数据包的初始新调度次序,确定各所述异常调度数据包的新发送时间点,并将每个异常调度数据包的新发送时间点、以及每个异常调度数据包的初始新调度次序,作为每个异常调度数据包的新调度次序;
迭代模块,用于基于所述异常调度数据包的新调度次序、所述异常调度数据包对应的算法芯片的算法逻辑,将所述异常调度数据包发送至所述异常调度数据包对应的算法芯片,并返回执行采集各所述算法芯片的运行信息步骤,直到所有调度数据包均完成处理。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
识别每个算法芯片的芯片标识信息,并提取每个调度数据包的处理任务特征;
基于每个调度数据包的处理任务特征,在所述主控芯片的数据库中,查询每个处理任务特征对应的目标芯片标识信息,并将每个处理任务特征对应的目标芯片标识信息所属的算法芯片,作为每个调度数据包对应的算法芯片;
基于每个调度数据包对应的算法芯片,对各所述调度数据包进行聚类处理,得到多个数据组,并针对每个数据组,基于各所述数据组的各调度数据包的处理任务特征,识别各所述调度数据包的关键度;
按照各所述调度数据包的关键度从大到小的顺序,将各所述调度数据包进行排序处理,得到所述数据组的各调度数据包的调度序列,并基于所述调度序列,识别所述数据组的每个调度数据包对应的调度次序。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202311553183.5A 2023-11-21 2023-11-21 算法芯片集群调度方法、装置、计算机设备和存储介质 Active CN117271100B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311553183.5A CN117271100B (zh) 2023-11-21 2023-11-21 算法芯片集群调度方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311553183.5A CN117271100B (zh) 2023-11-21 2023-11-21 算法芯片集群调度方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN117271100A CN117271100A (zh) 2023-12-22
CN117271100B true CN117271100B (zh) 2024-02-06

Family

ID=89216394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311553183.5A Active CN117271100B (zh) 2023-11-21 2023-11-21 算法芯片集群调度方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117271100B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117548928B (zh) * 2024-01-12 2024-04-12 杭州峰景科技有限公司 一种焊机物联设备的芯片调度方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443943A (zh) * 2020-11-04 2022-05-06 腾讯科技(深圳)有限公司 一种信息调度方法、装置、设备及计算机可读存储介质
CN114840392A (zh) * 2022-06-09 2022-08-02 深圳前海微众银行股份有限公司 任务调度异常监控方法、装置、介质及程序产品
WO2022251984A1 (zh) * 2021-05-29 2022-12-08 华为技术有限公司 一种数据处理方法及装置
WO2023011160A1 (zh) * 2021-08-06 2023-02-09 北京百度网讯科技有限公司 一种故障处理方法、装置、设备及存储介质
CN116302580A (zh) * 2023-05-25 2023-06-23 南方电网数字电网研究院有限公司 纳米继电器算力资源调度方法及装置
CN116932175A (zh) * 2023-09-19 2023-10-24 之江实验室 一种基于序列生成的异构芯片任务调度方法以及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309479B (zh) * 2020-02-14 2023-06-06 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443943A (zh) * 2020-11-04 2022-05-06 腾讯科技(深圳)有限公司 一种信息调度方法、装置、设备及计算机可读存储介质
WO2022251984A1 (zh) * 2021-05-29 2022-12-08 华为技术有限公司 一种数据处理方法及装置
WO2023011160A1 (zh) * 2021-08-06 2023-02-09 北京百度网讯科技有限公司 一种故障处理方法、装置、设备及存储介质
CN114840392A (zh) * 2022-06-09 2022-08-02 深圳前海微众银行股份有限公司 任务调度异常监控方法、装置、介质及程序产品
CN116302580A (zh) * 2023-05-25 2023-06-23 南方电网数字电网研究院有限公司 纳米继电器算力资源调度方法及装置
CN116932175A (zh) * 2023-09-19 2023-10-24 之江实验室 一种基于序列生成的异构芯片任务调度方法以及装置

Also Published As

Publication number Publication date
CN117271100A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
CN117271100B (zh) 算法芯片集群调度方法、装置、计算机设备和存储介质
CN106815254A (zh) 一种数据处理方法和装置
CN108182633B (zh) 贷款数据处理方法、装置、计算机设备和存储介质
CN114461384A (zh) 任务执行方法、装置、计算机设备和存储介质
CN112887371B (zh) 边缘计算方法、装置、计算机设备及存储介质
CN116701001B (zh) 目标任务分配方法、装置、电子设备及存储介质
CN110891087B (zh) 一种日志传输方法、装置及电子设备和存储介质
CN116302580B (zh) 纳米继电器算力资源调度方法及装置
CN112685157B (zh) 任务处理方法、装置、计算机设备及存储介质
CN115269176A (zh) 任务分配方法、装置、计算机设备、存储介质和产品
CN115292475A (zh) 基于智慧城市的云计算服务信息处理方法及系统
CN113448747B (zh) 数据传输方法、装置、计算机设备和存储介质
CN113296951A (zh) 一种资源配置方案确定方法及设备
CN112529732A (zh) 储能单元充放电控制方法、装置、计算机设备和存储介质
CN111598390A (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
CN117453759B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN115421955A (zh) 异常信息确定方法、装置、计算机设备及其存储介质
CN118012618A (zh) 接口请求的调度方法、装置、计算机设备、存储介质
CN116860435A (zh) 核函数优先级确定方法、装置、计算机设备和存储介质
CN116372958A (zh) Rpa机器人控制方法、装置、计算机设备及存储介质
CN116739659A (zh) 卡片激励信息处理方法、装置、设备、介质和程序产品
CN116594770A (zh) 数据处理方法、装置、计算机设备和存储介质
CN115841341A (zh) 用户召回方法、装置、电子设备、存储介质及产品
CN117435306A (zh) 集群容器扩缩容方法、装置、设备及存储介质
CN117806951A (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
GR01 Patent grant
GR01 Patent grant