CN116932165A - 任务调度方法、卫星导航方法、任务调度系统及存储介质 - Google Patents

任务调度方法、卫星导航方法、任务调度系统及存储介质 Download PDF

Info

Publication number
CN116932165A
CN116932165A CN202310922070.1A CN202310922070A CN116932165A CN 116932165 A CN116932165 A CN 116932165A CN 202310922070 A CN202310922070 A CN 202310922070A CN 116932165 A CN116932165 A CN 116932165A
Authority
CN
China
Prior art keywords
task
scheduled
scheduling
queue
mode
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.)
Pending
Application number
CN202310922070.1A
Other languages
English (en)
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.)
Shanghai Huace Navigation Technology Ltd
Original Assignee
Shanghai Huace Navigation Technology 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 Shanghai Huace Navigation Technology Ltd filed Critical Shanghai Huace Navigation Technology Ltd
Priority to CN202310922070.1A priority Critical patent/CN116932165A/zh
Publication of CN116932165A publication Critical patent/CN116932165A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • 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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

本申请提供一种任务调度方法、卫星导航方法、任务调度系统及存储介质,涉及卫星定位技术领域。任务调度方法包括:根据处理器下发的每个任务队列中的每个任务的标识信息,确定待调度任务;根据每个待调度任务对应的参数信息,确定每个待调度任务的目标调度方式;基于目标调度方式调度矩阵运算加速器对待调度任务进行处理。本申请能够设置单独的调度器对矩阵运算的任务进行调度,并设置标识信息对任务的执行状态进行表征,提前设置参数信息对任务的调度方式进行区分处理,从而能够按照相应的调度方式对每个待调度的任务进行合理地调度处理,有效地提高了矩阵运算任务的执行效率,从而提高卫星定位导航系统的工作效率,适用于多种定位导航场景。

Description

