CN108874548B - 数据处理调度方法、装置、计算机设备和数据处理系统 - Google Patents
数据处理调度方法、装置、计算机设备和数据处理系统 Download PDFInfo
- Publication number
- CN108874548B CN108874548B CN201810758913.8A CN201810758913A CN108874548B CN 108874548 B CN108874548 B CN 108874548B CN 201810758913 A CN201810758913 A CN 201810758913A CN 108874548 B CN108874548 B CN 108874548B
- Authority
- CN
- China
- Prior art keywords
- processing
- data
- algorithm
- processed
- path
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种数据处理调度方法、装置、计算机设备、存储介质和数据处理系统,该方法包括:获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;根据处理流程和算法单元信息,对各数字信号处理器中的算法单元进行调度,生成待处理数据的处理路径;根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为待处理数据的最优调度路径。通过从数据流的输入到输出整个流程出发,以数字信号处理器中的处理算法作为调度单元,在各个数字信号处理器之间进行调度,从所有处理路径中处理耗时最小的处理路径作为最优调度路径,使数据的处理流程串行化,减少延时,提高了数据处理效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理调度方法、装置、计算机设备和数据处理系统。
背景技术
随着音频处理器产品需要处理的音频路数更多,过程更加复杂,延时更加小,以前单数字信号处理器(DSP,Digital Signal Processor)同时处理多路音频的架构已经不能满足产品的实际需求。为了满足产品需求,多数字信号处理器并行处理多路音频的架构就成为了必然。
传统的多处理器架构调度方法中,处理器之间一般通过共享内存的方式进行数据交换,调度方式也是从均衡各个处理器的负载和最大化的利用各个处理器能力这个角度出发进行调度。然而,这种方式仅仅适用于对音频处理的单个算法,从每路音频的整个处理流程来看同样存在很大的延时,传统的多处理器架构调度方法方式存在数据处理效率低的缺点。
发明内容
基于此,有必要针对上述问题,提供一种可提高数据处理效率的数据处理调度方法、装置、计算机设备和数据处理系统。
一种数据处理调度方法,所述方法包括:
获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;
根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;
根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;
将处理耗时最小的处理路径作为所述待处理数据的最优调度路径。
一种数据处理调度装置,所述装置包括:
数据获取模块,用于获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;
路径生成模块,用于根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;
耗时计算模块,用于根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;
路径优化模块,用于将处理耗时最小的处理路径作为所述待处理数据的最优调度路径。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;
根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;
根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;
将处理耗时最小的处理路径作为所述待处理数据的最优调度路径。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;
根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;
根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;
将处理耗时最小的处理路径作为所述待处理数据的最优调度路径。
一种数据处理系统,包括控制装置和两个或两个以上的数字信号处理器,所述数字信号处理器用于接收待处理数据,且各所述数字信号处理器均连接所述控制装置,
所述控制装置用于获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为所述待处理数据的最优调度路径;根据所述最优调度路径调用数字信号处理器中的算法单元对所述待处理数据进行数据处理后输出。
上述数据处理调度方法、装置、计算机设备、存储介质和数据处理系统,获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;根据处理流程和算法单元信息,对各数字信号处理器中的算法单元进行调度,生成待处理数据的处理路径;根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为所述待处理数据的最优调度路径。通过从数据流的输入到输出整个流程出发,以数字信号处理器中的处理算法作为调度单元,在各个数字信号处理器之间进行调度,从所有处理路径中处理耗时最小的处理路径作为最优调度路径,使数据的处理流程串行化,减少延时,提高了数据处理效率。
附图说明
图1为一实施例中数据处理调度方法的流程图;
图2为一实施例中根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时的流程图;
图3为一实施例中数据处理调度装置的结构框图;
图4为一实施例中耗时计算模块的结构框图;
图5为一实施例中计算机设备的内部结构图;
图6为一实施例中数据处理系统的结构框图;
图7为一实施例中数据处理系统的结构原理图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,一种数据处理调度方法,适用于音频数据流的处理调度。如图1所示,该方法包括:
步骤S110:获取待处理数据的处理流程以及各数字信号处理器的算法单元信息。
待处理数据指需要通过数字信号处理器内部的算法进行信号处理的数据,待处理数据的类型并不唯一,可以是音频数据或视频数据等,待处理数据可以是一路也可以是多路。待处理数据的处理流程包括待处理数据需要进行的信号处理以及处理顺序等信息。数字信号处理器中包括一个或多个信号处理算法,将每个信号处理算法作为一个算法单元以用作数据处理调用,算法单元信息指数字信号处理器中的算法单元的信息,具体可包括算法名称、输入数据、输出数据和计算时延等信息。根据待处理数据的类型不同,信号处理算法的种类也会对应有所不同,以待处理数据为音频数据为例,信号处理算法可以包括自动增益控制算法(AGC:Automatic Gain Control)、自动回声抑制算法(AEC:Automatic EchoControl)、自动反馈控制算法(AFC:Automatic Feedback Control)、自动噪声抑制算法(ANS:Automatic Noise Suppression)和自动混音处理算法(Automatic Mixer)。对应地,数字信号处理器中的算法单元可以是包括自动增益控制算法单元、自动回声抑制算法单元、自动反馈控制算法单元、自动噪声抑制算法单元和自动混音处理算法单元中的至少一种。
具体地,可通过控制器获取待处理数据的处理流程和各数字信号处理器的算法单元信息,控制器可采用FPGA(Field Programmable Gate Array,现场可编程门阵列)等。待处理数据可以是通过部分信号处理器进行接收,也可以是由控制器进行接收。获取处理流程和算法单元信息的具体方式并不是唯一的,可以是利用控制器从接收的待处理数据中提取数据的处理流程,以及从各信号处理器中获取算法单元的信息;或者,也可以是预先采集每一路数据的处理流程进行汇总生成处理流程拓扑图保存至存储器,以及采集所有信号处理器中各算法单元的信息保存至存储器,控制器只需从存储器中查找各数字信号处理器的算法单元信息以及所需处理数据的处理流程即可。
步骤S120:根据处理流程和算法单元信息,对各数字信号处理器中的算法单元进行调度,生成待处理数据的处理路径。
根据处理流程确定待处理数据在处理过程中所需用到的处理算法,再根据算法单元信息找到处理算法对应的所需算法单元。对各数字信号处理器中的需要用到的算法单元进行调度,生成符合待处理数据处理流程的处理路径。
其中,算法单元信息包括数字信号处理器中各算法单元的计算时延、输入数据和输出数据。计算时延表示该算法单元进行信号处理所需时长,输入数据和输出数据可用于表征该算法单元的算法类型。在其中一个实施例中,步骤S120包括:根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序调用数字信号处理器中的算法单元,生成符合待处理数据的处理流程的处理路径。
例如,对于某一路待处理数据流,其处理流程为A算法处理-B算法处理-C算法处理-D算法处理,其中,A算法处理的输入为A1,输出为A2;B算法处理的输入为B1,输出为B2;C算法的输入为C1,输出为C2;D算法的输入为D1,输出为D2。算法单元信息包括各算法单元的输入和输出,则在信号处理器中查找输入为A1,输出为A2的算法单元作为所需的A算法单元,查找输入为B1,输出为B2的算法单元作为所需的B算法单元,查找输入为C1,输出为C2的算法单元作为所需的C算法单元,查找输入为D1,输出为D2的算法单元作为所需的D算法单元,将查找得到的算法单元按照A算法单元-B算法单元-C算法单元-D算法单元的顺序串接起来,便得到符合待处理数据的处理流程的所有处理路径。
通过结合待处理数据的处理流程以及算法单元的输入数据和输出数据,可以快速便捷地查找到数字信号处理器中处理流程所需的算法单元,并将查找到的算法单元按照处理流程调用串接生成处理路径。
进一步地,待处理数据的数量为两个或两个以上,根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序调用数字信号处理器中的算法单元,生成符合待处理数据的处理流程的处理路径,包括:
根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合待处理数据的处理流程的处理路径。
本实施例中,在对多路待处理数据构建处理路径时,将待处理数据中相同的算法分布到不同数字信号处理器中相应的算法单元。例如,待处理数据X和待处理数据Y的处理流程中均要进行B算法处理,数字信号处理器中的处理器1-处理器8中包含具有B算法功能的算法单元(称为B算法单元),则在对待处理数据X和待处理数据Y进行处理路径构建时,可以是只利用处理器1-处理器4中的B算法单元参与构建待处理数据X的处理路径,且只利用处理器5-处理器8中的B算法单元参与构建待处理数据Y的处理路径。
具体地,数字信号处理器的个数可根据产品规格要求的基础上进行冗余设计,确保有多个数字信号处理器可供调度使用,以避免出现同一个算法单元同时对多个待处理数据进行算法处理的冲突发生。通过将不同数据流的同一算法单元会分布到不同的数字信号处理器上去,在进行数据处理时无需等待,可进一步减少数据处理的耗时。
步骤S130:根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时。
其中,数据搬运时间指将数据从一个数字信号处理器转移到另一个数字信号处理器所需的时间,数据搬运时间的具体取值并不唯一,根据信号传输速率的实际情况确定。具体地,在一个实施例中,如图2所示,步骤S130包括步骤S132至步骤S136。
S132:根据处理路径中算法单元的计算时延,计算得到处理路径的算法处理总延时。对应地,可根据算法单元信息中的算法时延计算出待处理数据在进行算法处理时所需的总延时。
S134:根据处理路径中数字信号处理器的转换次数和预设的数据搬运时间,计算得到处理路径的数据搬运总时长。结合每条处理路径中数据在数字信号处理器之间的转移次数和数据搬运时间,可计算出每条处理路径中进行数字信号处理器之间的数据转移所耗的总时长。
S136:将算法处理总延时和数据搬运总时长之和作为处理路径的处理耗时。将算法处理时所需的时间分别与每条处理路径的数据转移所耗的时间相加,便得到各处理路径的处理耗时。
可以理解,在其他实施例中,也可以是针对每一条处理路径中的每相邻两个处理算法计算延时消耗,最后将所有的延时消耗相加同样可得到处理路径的处理耗时。以音频数据处理为例,具体策略如下:
假设音频处理算法Ai,计算时延是Di,输入数据Pi,输出数据Oi。
如果一个数字信号处理器上的算法Ai的输出数据Oi,刚好是同一个数字信号处理器中下一个处理步骤Aj的输入数据Pj,则将这两个算法的时延进行累加:
如果Oi=Pj,两个处理算法的延时消耗Sij计算为:Sij=Di+Dj
如果一个数字信号处理器上的算法Ai的输出数据Oi,是另外一个数字信号处理器上的处理步骤Ak的输入数据Pk,则将这两个算法的时延进行累加的同时,在加上一个等待数据搬运需要的时间Tik:
如果Oi≠Pk,则两个处理算法的延时消耗Sik计算为:Sik=Di+Tik+Dk
最后,音频数据流从输入到输出的整个处理路径的处理耗时S计算为:
步骤S140:将处理耗时最小的处理路径作为待处理数据的最优调度路径。
调度策略最后的判断票准是处理耗时S最小为最优调度,即将所有处理路径中处理耗时S最小的路径作为待处理数据的最优调度路径。不同待处理数据流的处理流程可以相同也可以不相同,但都是各种处理算法的组合。所以对于每个数据流经过相同的音频处理算法的延时是固定的,处理流程的不同只是各种处理算法的组合不同。对于一路数据,在哪个信号处理器进行哪步算法处理,也是根据处理耗时S最小来判断,因为处理耗时S已经考虑了数据搬运的时延,所以处理耗时S判据既考虑算法组合,同时也考虑了路径组合。
同样以音频数据处理为例,如果使用单数字信号处理器进行多路音频处理,对于每路音频数据来说,都会需要在处理器的单一处理队列中进行排队;对每一个音频处理流程来说,每一步处理算法的使用也需要和别的音频处理流程一起排队等待处理。这样的结果就会造成每一个音频处理流程的延时增加,并且随着处理音频路数的增加延时会线性增加,非常不利于系统的扩展和升级。并且,音频效果对延时非常敏感,几个毫秒的延时增加在用户体验上差别巨大。故而,通过从数据流从输入到输出整个流程的角度进行并行调度处理,在各个数据处理器之间进行调度,可使音频流的处理流程串行化,零等待,延时最小,提高音频播放效果。
传统的多处理器架构和调度方法不会从数据流从输入到输出整个流程的角度进行并行调度处理,仅仅是从均衡各个处理器的负载和最大化的利用各个处理器能力这个角度出发进行调度,调度的颗粒仅仅是处理器的时间片。这种方式对音频处理的单个算法是适用的,但是对每路音频处理流程来看达不到最佳效果。虽然每个处理步骤(每个算法)速度加快了,但是由于音频数据流处理流程被打乱,最后输入到输出的整个过程来看性能提升不多。
上述数据处理调度方法,通过从数据流的输入到输出整个流程出发,以数字信号处理器中的处理算法作为调度单元,在各个数字信号处理器之间进行调度,从所有处理路径中处理耗时最小的处理路径作为最优调度路径,使数据的处理流程串行化,减少延时,提高了数据处理效率。
应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,一种数据处理调度装置,适用于音频数据流的处理调度。如图3所示,该装置包括数据获取模块110、路径生成模块120、耗时计算模块130和路径优化模块140。
数据获取模块110用于获取待处理数据的处理流程以及各数字信号处理器的算法单元信息。
待处理数据的类型并不唯一,可以是音频数据或视频数据等,待处理数据可以是一路也可以是多路。数字信号处理器中的算法单元可以是包括自动增益控制算法单元、自动回声抑制算法单元、自动反馈控制算法单元、自动噪声抑制算法单元和自动混音处理算法单元中的至少一种。
路径生成模块120用于根据处理流程和算法单元信息,对各数字信号处理器中的算法单元进行调度,生成待处理数据的处理路径。
其中,算法单元信息包括数字信号处理器中各算法单元的计算时延、输入数据和输出数据。在其中一个实施例中,路径生成模块120根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序调用数字信号处理器中的算法单元,生成符合待处理数据的处理流程的处理路径。
进一步地,待处理数据的数量为两个或两个以上,路径生成模块120根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合待处理数据的处理流程的处理路径。
耗时计算模块130用于根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时。
具体地,在一个实施例中,如图4所示,耗时计算模块130包括算法处理延时计算单元132、数据搬运时长计算单元134和处理路径总耗时计算单元136。
算法处理延时计算单元132用于根据处理路径中算法单元的计算时延,计算得到处理路径的算法处理总延时。
数据搬运时长计算单元134用于根据处理路径中数字信号处理器的转换次数和预设的数据搬运时间,计算得到处理路径的数据搬运总时长。
处理路径总耗时计算单元136用于将算法处理总延时和数据搬运总时长之和作为处理路径的处理耗时。
可以理解,在其他实施例中,也可以是针对每一条处理路径中的每相邻两个处理算法计算延时消耗,最后将所有的延时消耗相加同样可得到处理路径的处理耗时。
路径优化模块140用于将处理耗时最小的处理路径作为待处理数据的最优调度路径。调度策略最后的判断票准是处理耗时最小为最优调度,即将所有处理路径中处理耗时最小的路径作为待处理数据的最优调度路径。
关于数据处理调度装置的具体限定可以参见上文中对于数据处理调度方法的限定,在此不再赘述。上述数据处理调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述数据处理调度装置,通过从数据流的输入到输出整个流程出发,以数字信号处理器中的处理算法作为调度单元,在各个数字信号处理器之间进行调度,从所有处理路径中处理耗时最小的处理路径作为最优调度路径,使数据的处理流程串行化,减少延时,提高了数据处理效率。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理调度方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;根据处理流程和算法单元信息,对各数字信号处理器中的算法单元进行调度,生成待处理数据的处理路径;根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为待处理数据的最优调度路径。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序调用数字信号处理器中的算法单元,生成符合待处理数据的处理流程的处理路径。
在一个实施例中,待处理数据的数量为两个或两个以上,处理器执行计算机程序时还实现以下步骤:根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合待处理数据的处理流程的处理路径。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据处理路径中算法单元的计算时延,计算得到处理路径的算法处理总延时;根据处理路径中数字信号处理器的转换次数和预设的数据搬运时间,计算得到处理路径的数据搬运总时长;将算法处理总延时和数据搬运总时长之和作为处理路径的处理耗时。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;根据处理流程和算法单元信息,对各数字信号处理器中的算法单元进行调度,生成待处理数据的处理路径;根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为待处理数据的最优调度路径。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序调用数字信号处理器中的算法单元,生成符合待处理数据的处理流程的处理路径。
在一个实施例中,待处理数据的数量为两个或两个以上,计算机程序被处理器执行时还实现以下步骤:根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合待处理数据的处理流程的处理路径。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据处理路径中算法单元的计算时延,计算得到处理路径的算法处理总延时;根据处理路径中数字信号处理器的转换次数和预设的数据搬运时间,计算得到处理路径的数据搬运总时长;将算法处理总延时和数据搬运总时长之和作为处理路径的处理耗时。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
上述计算机设备和计算机可读存储介质,通过从数据流的输入到输出整个流程出发,以数字信号处理器中的处理算法作为调度单元,在各个数字信号处理器之间进行调度,从所有处理路径中处理耗时最小的处理路径作为最优调度路径,使数据的处理流程串行化,减少延时,提高了数据处理效率。
在一个实施例中,还提供了一种数据处理系统,适用于音频数据流的处理,如图6所示,该系统包括控制装置210和两个或两个以上的数字信号处理器220,数字信号处理器220用于接收待处理数据,且各数字信号处理器220均连接控制装置210。控制装置210用于获取待处理数据的处理流程以及各数字信号处理器220的算法单元信息;根据处理流程和算法单元信息,对各数字信号处理器220中的算法单元进行调度,生成待处理数据的处理路径;根据算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为待处理数据的最优调度路径;根据最优调度路径调用数字信号处理器220中的算法单元对待处理数据进行数据处理后输出。
具体地,数字信号处理器220中的部分或者全部用于接收待处理数据,且数字信号处理器220接收的待处理数据可以是一路或者多路数据流。控制装置210生成待处理数据的最优调度路径的具体方式在上述数据处理调度方法中进行了详细的解释说明,在此不再赘述。控制装置210在得到所有待处理数据的最优调度路径之后,根据最优调度路径调用各数字信号处理器220中的算法单元对对应的待处理数据进行数据处理后输出。
控制装置210的具体结构并不唯一,在一个实施例中,如图7所示,控制装置210包括控制器212和存储器214。控制器212连接数字信号处理器220和存储器214。具体地,以音频数据处理为例,部分数字信号处理器220均接入两路音频输入,每个数字信号处理器220都可以完成多个音频处理步骤(算法),控制器212具体可采用FPGA,控制器212提供了数据全交换功能,为调度方法提供了实现基础,也是调度方法的核心部件。存储器214存储有用于控制器212执行以实现数据处理调度方法步骤的计算机程序。
控制器212在生成每一路音频数据的最优调度路径之后,按照最优调度路径输出控制数据流,从而控制音频数据流在数字信号处理器220之间转移,利用数字信号处理器220中的算法单元依次对音频数据流进行处理,最终将处理后的多路音频数据输出,实现由音频数据流从输入到输出整个流程的调度和数据处理。
上述数据处理系统,通过从数据流的输入到输出整个流程出发,以数字信号处理器中的处理算法作为调度单元,在各个数字信号处理器之间进行调度,从所有处理路径中处理耗时最小的处理路径作为最优调度路径,使数据的处理流程串行化,减少延时,提高了数据处理效率。上述数据处理系统用于进行音频数据处理时,利于和使用者进行交流,轻松实现使用的音频处理拓扑设计,易于扩展和升级,突破了产品对处理音频路数的限制。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种数据处理调度方法,其特征在于,所述方法包括:
获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;待处理数据的处理流程包括待处理数据需要进行的信号处理以及处理顺序;
根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;
根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;
将处理耗时最小的处理路径作为所述待处理数据的最优调度路径;
所述待处理数据的数量为两个或两个以上,所述根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径,包括:根据算法单元的输入数据和输出数据,按照所述处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合所述待处理数据的处理流程的处理路径。
2.根据权利要求1所述的方法,其特征在于,所述算法单元信息包括数字信号处理器中各算法单元的计算时延、输入数据和输出数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时,包括:
根据处理路径中算法单元的计算时延,计算得到所述处理路径的算法处理总延时;
根据处理路径中数字信号处理器的转换次数和预设的数据搬运时间,计算得到所述处理路径的数据搬运总时长;
将所述算法处理总延时和所述数据搬运总时长之和作为所述处理路径的处理耗时。
4.根据权利要求1所述的方法,其特征在于,所述待处理数据为音频数据,所述数字信号处理器中的算法单元包括自动增益控制算法单元、自动回声抑制算法单元、自动反馈控制算法单元、自动噪声抑制算法单元和自动混音处理算法单元中的至少一种。
5.一种数据处理调度装置,其特征在于,所述装置包括:
数据获取模块,用于获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;待处理数据的处理流程包括待处理数据需要进行的信号处理以及处理顺序;
路径生成模块,用于根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;
耗时计算模块,用于根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;
路径优化模块,用于将处理耗时最小的处理路径作为所述待处理数据的最优调度路径;
待处理数据的数量为两个或两个以上,所述路径生成模块根据算法单元的输入数据和输出数据,按照处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合待处理数据的处理流程的处理路径。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
8.一种数据处理系统,其特征在于,包括控制装置和两个或两个以上的数字信号处理器,所述数字信号处理器用于接收待处理数据,且各所述数字信号处理器均连接所述控制装置,
所述控制装置用于获取待处理数据的处理流程以及各数字信号处理器的算法单元信息;根据所述处理流程和所述算法单元信息,对各数字信号处理器中的算法单元进行调度,生成所述待处理数据的处理路径;根据所述算法单元信息和预设的数据搬运时间,分别计算各处理路径的处理耗时;将处理耗时最小的处理路径作为所述待处理数据的最优调度路径;根据所述最优调度路径调用数字信号处理器中的算法单元对所述待处理数据进行数据处理后输出;待处理数据的处理流程包括待处理数据需要进行的信号处理以及处理顺序;
所述待处理数据的数量为两个或两个以上,所述控制装置根据算法单元的输入数据和输出数据,按照所述处理流程中处理算法的顺序将不同待处理数据的同一算法分布到不同的数字信号处理器中对应的算法单元,生成符合所述待处理数据的处理流程的处理路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810758913.8A CN108874548B (zh) | 2018-07-11 | 2018-07-11 | 数据处理调度方法、装置、计算机设备和数据处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810758913.8A CN108874548B (zh) | 2018-07-11 | 2018-07-11 | 数据处理调度方法、装置、计算机设备和数据处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874548A CN108874548A (zh) | 2018-11-23 |
CN108874548B true CN108874548B (zh) | 2021-04-02 |
Family
ID=64301194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810758913.8A Active CN108874548B (zh) | 2018-07-11 | 2018-07-11 | 数据处理调度方法、装置、计算机设备和数据处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874548B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901425B (zh) * | 2020-07-28 | 2021-05-28 | 平安科技(深圳)有限公司 | 基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质 |
CN117687772B (zh) * | 2023-07-31 | 2024-09-20 | 荣耀终端有限公司 | 一种算法调度方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI457828B (zh) * | 2011-11-10 | 2014-10-21 | Nvidia Corp | 執行緒陣列粒化執行的優先權計算 |
CN105959346A (zh) * | 2016-04-19 | 2016-09-21 | 中国银联股份有限公司 | 基于服务器集群的数据处理系统及方法 |
CN107135078A (zh) * | 2017-06-05 | 2017-09-05 | 浙江大学 | Pbkdf2密码算法加速方法及所用装置 |
CN108153852A (zh) * | 2017-12-22 | 2018-06-12 | 中国平安人寿保险股份有限公司 | 一种数据处理方法、装置、终端设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007034684A1 (de) * | 2007-07-25 | 2009-01-29 | Siemens Ag | Verfahren zum Betrieb eines Multiprozessorsystems, insbesondere im Zusammenhang mit einem medizinischen bildgebenden System |
CN102779075B (zh) * | 2012-06-28 | 2014-12-24 | 华为技术有限公司 | 一种在多处理器核系统中进行调度的方法、装置及系统 |
CN103942109B (zh) * | 2014-05-04 | 2017-02-15 | 江苏物联网研究发展中心 | 基于多核dsp的自适应任务调度方法 |
JP6743568B2 (ja) * | 2016-08-09 | 2020-08-19 | 富士通株式会社 | 制御装置、情報処理システム、プログラム及び情報処理方法 |
CN107870813A (zh) * | 2016-09-22 | 2018-04-03 | 中兴通讯股份有限公司 | 一种分布式算法处理数据的方法及装置 |
CN108268319A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团河北有限公司 | 任务调度方法、装置及系统 |
-
2018
- 2018-07-11 CN CN201810758913.8A patent/CN108874548B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI457828B (zh) * | 2011-11-10 | 2014-10-21 | Nvidia Corp | 執行緒陣列粒化執行的優先權計算 |
CN105959346A (zh) * | 2016-04-19 | 2016-09-21 | 中国银联股份有限公司 | 基于服务器集群的数据处理系统及方法 |
CN107135078A (zh) * | 2017-06-05 | 2017-09-05 | 浙江大学 | Pbkdf2密码算法加速方法及所用装置 |
CN108153852A (zh) * | 2017-12-22 | 2018-06-12 | 中国平安人寿保险股份有限公司 | 一种数据处理方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108874548A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3407203B1 (en) | Statically schedulable feed and drain structure for systolic array architecture | |
US10783436B2 (en) | Deep learning application distribution | |
CN106919449B (zh) | 一种计算任务的调度控制方法及电子设备 | |
JP2012181852A (ja) | タスク処理のスケジューリング方法及びこの方法を適用するための装置 | |
KR101400577B1 (ko) | Gpu를 이용한 희소행렬 곱셈 방법 | |
CN110717574A (zh) | 一种神经网络运行方法、装置及异构智能芯片 | |
CN108874548B (zh) | 数据处理调度方法、装置、计算机设备和数据处理系统 | |
CN110209472B (zh) | 任务数据处理方法和板卡 | |
CN113282381A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN111443999A (zh) | 数据并行处理方法、执行器、计算机设备和存储介质 | |
JP2008146503A5 (zh) | ||
CN116149810A (zh) | 任务调度装置及任务调度方法 | |
Tang et al. | Nanily: A qos-aware scheduling for dnn inference workload in clouds | |
US9760969B2 (en) | Graphic processing system and method thereof | |
Zeng et al. | Partition and scheduling of the mixed-criticality tasks based on probability | |
CN111026518B (zh) | 任务调度方法 | |
CN114528104A (zh) | 任务处理方法及装置 | |
Squillante et al. | Analysis of job arrival patterns and parallel scheduling performance | |
CN115775199B (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
Grigoras et al. | Elastic management of reconfigurable accelerators | |
CN113222136A (zh) | 卷积运算方法及芯片 | |
CN113220429B (zh) | Java线程池的任务处理方法、装置、设备和介质 | |
CN113742059A (zh) | 任务分配方法、装置、计算机设备和存储介质 | |
Shokripour et al. | A method for scheduling heterogeneous multi-installment systems | |
Karatza | Simulation study of multitasking in distributed server systems with variable workload |
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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 518000 R & D building 1601, block a, building 7, Vanke Cloud City Phase I, Xingke 1st Street, Xili community, Xili street, Nanshan District, Shenzhen City, Guangdong Province (16 / F, block a, building 1, international innovation Valley) Patentee after: SHENZHEN TENDZONE INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 518051 202-B, 2 floor, block C, office building, Hua Han Innovation Park, 16 Langshan Road, Nanshan District, Shenzhen, Guangdong. Patentee before: SHENZHEN TENDZONE INTELLIGENT TECHNOLOGY Co.,Ltd. |