任务调度方法、卫星导航方法、任务调度系统及存储介质
技术领域
本申请涉及卫星定位技术领域,具体而言,涉及一种任务调度方法、卫星导航方法、任务调度系统及存储介质。
背景技术
卫星定位导航系统是包含射频、基带、各类传感器、定位算法组成的系统。各设备能够将采集的数据输入给定位算法,定位算法融合来自基带的卫星定位信息和上述传感器的输入,获得高可靠性的定位导航信息,并传输给下游设备。在进行定位计算时,通常是由片上系统SOC(System on Chip)方法架构嵌入式处理器进行设计,其在一块芯片上集成了包括通用处理器核心、辅助核心、数据总线、存储设备、执行设备、通用接口、电源管理、传感器等组件构成的完整微电子电路系统。并且,围绕嵌入式处理器芯片,进行驱动底层软件开发、上层业务应用软件开发、配套硬件PCB电路板开发,以实现定位功能。
现有的处理器芯片中,通常采用通用处理器通过其总线访问专用的存储系统,由存储系统存放待处理的操作数矩阵,以及矩阵运算后的结果矩阵,由通用处理器完成矩阵运算中各步骤运算。但是,这种方式仅适用于简单计算的业务场景,在具有大量矩阵运算任务时,处理器需参与比较多的任务下发和优先级管理,消耗系统算力,无法对多个任务进行合理地执行,导致矩阵运算任务的执行效率较低,无法满足多种定位和导航需求。
发明内容
有鉴于此,本申请实施例的目的在于提供一种任务调度方法、卫星导航方法、任务调度系统及存储介质,以改善现有技术中存在的卫星定位导航系统运算效率较低的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种任务调度方法,所述方法包括:
根据处理器下发的每个任务队列中的每个任务的标识信息,确定待调度任务;
根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式;
基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理。
在上述实现过程中,能够设置标识信息对任务的执行状态进行表征,以通过识别标识信息的方式对任务是否被调度进行区分,确定待调度任务,并根据提前设置的参数信息对任务的调度方式进行区分处理,以基于每个待调度任务中对应的参数信息确定相应的目标调度方式,根据目标调度方式调度矩阵运算加速器对每个待调度的任务进行调度处理。能够有效地对每个待调度的矩阵运算任务进行合理地规划和管理,充分优化了矩阵运算加速器的运算性能,降低了高优先级矩阵运算的延迟、总线数据带宽占用率以及计算时所需的能耗,有效地提高矩阵运算加速器执行矩阵运算任务时的效率,从而提高了卫星定位导航系统的工作效率,适用于多种定位导航场景。
可选地,其中,所述参数信息包括队列参数;所述根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式,包括:
识别每个所述待调度任务对应的目标任务队列的所述队列参数;
基于所述队列参数确定所述目标任务队列的权重信息;
基于所述权重信息确定所述待调度任务对应的所述目标调度方式;
其中,所述目标调度方式包括优先调度方式或公平轮询方式;
所述基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理,包括:
基于所述优先调度方式进行仲裁,确定所有所述任务队列的优先级顺序;基于所述优先级顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理;
和/或,基于所述公平轮询方式确定所有所述任务队列的下发顺序;基于所述下发顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理。
在上述实现过程中,可以在任务队列中设置相应的队列参数,以对多个任务队列的调度顺序进行区分。通过识别每个待调度任务所在的目标任务队列的队列参数,以从队列参数中分析得到表征不同调度顺序的权重信息,从而根据权重信息确定优先调度方式或公平轮询方式为待调度任务对应的目标调度方式。能够根据队列任务中设置的队列参数确定待调度任务的目标调度方式,从而对任务进行优先级管理,提高了任务执行的合理性。进行调度时,可以根据优先调度方式仲裁确定所有任务队列的优先级顺序,从而按照优先级顺序调度矩阵运算加速器对每个任务队列进行依次处理,以通过配置优先级的权重,使得高优先级任务能够优先处理,满足了多种优先处理的需求。在多个任务队列的优先级相同时,还可以根据公平轮询方式确定所有任务队列的下发顺序,以按照下发顺序调度矩阵运算加速器对每个任务队列进行依次处理,能够实现多队列任务间的公平调度,优化流水运算时的性能。
可选地,其中,所述参数信息包括任务参数;所述根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式,包括:
识别每个所述待调度任务对应的任务参数;其中,所述任务参数包括表征暂停低优先级队列,插队高优先级队列的暂停配置项,以及表征以相关任务中计算的中间数据作为后续关联任务的操作数直接进行计算的级联位域项中的至少一种;
基于所述任务参数确定所述待调度任务对应的所述目标调度方式;
其中,所述目标调度方式包括任务暂停方式或任务级联方式;
所述基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理,包括:
基于所述任务暂停方式,确定当前队列与待调度队列的优先级;若所述当前队列的优先级低于所述待调度队列的优先级,则调度所述矩阵运算加速器暂停所述当前队列,对所述待调度队列进行插队处理;
和/或,基于所述任务级联方式,确定多个所述相关任务中的所述中间数据;调度所述矩阵运算加速器基于所述中间数据进行直接计算。
在上述实现过程中,可以在每个待调度任务中设置相应的任务参数,以对每个待调度任务的类型进行区分。通过识别每个待调度任务的任务参数,从而确定任务暂停方式或任务级联方式为待调度任务对应的目标执行任务。能够根据任务中设置的任务参数确定相应的目标调度方式,从而根据任务的类型进行相应地调度,提高了任务执行的合理性。在进行调度时,可以根据任务暂停方式,分析并比较当前队列与待调度队列的优先级,以确定是否暂停当前队列并插队处理待调度队列,能够支持队列间调度,减少加速器内正在执行的超大低优先级矩阵任务阻塞后续高优先级任务的处理情况,从而优化矩阵运算的性能。在具有多个关联的相关任务时,还可以根据任务级联方式,确定多个相关任务中处理的到的中间数据,不对中间数据进行存储和输出,而是直接调度矩阵运算加速器调用中间数据进行计算,能够由多个相关任务共享中间数据,减少数据重复输出再读入的性能损失,从而减少对于系统总线带宽的占用率,提升性能的同时节省处理所需的能耗。
可选地,所述根据处理器下发的每个任务队列中的每个任务的标识信息,确定待调度任务,包括:
确定所述处理器下发的每个所述任务队列中的每个所述任务的标识信息;其中,所述标识信息中包括表征任务是否被调度的调度信息;
对所述标识信息进行识别和筛选,确定未被调度的所有所述待调度任务。
在上述实现过程中,可以设置单独的调度器对任务进行管理和调度,以降低处理器的任务管理负荷,提升矩阵运算加速器的总体性能。调度器能够确定处理器下发的每个任务队列中的每个任务的标识信息,并对标识信息进行识别和筛选,以确定未被调度的任务作为待调度任务。能够对任务的执行状态进行标识和识别,从而筛选出未被调度的任务进行调度处理,减少了任务重复处理的不利情况,从而提高了任务的执行效率。
可选地,其中,所述标识信息还包括表征任务是否被处理的处理信息;所述方法还包括:
若所述待调度任务调度至所述矩阵运算加速器中进行处理,则将所述待调度任务的所述调度信息由未调度状态修改为已调度状态,以将所述待调度任务标记为已调度任务;
获取所述矩阵运算加速器完成所述已调度任务的反馈信息;
基于所述反馈信息将对应的所述已调度任务的所述处理信息由未完成状态修改为已完成状态,以将对应的所述已调度任务标记为已处理任务。
在上述实现过程中,由于任务的标识信息中包括任务是否被调度以及是否被处理这两种不同类型的信息,为了对两种状态进行更新,可以先在调度器将待调度任务调度至矩阵运算加速器中进行处理时,将待调度任务的调度状态修改为已调度状态,以将待调度任务标记为已调度任务,减少重复调度的不利情况。进一步地,还可以在矩阵运算加速器完成已调度任务后,获取对应的反馈信息,并将已调度任务的处理状态修改为完成状态,从而将已调度任务标记为已处理任务,减少重复处理的不利情况。能够通过标识信息的修改处理对任务的调度和处理状态进行修改,有效地减少重复调度和计算处理任务的不利情况,从而提高了任务的执行效率。
可选地,所述方法还包括:
在所述矩阵运算加速器处理当前任务的情况下,判断所述矩阵运算加速器中的内部存储器是否具有空闲存储空间;
若判定所述内部存储器具有空闲存储空间,则调度下一个执行的后续任务;
从外部存储器中提取所述后续任务的操作数据;
将所述操作数据预存储在所述内部存储器的所述空闲存储空间中。
在上述实现过程中,调度器能够监测和管理矩阵运算加速器的运算过程,以在执行当前任务的情况下,在内部存储器具有存储空间时,从外部存储器中调度后续任务的操作数据进行预存储。能够提前读取下一个任务的操作数据,从而减少执行任务时数据读取的等待时间,保证任务间高效的流水处理,提高任务的执行效率。
第二方面,本申请实施例还提供了一种卫星导航方法,所述方法包括:
通过处理器根据采集生成的卫星定位信息和/或传感信息确定进行定位计算的任务队列;其中,所述任务队列中包括多个矩阵运算的任务;
通过所述处理器在多个所述任务中添加标识信息;
通过调度器对所述处理器下发的每个所述任务的标识信息进行识别,确定待调度任务;
通过所述调度器根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式;
通过所述调度器基于所述目标调度方式生成相应的调度指令,并基于所述调度指令调度矩阵运算加速器对所述待调度任务进行处理,得到处理数据;
通过所述处理器基于获取的所述处理数据确定卫星定位导航信息。
在上述实现过程中,通过设置单独的调度器对任务进行调度,能够降低处理器的任务管理负荷,提升加速器总体性能。能够设置标识信息对任务的执行状态进行表征,以通过调度器识别标识信息的方式对任务是否完成进行区分,确定待调度任务,并提前设置参数信息对任务的调度方式进行区分处理,以通过调度器基于每个待调度任务中对应的参数信息确定相应的目标调度方式,根据目标调度方式调度矩阵运算加速器对每个待调度的任务进行处理,并通过处理器根据处理得到的处理数据分析得到相应的卫星定位导航信息。能够有效地对每个待调度的矩阵运算任务进行合理地规划和管理,充分优化了矩阵运算加速器的运算性能,降低了高优先级矩阵运算的延迟、总线数据带宽占用率以及计算时所需的能耗,有效地提高矩阵运算加速器执行矩阵运算任务时的效率,从而提高了卫星定位导航系统的工作效率,适用于多种定位导航场景。
可选地,其中,所述目标调度方式包括优先调度方式、公平轮询方式、任务暂停方式和任务级联方式中的至少一种;所述通过所述调度器基于所述目标调度方式生成相应的调度指令,并基于所述调度指令调度矩阵运算加速器对所述待调度任务进行处理,得到处理数据,包括:
通过所述调度器基于所述优先调度方式生成优先调度指令;基于所述优先调度方式进行仲裁,确定所有所述任务队列的优先级顺序;基于所述优先级顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理,得到所述处理数据;
和/或,通过所述调度器基于所述公平轮询方式生成轮询调度指令;基于所述公平轮询方式确定所有所述任务队列的下发顺序;基于所述下发顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理,得到所述处理数据;
和/或,通过所述调度器基于所述任务暂停方式生成插队调度指令;基于所述任务暂停方式,确定当前队列与待调度队列的优先级;若所述当前队列的优先级低于所述待调度队列的优先级,则调度所述矩阵运算加速器暂停所述当前队列,对所述待调度队列进行插队处理,得到所述处理数据;
和/或,通过所述调度器基于所述任务级联方式生成级联调度指令;基于所述级联调度指令,确定多个相关任务中的中间数据;调度所述矩阵运算加速器基于所述中间数据进行直接计算,得到所述处理数据。
在上述实现过程中,可以支持不同任务队列间调度以及同一任务队列中的任务内调度,能够根据不同的调度方式,生成相应的调度指令调度矩阵运算加速器进行相应地处理,以从优先级、任务关系等多个方面对任务进行合理地调度和处理,提高了任务执行的合理性。
第三方面,本申请实施例还提供了一种任务调度系统,所述系统包括处理器、调度器和矩阵运算加速器;
所述处理器用于下发任务队列;
所述调度器用于根据所述处理器下发的每个所述任务队列中的每个任务的标识信息,确定待调度任务;根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式;基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理;
所述矩阵运算加速器用于响应所述调度器,以所述目标调度方式对所述待调度任务进行处理。
在上述实现过程中,通过处理器、调度器与矩阵运算加速器之间的数据传输,能够有效地对每个待调度的矩阵运算任务进行合理地规划和管理,充分优化了矩阵运算加速器的运算性能,降低了高优先级矩阵运算的延迟、总线数据带宽占用率以及计算时所需的能耗,有效地提高矩阵运算加速器执行矩阵运算任务时的效率,从而提高了卫星定位导航系统的工作效率,适用于多种定位导航场景。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任务调度方法或卫星导航方法中任一实现方式中的步骤。
综上所述,本申请实施例提供了一种任务调度方法、卫星导航方法、任务调度系统及存储介质,能够设置单独的调度器对矩阵运算的任务进行调度,并设置标识信息对任务的执行状态进行表征,提前设置参数信息对任务的调度方式进行区分处理,从而能够按照相应的调度方式对每个待调度的任务进行合理地调度处理,有效地提高了矩阵运算任务的执行效率,从而提高卫星定位导航系统的工作效率,适用于多种定位导航场景。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种任务调度方法的流程示意图;
图2为本申请实施例提供的一种步骤S120和步骤S130的流程示意图;
图3为本申请实施例提供的另一种步骤S120和步骤S130的流程示意图;
图4为本申请实施例提供的一种步骤S110的流程示意图;
图5为本申请实施例提供的另一种任务调度方法的流程示意图;
图6为本申请实施例提供的又一种任务调度方法的流程示意图;
图7为本申请实施例提供的一种卫星导航方法的流程示意图;
图8为本申请实施例提供的一种任务调度系统的结构示意图。
图标:310-处理器;320-调度器;330-矩阵运算加速器;340-内部存储器;350-外部存储器。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
目前卫星定位导航系统的处理芯片中,通常采用通用处理器通过其总线访问专用的存储系统,由存储系统存放待处理的操作数矩阵,以及矩阵运算后的结果矩阵,由通用处理器完成矩阵运算中各步骤运算。但是,这种方式仅适用于简单计算的业务场景,在具有大量矩阵运算任务时,处理器需参与比较多的任务下发和优先级管理,消耗系统算力,无法对多个任务进行合理地执行,导致矩阵运算任务的执行效率较低,无法满足多种定位和导航需求。
为了解决上述问题,本申请提供了一种任务调度方法以及一种卫星导航方法,应用于任务调度系统和卫星定位导航系统中,任务调度系统可以设置在卫星定位导航系统中。
请参阅图1,图1为本申请实施例提供的一种任务调度方法的流程示意图,该方法可以包括步骤S110-S130。
步骤S110,根据处理器下发的每个任务队列中的每个任务的标识信息,确定待调度任务。
其中,可以设置标识信息对任务的执行状态进行表征,以通过调度器对下发的每个任务的标识信息进行识别,从而确定未被调度的待调度任务以待处理。
可选地,处理器可以下发多个任务队列进行处理,每个任务队列中可以包括多个矩阵运算任务,任务队列的数量以及每个任务队列中的任务的数量都可以根据实际情况和需求进行设置和修改。
示例地,标识信息可以设置在任务对应的外部缓存中,为了减小标识信息的占用空间和读取能耗,可以将标识信息设置为数字符,分别表征任务的不同执行状态。
步骤S120,根据每个待调度任务对应的参数信息,确定每个待调度任务的目标调度方式。
其中,还可以根据任务的实际情况,根据每个任务设置相应的参数信息,以对不同类型的任务的调度方式进行区分处理。调度器可以读取并识别每个待调度任务的参数信息,从而确定每个待调度对应的目标调度方式。
步骤S130,基于目标调度方式调度矩阵运算加速器对待调度任务进行处理。
其中,矩阵运算加速器负责单个任务的矩阵运算处理,调度器可以根据目标调度方式,调度矩阵运算加速器对每个未完成的任务进行对应地处理。
在图1所示的实施例中,能够有效地对每个待调度的矩阵运算任务进行合理地规划和管理,充分优化了矩阵运算加速器的运算性能,降低了高优先级矩阵运算的延迟、总线数据带宽占用率以及计算时所需的能耗,有效地提高矩阵运算加速器执行矩阵运算任务时的效率,从而提高了卫星定位导航系统的工作效率,适用于多种定位导航场景。
可选地,参数信息可以包括队列参数,请参阅图2,图2为本申请实施例提供的一种步骤S120和步骤S130的流程示意图,步骤S120可以包括步骤S121-123,步骤S130可以包括步骤S131-134。
步骤S121,识别每个待调度任务对应的目标任务队列的队列参数。
其中,每个任务队列中的多个任务的优先级可以相同,调度器可以读取相应的队列参数进行处理,每个目标任务队列中可以配置相应的权重寄存器,例如,可以设置为4bit调度权重priority(0至15个权重/权重等级)存储相应的队列参数,以对任务队列的调度顺序进行区分。
步骤S122,基于队列参数确定目标任务队列的权重信息。
其中,调度器可以根据权重寄存器中存储的队列参数分析目标任务队列对应的权重信息,权重信息也可以为数字格式的信息,例如由0-15分别表征不同的权重,数字越大则表征权重越大。
步骤S123,基于权重信息确定待调度任务对应的目标调度方式。
其中,由于权重信息能够表征不同任务队列的优先级顺序,因此,可以根据权重信息确定优先调度方式或公平轮询方式为待调度任务对应的目标调度方式。
可选地,优先调度方式即为对优先级较高的任务队列或任务优先处理的方式,公平轮询方式即为优先级相同时的公平处理方式。
步骤S131,基于优先调度方式进行仲裁,确定所有任务队列的优先级顺序。
其中,如果多个任务队列的权重信息不同,则选用优先调度方式,对每个任务队列的权重信息进行仲裁,以确定所有任务队列的优先级顺序。
步骤S132,基于优先级顺序调度矩阵运算加速器对每个任务队列进行依次处理。
其中,可以按照优先级顺序调度矩阵运算加速器对优先级高的任务队列优先仲裁和处理,以对所有任务队列进行依次处理,通过配置优先级的权重,使得高优先级任务能够优先处理,满足了多种优先处理的需求。
或,步骤S133,基于公平轮询方式确定所有任务队列的下发顺序。
其中,如果多个任务队列的权重信息相同,例如,每个任务队列的权重信息都为0,则调度器执行公平轮询方式,确定处理器下发所有任务队列时的下发顺序。
步骤S134,基于下发顺序调度矩阵运算加速器对每个任务队列进行依次处理。
其中,可以按照下发顺序调度矩阵运算加速器对每个任务队列进行先后的依次处理,能够实现多队列任务间的公平调度,优化流水运算时的性能。
需要说明的是,由于每个任务队列中都可以包括多个任务,而每个任务的优先级也可能存在不同的情况,可以先确定每个任务队列的调度方式,再确定每个任务队列中每个任务的调度方式。例如,可以针对同一队列中的每个待调度任务设置对应的权重信息,在确定每个任务队列的优先调度方式或公平轮询方式为后,还可以基于多个权重信息确定同一队列中每个待调度任务的优先级,对多个优先级进行排序,得到队列内优先级顺序或下发顺序,并按照队列内优先级顺序或下发顺序调度矩阵运算加速器对优先级高的待调度任务优先处理或公平处理,以对队列内的所有待调度任务进行依次处理,可以实现队列内的优先调度,满足队列内优先处理的需求。
在图2所示的实施例中,能够根据队列任务中设置的队列参数确定待调度任务的目标调度方式,从而对任务进行优先级管理,提高了任务执行的合理性。
可选地,参数信息包括任务参数,请参阅图3,图3为本申请实施例提供的另一种步骤S120和步骤S130的流程示意图,步骤S120还可以包括步骤S124-125,步骤S130还可以包括步骤S135-138。
步骤S124,识别每个待调度任务对应的任务参数。
其中,由于调度器的调度粒度,当一个低优先任务队列进入矩阵运算加速器后,如果矩阵较大,需运算较长时间,后续新下发的高优先级任务队列需要等待当前大矩阵运算结束后,才能启动运算,导致运算时的延时较高,因此,为了减少延时情况,任务参数中可以包括表征暂停低优先级队列,插队高优先级队列的暂停配置项,暂停配置项可以提前写入待调度任务的相应参数中,记为suspend_en,暂停配置项可以用数字表示,例如,以1表征需要进行暂停和插队处理,以0表征不需要进行暂停和插队处理等。并且,考虑到当多个矩阵运算流水进行时,有时上个矩阵运算任务的结果,是下个矩阵运算任务的操作数,因此,在存在多个级联的相关任务时,需要对每个计算得到的中间数据进行重复地存储和读取,会占用带宽且提高所需能耗,考虑到这一问题,任务参数中还可以包括表征不将相关任务中计算得到的中间数据输出到矩阵运算加速器外部总线侧的外部存储器中进行缓存,而是将中间数据作为相关任务中下一个矩阵计算的后续关联任务的操作数直接进行计算的级联位域项,级联位域项也可以提前写入待调度任务的相应参数中,记为no_wr_back,级联位域项可以用数字表示,例如,以1表征该任务为级联的相关任务,则不把其处理得到的结果写入外部存储器中,以0表征该任务不为级联的相关任务,可以把其处理得到的结果写入外部存储器中。
步骤S125,基于任务参数确定待调度任务对应的目标调度方式。
其中,可以根据任务参数的具体内容确定任务暂停方式或任务级联方式为待调度任务对应的目标执行任务。
可选地,任务暂停方式即为暂停当前处理任务,执行插队任务的方式,任务级联方式即为不存储相关任务中计算得到的中间数据的方式。
步骤S135,基于任务暂停方式,确定当前队列与待调度队列的优先级。
其中,可以根据任务暂停方式,基于任务队列的权重信息分析当前队列和待调度队列的优先级,优先级可以通过数字、字母等形式进行表征,例如,当前队列的优先级为0,待调度队列的优先级为3等。
步骤S136,若当前队列的优先级低于待调度队列的优先级,则调度矩阵运算加速器暂停当前队列,对待调度队列进行插队处理。
其中,可以比较当前队列与待调度队列的优先级,以确定是否暂停当前队列并插队处理待调度队列。例如,待调度队列的优先级3大于当前队列的优先级0,表征待调度队列的优先级高于当前队列,则可以打断并暂停处理当前队列,插队处理待调度队列,还可以根据实际情况和需求设置或修改队列间低优先级被暂停后中途插队的高优先级任务或任务队列的数量。能够支持队列间调度,减少加速器内正在执行的超大低优先级矩阵任务阻塞后续高优先级任务的处理情况,从而优化矩阵运算的性能。
需要说明的是,由于每个任务队列中都可以包括多个任务,而每个任务的优先级也可能存在不同的情况,因此,任务暂停方式还可以对同一队列中每个待调度任务的优先级进行分析和比较,以打断并暂停处理当前优先级较低的待调度任务,插队处理优先级较高的待调度任务,以实现同一队列内多任务的暂停和插队等调度,减少队列内任务处理时的堵塞情况。
或,步骤S137,基于任务级联方式,确定多个相关任务中的中间数据。
其中,在具有多个关联的相关任务时,还可以根据任务级联方式,确定多个相关任务中处理的到的中间数据。中间数据可以为相关任务中某个任务处理后得到的计算结果,且计算结果会作为相关任务中后续关联任务的计算参数。
步骤S138,调度矩阵运算加速器基于中间数据进行直接计算。
其中,不对中间数据进行存储和输出,而是直接调度矩阵运算加速器调用中间数据进行计算,在进行计算时减少读取的次数。能够由多个相关任务共享中间数据,降低矩阵运算的数据吞吐量,减少数据重复输出再读入的性能损失,从而减少对于系统总线带宽的占用率,提升性能的同时节省处理所需的能耗。
需要说明的是,任务暂停方式和任务级联方式为两种互不影响的调度方式,可以根据任务参数的实际情况,使用相应的一种方式进行调度处理,也可以使用两种方式同时进行调度处理。
在图3所示的实施例中,能够根据任务中设置的任务参数确定相应的目标调度方式,从而根据任务的类型进行相应地调度,提高了任务执行的合理性。
可选地,请参阅图4,图4为本申请实施例提供的一种步骤S110的流程示意图,步骤S110可以包括步骤S111-S112。
步骤S111,确定处理器下发的每个任务队列中的每个任务的标识信息。
其中,可以设置单独的调度器对任务进行管理和调度,以降低处理器的任务管理负荷,提升加速器总体性能。调度器能够确定处理器下发的每个任务队列中的每个任务的标识信息。调度器能够监测各队列内任务执行情况,在矩阵运算加速器中的上个任务执行完后,启动下次任务调度。
可选地,调度器可以为单独的硬件器件,也可以集成在处理器或矩阵运算加速器中作为相应的硬件模块。
其中,标识信息中可以包括表征任务是否被调度的调度信息,调度信息可以为数字信息,例如,以0表征未被调度的任务状态,以1表征已被调度的任务状态等。
步骤S112,对标识信息进行识别和筛选,确定未被调度的所有待调度任务。
其中,调度器可以对标识信息中的调度信息进行识别和筛选,以确定待调度状态的任务作为待调度任务。
在图4所示的实施例中,能够对任务的执行状态进行标识和识别,从而筛选出未被调度的任务进行调度处理,减少了任务重复处理的不利情况,从而提高了任务的执行效率。
可选地,请参阅图5,图5为本申请实施例提供的另一种任务调度方法的流程示意图,该方法还可以包括步骤S141-S143。
步骤S141,若待调度任务调度至矩阵运算加速器中进行处理,则将待调度任务的调度信息由未调度状态修改为已调度状态,以将待调度任务标记为已调度任务。
其中,标识信息中还可以包括表征任务是否被处理的处理信息。示例地,标识信息可以为2bit的数字信息,例如,以第一位数字表征调度信息,以第二位数字表征处理信息,能够以00表征未被调度且未被处理的待调度的任务状态,以10表征已被调度且在处理中的执行中的任务状态,以11表征已被调度且已经处理完成的任务状态。由于任务的标识信息中包括任务是否被调度以及是否被处理这两种不同类型的信息,为了对两种状态进行更新,可以先在调度器将待调度任务调度至矩阵运算加速器中进行处理时,将待调度任务的调度状态修改为已调度状态,例如,将调度信息由0置为1,以将待调度任务标记为已调度任务,减少重复调度的不利情况。
步骤S142,获取矩阵运算加速器完成已调度任务的反馈信息。
其中,矩阵运算加速器完成相应的已调度任务后,可以将反馈信息发送至调度器,以使调度器能够对矩阵运算加速器的执行情况进行监测。
步骤S143,基于反馈信息将对应的已调度任务的标识信息由未完成状态修改为已完成状态,以将对应的已调度任务标记为已处理任务。
其中,调度器能够基于反馈信息,将已调度任务的处理状态修改为完成状态,例如,将处理信息由0置为1,将已调度任务标记为已处理任务,减少重复处理的不利情况。
可选地,可以通过调度器基于中断上报的方式通知处理器任务的执行状态的变更情况,也可以通过处理器定时查询的方式获取任务执行状态的变更情况,在矩阵运算加速器对矩阵运算任务处理完成后,能够将计算得到的处理数据写入外部存储器,以使处理器能够读取外部存储器中存储的处理数据进行处理,或者下发新的待调度任务以待处理,处理器可以在同样的队列位置,即标识为已完成的空闲队列中下发新的任务。
在图5所示的实施例中,能够通过标识信息的修改处理对任务的执行状态进行修改,有效地减少重复处理已经完成的任务的不利情况,从而提高了任务的执行效率。
可选地,请参阅图6,图6为本申请实施例提供的又一种任务调度方法的流程示意图,该方法还可以包括步骤S151-S154。
步骤S151,在矩阵运算加速器处理当前任务的情况下,判断矩阵运算加速器中的内部存储器是否具有空闲存储空间。
其中,矩阵运算加速器能够对多个任务进行流水计算,在矩阵运算加速器正在运算当前任务的情况下,可以判断设置在矩阵运算加速器中的内部存储器是否具有空闲存储空间。
步骤S152,若判定内部存储器具有空闲存储空间,则调度下一个执行的后续任务。
其中,调度器能够在矩阵运算加速器运算当前任务时,提前调度仲裁出下一个执行的后续任务。
步骤S153,从外部存储器中提取后续任务的操作数据。
步骤S154,将操作数据预存储在内部存储器的空闲存储空间中。
其中,调度器能够从矩阵运算加速器外部总线侧的外部存储器中提前读取操作数,并将操作数据预存储在内部存储器的空闲存储空间中,从而在矩阵运算加速器完成当前任务的运算后,可直接启动后续任务的运算,节省读取操作数据的时间,通过预取流水操作,提高加速器的运算效率。
可选地,调度器可以根据实际情况和需求管理矩阵运算加速器内部任务间的流水级数以及内部存储器中预读取的数据的个数。
在图6所示的实施例中,能够提前读取下一个任务的操作数据,从而减少执行任务时数据读取的等待时间,保证任务间高效的流水处理,提高任务的执行效率。
请参阅图7,图7为本申请实施例提供的一种卫星导航方法的流程示意图,该方法可以包括步骤S210-S260。
步骤S210,通过处理器根据采集生成的卫星定位信息和/或传感信息确定进行定位计算的任务队列。
其中,处理器能够获取相应的卫星定位信息和/或传感信息,并基于卫星定位信息和/或传感信息确定进行定位计算时的一个或多个任务队列,每个任务队列中可以包括多个矩阵运算的任务。
可选地,卫星定位信息可以由卫星定位导航系统中的射频器件和基带器件采集并获取,例如,由射频器件接收卫星信号,转化为中频信号发送给基带器件,由基带器件对中频信号进行处理,以得到相应的卫星定位信息,并将卫星定位信息发送给处理器。传感信息可以包括卫星定位导航系统中的多种传感器采集的信息,例如,传感器可以包括惯性传感器、视觉传感器以及激光雷达等传感器,相应的,传感信息可以包括惯性运动信息、图像信息以及三维信息等多种类型的信息。
步骤S220,通过处理器在多个任务中添加标识信息。
其中,为了对每个任务的执行状态进行区分,处理器可以为每个任务配置相应的标识信息,标识信息的内容与图1-图6中的相同,不再进行赘述。
步骤S230,通过调度器对处理器下发的每个任务的标识信息进行识别,确定待调度任务。
其中,可以设置单独的调度器对任务进行调度,能够降低处理器的任务管理负荷,提升加速器总体性能。调度器能够识别标识信息,以确定执行状态为未执行的待调度任务。
步骤S240,通过调度器根据每个待调度任务对应的参数信息,确定每个待调度任务的目标调度方式。
其中,还能够提前设置参数信息对任务的调度方式进行区分处理,以通过调度器基于每个待调度任务中对应的参数信息确定相应的目标调度方式。
步骤S250,通过调度器基于目标调度方式生成相应的调度指令,并基于调度指令调度矩阵运算加速器对待调度任务进行处理,得到处理数据。
其中,通过调度器根据不同的目标调度方式生成相应的调度指令对矩阵运算加速器进行调度,以实现不同的任务级调度行为。
需要说明的是,其中,目标调度方式可以包括优先调度方式、公平轮询方式、任务暂停方式和任务级联方式中的至少一种;通过调度器基于目标调度方式生成相应的调度指令,并基于调度指令调度矩阵运算加速器对待调度任务进行处理,得到处理数据,可以包括:
(1)通过调度器基于优先调度方式生成优先调度指令;基于优先调度方式进行仲裁,确定所有任务队列的优先级顺序;基于优先级顺序调度矩阵运算加速器对每个任务队列进行依次处理,得到处理数据;和/或,
(2)通过调度器基于公平轮询方式生成轮询调度指令;基于公平轮询方式确定所有任务队列的下发顺序;基于下发顺序调度矩阵运算加速器对每个任务队列进行依次处理,得到处理数据;和/或,
(3)通过调度器基于任务暂停方式生成插队调度指令;基于任务暂停方式,确定当前队列与待调度队列的优先级;若当前队列的优先级低于待调度队列的优先级,则调度矩阵运算加速器暂停当前队列,对待调度队列进行插队处理,得到处理数据;和/或,
(4)通过调度器基于任务级联方式生成级联调度指令;基于级联调度指令,确定多个相关任务中的中间数据;调度矩阵运算加速器基于中间数据进行直接计算,得到处理数据。
以上的处理方式可以实现支持不同任务队列间调度以及同一任务队列中的任务内调度,以根据任务的实际情况组合出不同的调度策略;同样地,以上的处理方式也能够根据不同的调度方式,生成相应的调度指令调度矩阵运算加速器进行相应地处理,以从优先级、任务关系等多个方面对任务进行合理地调度和处理,提高了任务执行的合理性。
步骤S260,通过处理器基于获取的处理数据确定卫星定位导航信息。
其中,处理数据可以为结果矩阵等类型的数据,处理器能够根据处理得到的处理数据进行分析,以得到相应的卫星定位导航信息,从而将卫星定位导航信息发送给下游的服务器、个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(PersonalDigital Assistant,PDA)等具有逻辑计算功能的电子设备,以供电子设备实现相应的导航功能。
需要说明的是,由于任务调度系统设置在卫星定位导航系统中,图1-图6所示的实施例都可以在图7所示的实施例中基于类似实施例的实现方法实现,对重复的实施方式不再进行赘述。
请参阅图8,图8为本申请实施例提供的一种任务调度系统的结构示意图,该系统可以包括处理器310、调度器320和矩阵运算加速器330;
处理器310用于下发任务队列;
调度器320用于根据处理器310下发的每个任务队列中的每个任务的标识信息,确定待调度任务;根据每个待调度任务对应的参数信息,确定每个待调度任务的目标调度方式;基于目标调度方式调度矩阵运算加速器330对待调度任务进行处理;
矩阵运算加速器330用于响应调度器320,以目标调度方式对待调度任务进行处理。
需要说明的是,调度器320可以为单独设置的器件,通过总线与处理器310以及矩阵运算加速器330连接,调度器320也可以与矩阵运算加速器330或处理器310集成在一起,作为相应的功能模块。
其中,参数信息包括队列参数;调度器320具体用于:识别每个待调度任务对应的目标任务队列的队列参数;基于队列参数确定目标任务队列的权重信息;基于权重信息确定待调度任务对应的目标调度方式;其中,目标调度方式包括优先调度方式或公平轮询方式;基于优先调度方式进行仲裁,确定所有任务队列的优先级顺序;基于优先级顺序调度矩阵运算加速器对每个任务队列进行依次处理;和/或,基于公平轮询方式确定所有任务队列的下发顺序;基于下发顺序调度矩阵运算加速器对每个任务队列进行依次处理。
其中,参数信息包括任务参数;调度器320具体用于:识别每个待调度任务对应的任务参数;其中,任务参数包括表征暂停低优先级队列,插队高优先级队列的暂停配置项,以及表征以相关任务中计算的中间数据作为后续关联任务的操作数直接进行计算的级联位域项中的至少一种;基于任务参数确定待调度任务对应的目标调度方式;其中,目标调度方式包括任务暂停方式或任务级联方式;基于任务暂停方式,确定当前队列与待调度队列的优先级;若当前队列的优先级低于待调度队列的优先级,则调度矩阵运算加速器330暂停当前队列,对待调度队列进行插队处理;和/或,基于任务级联方式,确定多个相关任务中的中间数据;调度矩阵运算加速器330基于中间数据进行直接计算。
在一可选的实施方式中,调度器320还用于:确定处理器310下发的每个任务队列中的每个任务的标识信息;其中,标识信息中包括表征任务是否被调度的调度信息;对标识信息进行识别和筛选,确定未被调度的所有待调度任务。
在一可选的实施方式中,标识信息还包括表征任务是否被处理的处理信息;调度器320还用于:若待调度任务调度至矩阵运算加速器330中进行处理,则将待调度任务的调度信息由未调度状态修改为已调度状态,以将待调度任务标记为已调度任务;获取矩阵运算加速器330完成已调度任务的反馈信息;基于反馈信息将对应的已调度任务的处理信息由未完成状态修改为已完成状态,以将对应的已调度任务标记为已处理任务。
在一可选的实施方式中,任务调度系统中还可以包括内部存储器340和外部存储器350,内部存储器340设置在矩阵运算加速器330的内部,外部存储器350设置在矩阵运算加速器330的外部,通过总线进行数据交互。调度器320还用于:在矩阵运算加速器330处理当前任务的情况下,判断矩阵运算加速器330中的内部存储器340是否具有空闲存储空间;若判定内部存储器340具有空闲存储空间,则调度下一个执行的后续任务;从外部存储器350中提取后续任务的操作数据;将操作数据预存储在内部存储器340的空闲存储空间中。
由于本申请实施例中的任务调度系统解决问题的原理与前述的任务调度方法的实施例相似,因此本实施例中的任务调度系统的实施可以参见上述任务调度方法的实施例中的描述,重复之处不再赘述。
本申请实施例还提供了一种计算机可读取存储介质,可读取存储介质中存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本实施例提供的任务调度方法或卫星导航方法中任一项方法中的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种任务调度方法,其特征在于,所述方法包括:
根据处理器下发的每个任务队列中的每个任务的标识信息,确定待调度任务;
根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式;
基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理。
2.根据权利要求1所述的方法,其特征在于,其中,所述参数信息包括队列参数;所述根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式,包括:
识别每个所述待调度任务对应的目标任务队列的所述队列参数;
基于所述队列参数确定所述目标任务队列的权重信息;
基于所述权重信息确定所述待调度任务对应的所述目标调度方式;
其中,所述目标调度方式包括优先调度方式或公平轮询方式;
所述基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理,包括:
基于所述优先调度方式进行仲裁,确定所有所述任务队列的优先级顺序;基于所述优先级顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理;
和/或,基于所述公平轮询方式确定所有所述任务队列的下发顺序;基于所述下发顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理。
3.根据权利要求1所述的方法,其特征在于,其中,所述参数信息包括任务参数;所述根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式,包括:
识别每个所述待调度任务对应的任务参数;其中,所述任务参数包括表征暂停低优先级队列,插队高优先级队列的暂停配置项,以及表征以相关任务中计算的中间数据作为后续关联任务的操作数直接进行计算的级联位域项中的至少一种;
基于所述任务参数确定所述待调度任务对应的所述目标调度方式;
其中,所述目标调度方式包括任务暂停方式或任务级联方式;
所述基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理,包括:
基于所述任务暂停方式,确定当前队列与待调度队列的优先级;若所述当前队列的优先级低于所述待调度队列的优先级,则调度所述矩阵运算加速器暂停所述当前队列,对所述待调度队列进行插队处理;
和/或,基于所述任务级联方式,确定多个所述相关任务中的所述中间数据;调度所述矩阵运算加速器基于所述中间数据进行直接计算。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据处理器下发的每个任务队列中的每个任务的标识信息,确定待调度任务,包括:
确定所述处理器下发的每个所述任务队列中的每个所述任务的标识信息;其中,所述标识信息中包括表征任务是否被调度的调度信息;
对所述标识信息进行识别和筛选,确定未被调度的所有所述待调度任务。
5.根据权利要求4所述的方法,其特征在于,其中,所述标识信息还包括表征任务是否被处理的处理信息;所述方法还包括:
若所述待调度任务调度至所述矩阵运算加速器中进行处理,则将所述待调度任务的所述调度信息由未调度状态修改为已调度状态,以将所述待调度任务标记为已调度任务;
获取所述矩阵运算加速器完成所述已调度任务的反馈信息;
基于所述反馈信息将对应的所述已调度任务的所述处理信息由未完成状态修改为已完成状态,以将对应的所述已调度任务标记为已处理任务。
6.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
在所述矩阵运算加速器处理当前任务的情况下,判断所述矩阵运算加速器中的内部存储器是否具有空闲存储空间;
若判定所述内部存储器具有空闲存储空间,则调度下一个执行的后续任务;
从外部存储器中提取所述后续任务的操作数据;
将所述操作数据预存储在所述内部存储器的所述空闲存储空间中。
7.一种卫星导航方法,其特征在于,所述方法包括:
通过处理器根据采集生成的卫星定位信息和/或传感信息确定进行定位计算的任务队列;其中,所述任务队列中包括多个矩阵运算的任务;
通过所述处理器在多个所述任务中添加标识信息;
通过调度器对所述处理器下发的每个所述任务的标识信息进行识别,确定待调度任务;
通过所述调度器根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式;
通过所述调度器基于所述目标调度方式生成相应的调度指令,并基于所述调度指令调度矩阵运算加速器对所述待调度任务进行处理,得到处理数据;
通过所述处理器基于获取的所述处理数据确定卫星定位导航信息。
8.根据权利要求7所述的方法,其特征在于,其中,所述目标调度方式包括优先调度方式、公平轮询方式、任务暂停方式和任务级联方式中的至少一种;所述通过所述调度器基于所述目标调度方式生成相应的调度指令,并基于所述调度指令调度矩阵运算加速器对所述待调度任务进行处理,得到处理数据,包括:
通过所述调度器基于所述优先调度方式生成优先调度指令;基于所述优先调度方式进行仲裁,确定所有所述任务队列的优先级顺序;基于所述优先级顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理,得到所述处理数据;
和/或,通过所述调度器基于所述公平轮询方式生成轮询调度指令;基于所述公平轮询方式确定所有所述任务队列的下发顺序;基于所述下发顺序调度所述矩阵运算加速器对每个所述任务队列进行依次处理,得到所述处理数据;
和/或,通过所述调度器基于所述任务暂停方式生成插队调度指令;基于所述任务暂停方式,确定当前队列与待调度队列的优先级;若所述当前队列的优先级低于所述待调度队列的优先级,则调度所述矩阵运算加速器暂停所述当前队列,对所述待调度队列进行插队处理,得到所述处理数据;
和/或,通过所述调度器基于所述任务级联方式生成级联调度指令;基于所述级联调度指令,确定多个相关任务中的中间数据;调度所述矩阵运算加速器基于所述中间数据进行直接计算,得到所述处理数据。
9.一种任务调度系统,其特征在于,所述系统包括处理器、调度器和矩阵运算加速器;
所述处理器用于下发任务队列;
所述调度器用于根据所述处理器下发的每个所述任务队列中的每个任务的标识信息,确定待调度任务;根据每个所述待调度任务对应的参数信息,确定每个所述待调度任务的目标调度方式;基于所述目标调度方式调度矩阵运算加速器对所述待调度任务进行处理;
所述矩阵运算加速器用于响应所述调度器,以所述目标调度方式对所述待调度任务进行处理。
10.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-8任一项所述方法中的步骤。
CN202310922070.1A 2023-07-25 2023-07-25 任务调度方法、卫星导航方法、任务调度系统及存储介质 Pending CN116932165A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310922070.1A CN116932165A (zh) 2023-07-25 2023-07-25 任务调度方法、卫星导航方法、任务调度系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310922070.1A CN116932165A (zh) 2023-07-25 2023-07-25 任务调度方法、卫星导航方法、任务调度系统及存储介质

Publications (1)

Publication Number Publication Date
CN116932165A true CN116932165A (zh) 2023-10-24

Family

ID=88378783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310922070.1A Pending CN116932165A (zh) 2023-07-25 2023-07-25 任务调度方法、卫星导航方法、任务调度系统及存储介质

Country Status (1)

Country Link
CN (1) CN116932165A (zh)

Similar Documents

Publication Publication Date Title
US7451447B1 (en) Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls
US20070143761A1 (en) Task scheduler system and method for managing tasks in an embedded system without a real time operating system
CN109656782A (zh) 可视化调度监控方法、装置及服务器
CN102541661B (zh) 实现等待地址同步接口的方法和设备
US7606958B2 (en) Interrupt control method, interrupt control apparatus and interrupt control medium
CN111367679A (zh) 人工智能算力资源复用方法及装置
US9529651B2 (en) Apparatus and method for executing agent
US20070239630A1 (en) Method and system for allowing multiple applications to utilize customized feedback with a shared machine learning engine
WO2015052501A1 (en) Scheduling function calls
CN114661449B (zh) 任务调度方法、嵌入式系统及计算机可读存储介质
Omar et al. Comparative analysis of the essential CPU scheduling algorithms
CN113138801A (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
CN113127173B (zh) 一种异构感知的集群调度方法及装置
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
CN113190427A (zh) 卡顿监控方法、装置、电子设备及存储介质
CN113032119A (zh) 一种任务调度方法、装置、存储介质及电子设备
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
CN116932165A (zh) 任务调度方法、卫星导航方法、任务调度系统及存储介质
CN113495780A (zh) 任务调度方法、装置、存储介质及电子设备
CN110837415B (zh) 一种基于risc-v多核处理器的线程调度方法和装置
CN114911538A (zh) 一种运行系统的启动方法及计算设备
CN110659125A (zh) 一种分析任务执行方法、装置、系统及电子设备
WO2010009743A1 (en) Synchronization of multiple processor cores
EP1406172A2 (en) System and method for task arbitration in multi-threaded simulations
US20230418667A1 (en) Computing device for handling tasks in a multi-core processor, and method for operating computing device

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