一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信用调整电路及方法、任务调度电路及方法、电路和介质与流程

2022-08-13 23:02:04 来源:中国专利 TAG:


1.本公开的实施例涉及一种信用调整电路、任务调度电路、信用调整方法、任务调度方法、集成电路和非瞬时性计算机存储介质。


背景技术:

2.在多用户或多虚拟图形处理器(graphics processing unit,gpu)进行任务调度的场景中,可以采用信用(credit)调度方式进行任务调度执行。现有的credit调度方式主要是依靠软件给每个队列配置credit值,每个队列可以配置不同的credit值,然后某个队列调度出去一个任务后,该队列就减少相应的credit值,该credit值由该被调度出去的任务携带的信息决定,不同的任务对应的credit值可以不同,也可以相同。等调度出去的任务处理完成后,队列则加回对应的credit值,即credit回收。软件通过为每个队列配置credit初始值和为每个任务配置对应的credit值,从而限制队列的调度能力。


技术实现要素:

3.本公开至少一个实施例提供一种信用调整电路,用于对多个队列中的至少部分队列的信用进行调整,且包括:信用监测模块和信用调整模块,其中,每个队列被分配有至少一个信用;所述信用监测模块被配置为监测所述多个队列分别对应的多个信用申请请求;所述信用调整模块被配置为获取所述多个信用申请请求,基于所述多个信用申请请求,确定所述多个队列中的第一被选择队列和第二被选择队列,对所述第一被选择队列对应的信用和所述第二被选择队列对应的信用进行调整。
4.例如,在本公开至少一个实施例提供的信用调整电路中,每个队列对应的信用申请请求包括信用增加请求和信用减少请求,所述信用增加请求包括与所述队列对应的信用缺少数量、信用缺少次数和信用增加指示信号;所述信用减少请求包括与所述队列对应的信用冗余数量、信用冗余次数和信用减少指示信号。
5.例如,在本公开至少一个实施例提供的信用调整电路中,所述信用监测模块包括与每个队列对应的第一信用数量记录模块、第一计数模块和第一指示信号确定模块,针对每个队列:所述第一信用数量记录模块被配置为记录所述队列对应的信用缺少数量;所述第一计数模块被配置为记录所述队列对应的信用缺少次数;所述第一指示信号确定模块被配置为基于所述队列对应的信用缺少次数和与所述队列对应的缺少次数阈值,确定所述队列对应的信用增加指示信号。
6.例如,在本公开至少一个实施例提供的信用调整电路中,所述第一信用数量记录模块包括第一数量记录子模块,针对每个队列,当仲裁出所述队列中的一个任务时,所述第一数量记录子模块被配置为:响应于所述任务发生空调度,记录发生空调度的所述任务所需的信用的数量,并基于所述队列中的剩余的信用的数量和发生空调度的所述任务所需的信用的数量确定所述信用缺少数量;响应于所述队列中的任一任务被调度出去执行,将所述信用缺少数量清零。
7.例如,在本公开至少一个实施例提供的信用调整电路中,所述第一信用数量记录模块还包括第一缺失比较器,当仲裁出所述队列中的所述任务时,所述第一缺失比较器被配置为:比较所述任务所需的信用的数量和所述队列的剩余的信用的数量,响应于所述任务所需的信用的数量大于所述队列的剩余的信用的数量,确定所述任务发生一次空调度;响应于所述任务所需的信用的数量小于等于所述队列的剩余的信用的数量,确定所述任务能够被调度出去执行。
8.例如,在本公开至少一个实施例提供的信用调整电路中,所述第一计数模块包括缺失计数器,所述缺失计数器被配置为响应于监测到所述任务发生一次空调度,将所述队列对应的信用缺少次数加上第一值;响应于所述队列中的任一任务被调度出去执行,将所述队列对应的信用缺少次数清零。
9.例如,在本公开至少一个实施例提供的信用调整电路中,所述第一指示信号确定模块包括第二缺失比较器和第一信号确定子模块,所述第二缺失比较器被配置为:对所述队列对应的信用缺少次数和与所述队列对应的缺少次数阈值进行比较,以得到缺少次数比较结果;所述第一信号生成子模块被配置为:响应于所述缺少次数比较结果指示所述队列对应的信用缺少次数大于等于与所述队列对应的缺少次数阈值,确定所述队列对应的信用增加指示信号为第一增加信号;响应于所述缺少次数比较结果指示所述队列对应的信用缺少次数小于与所述队列对应的缺少次数阈值,确定所述队列对应的信用增加指示信号为第二增加信号。
10.例如,在本公开至少一个实施例提供的信用调整电路中,所述第一指示信号确定模块还包括第一存储器,所述第一存储器被配置为存储与所述队列对应的缺少次数阈值。
11.例如,在本公开至少一个实施例提供的信用调整电路中,所述信用监测模块包括与每个队列对应的第二信用数量记录模块、第二计数模块和第二指示信号确定模块,针对每个队列:所述第二信用数量记录模块被配置为记录所述队列对应的信用冗余数量;所述第二计数模块被配置为记录所述队列对应的信用冗余次数;所述第二指示信号确定模块被配置为基于所述队列对应的信用冗余次数和与所述队列对应的冗余次数阈值,确定所述队列对应的信用减少指示信号。
12.例如,在本公开至少一个实施例提供的信用调整电路中,所述第二信用数量记录模块包括第二数量记录子模块,针对每个队列,所述第二数量记录子模块被配置为:记录所述队列的剩余的信用的数量作为所述信用冗余数量。
13.例如,在本公开至少一个实施例提供的信用调整电路中,所述第二计数模块包括第一冗余比较器和冗余计数器,当所述队列中的一个任务被调度出去执行之后,所述第一冗余比较器被配置为比较所述队列的剩余的信用的数量和所述队列对应的冗余数量阈值,响应于所述队列的剩余的信用的数量大于等于所述队列对应的冗余数量阈值,确定数量比较结果为第一结果,响应于所述队列的剩余的信用的数量小于所述队列对应的冗余数量阈值,确定所述数量比较结果为第二结果;所述冗余计数器被配置为响应于所述数量比较结果为所述第一结果,将所述队列对应的信用冗余次数加上第二值。
14.例如,在本公开至少一个实施例提供的信用调整电路中,所述冗余计数器还被配置为响应于所述数量比较结果为所述第二结果,将所述队列对应的信用冗余次数清零。
15.例如,在本公开至少一个实施例提供的信用调整电路中,所述第二指示信号确定
模块包括第二冗余比较器和第二信号确定子模块,所述第二冗余比较器被配置为:对所述队列对应的信用冗余次数和与所述队列对应的冗余次数阈值进行比较,以得到冗余次数比较结果;所述第二信号生成子模块被配置为:响应于所述冗余次数比较结果指示所述队列对应的信用冗余次数大于等于与所述队列对应的冗余次数阈值,确定所述队列对应的信用减少指示信号为第一减少信号;响应于所述冗余次数比较结果指示所述队列对应的信用冗余次数小于与所述队列对应的冗余次数阈值,确定所述队列对应的信用减少指示信号为第二减少信号。
16.例如,在本公开至少一个实施例提供的信用调整电路中,所述第二指示信号确定模块还包括第二存储器,所述第二存储器被配置为存储与所述队列对应的冗余次数阈值。
17.例如,在本公开至少一个实施例提供的信用调整电路中,在所述多个队列中,所述第一被选择队列对应的信用缺少数量最大,且所述第一被选择队列对应的信用缺少次数最大,在所述多个队列中,所述第二被选择队列对应的信用冗余数量最大,且所述第二被选择队列对应的信用冗余次数最大。
18.例如,在本公开至少一个实施例提供的信用调整电路中,所述信用调整模块包括缺失次数仲裁模块、缺少数量仲裁模块和第一选择模块,其中,所述缺失次数仲裁模块被配置为基于所述多个信用申请请求,从所述多个队列中确定信用缺少次数最大的至少一个队列作为至少一个第一待调整队列;所述缺少数量仲裁模块被配置为基于所述多个信用申请请求,从所述至少一个第一待调整队列中确定信用缺少数量最大的至少一个队列作为至少一个第二待调整队列;所述第一选择模块被配置为从所述至少一个第二待调整队列中,确定所述第一被选择队列。
19.例如,在本公开至少一个实施例提供的信用调整电路中,所述第一选择模块被配置为按照所述至少一个第二待调整队列一一对应的至少一个队列号,从所述至少一个第二待调整队列中确定所述第一被选择队列。
20.例如,在本公开至少一个实施例提供的信用调整电路中,所述信用调整模块包括冗余次数仲裁模块、剩余数量仲裁模块和第二选择模块,其中,所述冗余次数仲裁模块被配置为基于所述多个信用申请请求,从所述多个队列中确定信用冗余次数最大的至少一个队列作为至少一个第三待调整队列;所述剩余数量仲裁模块被配置为基于所述多个信用申请请求,从所述至少一个第三待调整队列中确定信用冗余数量最大的至少一个队列作为至少一个第四待调整队列;所述第二选择模块被配置为从所述至少一个第四待调整队列中,确定所述第二被选择队列。
21.例如,在本公开至少一个实施例提供的信用调整电路中,所述第二选择模块被配置为按照所述至少一个第四待调整队列一一对应的至少一个队列号,从所述至少一个第四待调整队列中确定所述第二被选择队列。
22.例如,在本公开至少一个实施例提供的信用调整电路中,所述信用调整模块还包括第一调整模块,所述第一调整模块被配置为:确定所述第二被选择队列中的待调整信用;将所述待调整信用添加到所述第一被选择队列中。
23.例如,在本公开至少一个实施例提供的信用调整电路中,在执行确定所述第二被选择队列中的待调整信用的步骤时,所述第一调整模块被配置为:基于所述至少一个第三待调整队列一一对应的至少一个信用冗余数量,确定待调整数量;基于所述待调整数量和
数量调整系数,确定目标调整数量;基于所述目标调整数量,确定所述第二被选择队列中的所述待调整信用,其中,所述待调整信用的数量等于所述目标调整数量。
24.例如,在本公开至少一个实施例提供的信用调整电路中,所述信用调整模块包括第二调整模块,所述第二调整模块被配置为基于所述多个信用申请请求,确定至少一个请求增加信用队列和至少一个请求减少信用队列,其中,所述至少一个请求增加信用队列为需要增加信用的队列,所述至少一个请求减少信用队列为需要减少信用的队列,响应于所述至少一个请求增加信用队列的数量和所述至少一个请求减少信用队列的数量满足预设条件,对所述多个队列中的至少部分队列对应的缺少次数阈值、冗余次数阈值和冗余数量阈值中的至少一个进行调整。
25.本公开至少一个实施例还提供一种任务调度电路,包括:信用仲裁器,包括任务仲裁电路和本公开任一实施例提供的所述信用调整电路,且被配置为对所述多个队列进行仲裁以得到信用仲裁结果;时间轮仲裁器,被配置对存储在时间轮上的任务进行仲裁以得到时间轮仲裁结果;调度器,被配置为基于所述信用仲裁结果和所述时间轮仲裁结果,确定目标仲裁结果,将所述目标仲裁结果调度出去执行。
26.例如,在本公开至少一个实施例提供的任务调度电路中,所述信用调整电路被配置为对所述多个队列对应的信用进行动态调整,所述任务仲裁电路被配置为对所述多个队列中的所有任务进行仲裁以得到信用仲裁任务,其中,所述信用仲裁结果包括所述信用仲裁任务。
27.例如,在本公开至少一个实施例提供的任务调度电路中,所述调度器包括多路复选器和调度模块,所述多路复选器被配置为:响应于所述时间轮仲裁结果包括存储在所述时间轮上的一个任务,确定所述目标仲裁结果包括所述时间轮上的所述一个任务;响应于所述时间轮仲裁结果不包括任何任务且所述信用仲裁结果包括信用仲裁任务,确定所述目标仲裁结果包括所述信用仲裁任务;所述调度模块被配置为将所述目标仲裁结果调度出去执行。
28.本公开至少一个实施例还提供一种信用调整方法,应用于本公开任一实施例提供的所述信用调整电路,其中,所述信用调整方法包括:监测所述多个队列分别对应的所述多个信用申请请求;基于所述多个信用申请请求,确定所述多个队列中的所述第一被选择队列和所述第二被选择队列;对所述第一被选择队列对应的信用和所述第二被选择队列对应的信用进行调整。
29.本公开至少一个实施例还提供一种任务调度方法,应用于本公开任一实施例提供的所述任务调度电路,其中,所述任务调度方法包括:对所述多个队列进行仲裁以得到所述信用仲裁结果;对存储在所述时间轮上的任务进行仲裁以得到所述时间轮仲裁结果;基于所述信用仲裁结果和所述时间轮仲裁结果,确定所述目标仲裁结果;将所述目标仲裁结果调度出去执行。
30.例如,在本公开至少一个实施例提供的任务调度方法中,基于所述信用仲裁结果和所述时间轮仲裁结果,确定所述目标仲裁结果,包括:响应于所述时间轮仲裁结果包括存储在所述时间轮上的一个任务,确定所述目标仲裁结果包括所述时间轮上的所述一个任务;响应于所述时间轮仲裁结果不包括任何任务且所述信用仲裁结果包括信用仲裁任务,确定所述目标仲裁结果包括所述信用仲裁任务。
31.本公开至少一个实施例还提供一种集成电路,包括根据本公开任一实施例提供的所述信用调整电路。
32.本公开至少一个实施例还提供一种非瞬时性计算机存储介质,用于存储计算机可执行指令,其中,当所述计算机可执行指令被计算机执行时,使得所述计算机执行根据本公开任一实施例提供的所述信用调整方法或执行根据权本公开任一实施例提供的所述任务调度方法。
附图说明
33.为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
34.图1a为本公开至少一个实施例提供的一种信用调整电路的示意性框图;
35.图1b为本公开至少一个实施例提供的一种信用调整电路的示意性结构图;
36.图2为本公开至少一个实施例提供的一种多个队列的示意图;
37.图3为本公开至少一个实施例提供的一种信用监测模块的结构示意图;
38.图4为本公开至少一个实施例提供的一种信用调整模块的结构示意图;
39.图5为本公开至少一个实施例提供的一种任务调度电路的示意性框图;
40.图6为本公开至少一个实施例提供的一种任务调度电路的示意性结构图;
41.图7为本公开至少一个实施例提供的一种信用调整方法的示意性流程图;
42.图8为本公开至少一个实施例提供的一种任务调度方法的示意性流程图;
43.图9为本公开至少一个实施例提供的一种集成电路的示意性框图;
44.图10为本公开至少一个实施例提供的一种非瞬时性计算机存储介质的示意图。
具体实施方式
45.为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
46.除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
47.为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
48.当前的credit调度方式存在的问题是当各个队列的信用配置不合理时,则经常会
导致某个队列由于缺少信用而无法调度任务,即出现空调度(即由于队列的剩余信用小于任务所需的信用而无法调度任务),或者某个队列的信用一直有剩余,从而造成信用浪费。
49.在系统调度层面看,能够配置给所有队列的信用的总数值是一个限定的以及确定的数值,该总数值基于硬件(内存等)等因素确定。然后,由软件确定如何分配信用到各个队列中。对于不同的队列,可能对应调度的是不同硬件处理器的任务,如果软件为各个队列分配的信用不合理,就容易导致某些队列经常得不到调度而导致空调度,这样造成效率损失,或者某些队列的信用一直存在剩余,没有起到合理分配信用的效果。
50.本公开至少一个实施例提供一种信用调整电路,该信用调整电路用于对多个队列中的至少部分队列的信用进行调整,且包括:信用监测模块和信用调整模块。每个队列被分配有至少一个信用;信用监测模块被配置为监测多个队列分别对应的多个信用申请请求;信用调整模块被配置为获取多个信用申请请求,基于多个信用申请请求,确定多个队列中的第一被选择队列和第二被选择队列,对第一被选择队列对应的信用和第二被选择队列对应的信用进行调整。
51.在本公开的实施例提供的信用调整电路中,通过监测多个队列对应的多个信用申请请求,并基于该多个信用申请请求实现动态调整不同队列之间的信用,从而综合达到减少空调度次数以及充分利用剩余的信用的目的,提升调度效率,实现高效的任务调度,提高任务的处理速度,从而提升用户体验。
52.本公开至少一个实施例还提供一种信用调整方法、任务调度电路、任务调度方法、集成电路和非瞬时性计算机存储介质。
53.下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
54.图1a为本公开至少一个实施例提供的一种信用调整电路的示意性框图,图1b为本公开至少一个实施例提供的一种信用调整电路的示意性结构图。
55.如图1a和图1b所示,信用调整电路100用于对多个队列101中的至少部分队列的信用进行调整,且可以包括信用监测模块102和信用调整模块103。如图1b所示,多个队列101与信用监测模块102和信用调整模块103均连接,信用监测模块102与信用调整模块103也连接,以实现信息传输。
56.需要说明的是,在一些实施例中,信用调整电路100也可以包括多个队列101。
57.例如,信用调整电路100可以为集成电路中的一个电路模块。在集成电路的具体电路设计过程中,集成电路可能切分成几十、上百个模块分别进行设计。例如,各个模块可以根据模块功能、位置关系进行划分,每个模块可以实现特定的功能,各个模块之间通过端口(例如,输入端口(input port)和输出端口(output port))进行数据交互。
58.在本公开的实施例中,信用调整电路100主要基于硬件电路实现而不采用或较少部分采用软件实现,从而可以减少软件的工作量(workload),不需要软件去计算并调整每个队列的信用的数量。例如,在一些实施例中,信用调整电路可以完全基于硬件电路实现而不采用软件实现,从而可以不占用软件资源。
59.例如,每个队列101被分配有至少一个信用。信用监测模块102可以被配置为监测多个队列分别对应的多个信用申请请求。信用调整模块103被配置为获取多个信用申请请求,基于多个信用申请请求,确定多个队列中的第一被选择队列和第二被选择队列,对第一
被选择队列对应的信用和第二被选择队列对应的信用进行调整。例如,多个队列101中的至少部分队列包括第一被选择队列和第二被选择队列。
60.在本公开的实施例提供的信用调整电路100中,信用监测模块102可以监测哪些队列一直发生空调度,哪些队列的信用一直有富余,然后,信用调整模块103可以实现将具有富余信用的队列的信用动态分配给一直发生空调度的队列,从而该信用调整电路100可以综合达到减少空调度次数以及充分利用剩余信用的目的。
61.例如,对于多个虚拟机,在一段时间内,某些虚拟机上需要执行的任务可能非常多,而另外一些虚拟机上需要执行的任务比较少,本公开的实施例提供的信用调整电路100能够对多个队列的信用进行动态调整,从而使得任务多的虚拟机上的任务对应的队列能有效利用硬件资源而得到调度,而又不影响任务较少的队列的调度。
62.例如,每个队列101可以实现为一个存储空间,例如,存储空间可以为内存条、缓冲器(buffer)等可以缓存数据的器件。
63.图2为本公开至少一个实施例提供的一种多个队列的示意图。
64.例如,多个队列101的数量可以根据实际情况设置,本公开对此不作限制。如图2所示,在一些实施例中,多个队列102的数量为16,即多个队列101分别为队列q0、队列q1、

、队列q14和队列q15。
65.例如,每个队列101对应一个队列号,例如,多个队列101的队列号可以顺序编号,队列q0的队列号可以为0,队列q1的队列号可以为1,依次类推,队列q14的队列号可以为14,队列q15的队列号可以为15。需要说明的是,队列的队列号可以根据实际情况设置,本公开对此不作具体限制。
66.例如,每个队列101可以存储的任务的数量也可以根据实际情况设置,本公开对此不作限制。例如,在一些实施例中,多个队列101分别对应的多个任务数量可以相同,例如,如图2所示,每个队列101可以存储128个任务t0~t127;在另一些实施例中,多个队列101分别对应的多个任务数量中的至少部分可以不同。需要说明的是,队列对应的任务数量表示该队列存储的任务的数量。
67.例如,在一些实施例中,任务可以包括加法操作、减法操作、取值操作、写操作和读操作等不同类型的任务。每个队列101中的多个任务的类型可以相同,也可以不同。
68.例如,每个队列101可以由软件配置至少一个信用,例如,多个队列101分别对应的多个初始信用数量可以相同,也可以至少部分不相同。队列的初始信用数量表示在初始状态软件为该队列配置的信用的数量。例如,在一些实施例中,可以为每个队列分配512个信用。
69.例如,当队列中的任务被调度执行,则队列中的信用的数量会对应的产生变化。根据任务复杂程度,可以为每个任务分配不同的信用,每当执行队列中的一个任务时,会消耗该任务对应的信用,当执行完该任务之后,所消耗的信用会加入到该队列对应的信用中。例如,如图2所示,在初始状态,为队列q0分配有512个信用,在队列q0中,根据任务的复杂程度,可以为每个任务分配1~20个信用,例如,可以为队列q0中的任务t0分配5个信用,可以为队列q0中的任务t1分配10个信用,依次类推。例如,当执行队列q0中的任务t0时,需要消耗5个信用,当执行队列q0中的任务t1时,需要消耗了10个信用,那么当队列q0中的任务t0和任务t1均被调度出去执行之后,队列q0对应的信用的数量变为497(512-5-10);当队列q0
中的任务t0执行完成之后,该队列q0中的任务t0所占用的信用会被释放,即队列q0中的任务t0对应的5个信用会被加回到队列q0中,此时,若队列q0中没有其他任务被调度出去执行,则队列q0对应的信用的数量变为502(497 5)。
70.需要说明的是,每个任务对应的信用的数量根据任务的类型、复杂程度等因素决定,本公开的实施例对此不作具体限制。
71.例如,每个队列对应的信用申请请求可以包括信用增加请求和信用减少请求,信用增加请求包括与队列对应的信用缺少数量、信用缺少次数和信用增加指示信号,信用减少请求包括与队列对应的信用冗余数量、信用冗余次数和信用减少指示信号。也就是说,信用增加请求可以用于指示队列的信用不足信息,信用减少请求可以用于指示队列的信用剩余信息。
72.需要理解的是,对于某个队列,信用缺少数量和信用缺少次数可以为0,也就是说,该队列不存在信用不足(即缺少信用)的情况;类似地,信用冗余数量和信用冗余次数也可以为0,也就是说,该队列不存在信用冗余(即信用有冗余)的情况。
73.例如,信用缺少数量用于指示队列中发生空调度的任务被调度时所缺少的信用的数量,信用缺少数量可以为队列中发生空调度的任务所需的信用的数量和在该任务发生空调度时该队列对应的剩余的信用的数量的差值。
74.例如,信用缺少次数用于指示队列连续发生空调度的次数,例如,队列中的某个任务连续发生空调度的次数。
75.例如,信用增加指示信号用于指示该队列对应的信用是否需要被动态调整以使得该队列对应的信用的数量增加。
76.例如,空调度表示对于由仲裁器仲裁出的队列中某个任务,由于该队列所剩信用不足引起的该任务没有被调度出去执行的情况。
77.例如,信用冗余数量用于指示在当前时刻该队列的剩余的信用的数量。信用冗余次数用于指示队列对应的剩余的信用的数量大于冗余数量阈值的连续次数。信用减少指示信号用于指示该队列对应的信用是否需要被动态调整以使得该队列对应的信用的数量减少。
78.例如,每当队列中的一个任务被调度出去执行,则对队列对应的剩余的信用的数量和冗余数量阈值进行一次比较,当队列对应的剩余的信用的数量大于冗余数量阈值,则确定信用冗余次数加1,当连续的多次比较对应的多个结果均为队列对应的剩余的信用的数量大于等于冗余数量阈值。该多次比较的数量即为连续次数,而当某次比较的结果为队列对应的剩余的信用的数量小于冗余数量阈值,则信用冗余次数被清零。
79.例如,在一些实施例中,如图2所示,对于队列q1,当队列q1中的任务t0被调度出去执行之后,对队列q1对应的剩余的信用的数量(此时,该队列q1对应的剩余的信用表示队列q1对应的总信用中除去任务t0所需的信用之后所剩余的信用)和冗余数量阈值进行比较,若队列q1对应的剩余的信用的数量大于等于冗余数量阈值,则队列q1对应的信用冗余次数加1,此时,队列q1对应的信用冗余次数例如为1;当队列q1中的任务t1被调度出去执行之后,对队列q1对应的剩余的信用的数量(此时,该队列q1对应的剩余的信用表示队列q1对应的总信用中除去任务t0所需的信用和任务t1所需的信用之后所剩余的信用)和冗余数量阈值进行比较,若队列q1对应的剩余的信用的数量大于等于冗余数量阈值,则队列q1对应的
信用冗余次数再加1,此时队列q1对应的信用冗余次数例如为2,依次类推,当队列q1中的任务tn被调度出去执行,对队列q1对应的剩余的信用的数量(此时,该队列q1对应的剩余的信用表示队列q1对应的总信用中除去任务tn所需的信用以及任务t0~t(n-1)所需的信用(任务t0~t(n-1)为在执行任务tn之前被执行的所有任务)之后所剩余的信用)和冗余数量阈值进行比较,若队列q1对应的剩余的信用的数量大于等于冗余数量阈值,则队列q1对应的信用冗余次数再加1,此时队列q1对应的信用冗余次数例如为n 1,也就是说,队列q1中的任务t0~tn中的每一个任务被调度出去执行时,队列q1对应的剩余的信用的数量大于等于冗余数量阈值;当队列q1中的任务t(n 1)被调度出去执行,对队列q1对应的剩余的信用的数量(此时,该队列q1对应的剩余的信用表示队列q1对应的总信用中除去任务t(n 1)所需的信用以及任务t0~tn所需的信用之后所剩余的信用)和冗余数量阈值进行比较,若队列q1对应的剩余的信用的数量小于冗余数量阈值,则队列q1对应的信用冗余次数会被清零,此时队列q1对应的信用冗余次数为0。
80.需要说明的是,当前时刻可以表示信用监测模块102监测多个队列分别对应的多个信用申请请求的时刻。
81.例如,每个信用申请请求可以表示为数组的形式,数组中可以包括6个元素,分别表示信用缺少数量、信用缺少次数、信用增加指示信号、信用冗余数量、信用冗余次数和信用减少指示信号。例如,当队列的数量为16时,多个信用申请请求可以表示为6*16的矩阵形式。
82.需要说明的是,本公开对于信用申请请求的表现形式不作限制,可以为任何合适的形式,例如表格形式等。
83.图3为本公开至少一个实施例提供的一种信用监测模块的结构示意图。
84.在本公开的实施例中,信用监测模块102用于记录哪些队列经常因为信用不足而得不到调度,哪些队列经常有信用剩余而导致信用浪费。
85.例如,在一些实施例中,信用监测模块102可以包括与每个队列对应的第一信用数量记录模块、第一计数模块和第一指示信号确定模块。例如,图3仅仅示出了队列q0、队列qn和队列q15,且仅示出了队列q0对应的第一信用数量记录模块、第一计数模块和第一指示信号确定模块,然而,应该理解的是,每个队列都对应有一个第一信用数量记录模块、一个第一计数模块和一个第一指示信号确定模块。下面以队列q0对应的第一信用数量记录模块、第一计数模块和第一指示信号确定模块为例进行描述,在不矛盾的情况下,下面对于队列q0的描述适用于所有队列。
86.例如,如图3所示,针对每个队列(例如,队列q0),信用监测模块102可以包括与队列q0对应的第一信用数量记录模块1021、第一计数模块1022和第一指示信号确定模块1023。
87.例如,第一信用数量记录模块1021被配置为记录队列q0对应的信用缺少数量,第一计数模块1022被配置为记录队列q0对应的信用缺少次数,第一指示信号确定模块1023被配置为基于队列q0对应的信用缺少次数和与队列q0对应的缺少次数阈值,确定队列q0对应的信用增加指示信号。
88.例如,如图3所示,第一信用数量记录模块1021包括第一数量记录子模块1021b。例如,针对每个队列(例如,队列q0),当仲裁出队列q0中的一个任务(例如,图2所示的任务t0)
时,第一数量记录子模块1021b被配置为:响应于队列中的一个任务发生空调度,记录发生空调度的任务所需的信用的数量,并基于队列中的剩余的信用的数量和发生空调度的任务所需的信用的数量确定信用缺少数量;响应于队列中的任一任务被调度出去执行,将信用缺少数量清零。需要说明的是,该任一任务可以为上述发生空调度的任务。
89.例如,第一数量记录子模块1021b可以实现为计数器等元件,该计数器用于计数信用缺少数量。每当队列中的任务发生一次空调度,则基于信用缺少次数确定发生空调度的任务是否是第一次发生空调度,若在基于信用缺少次数指示的一次或多次空调度中,该任务是第一次发生空调度,则计数器基于该任务所在的队列对应的剩余的信用和执行该任务时所需的信用进行计数以确定信用缺少数量,信用缺少数量为执行该任务时所需的信用与该任务所在的队列对应的剩余的信用之差的绝对值;若在基于信用缺少次数指示的一次或多次空调度中,该任务不是第一次发生空调度,则该计数器的计数值不变,即信用缺少数量不变。每当该队列中的任一任务被调度出去执行,则将该计数器的计数值清零,即使得信用缺少数量为0。
90.例如,在一些实施例中,第一信用数量记录模块1021还包括第一缺失比较器1021a。针对每个队列(例如,队列q0),当仲裁出队列q0中的一个任务(例如,图2所示的任务t0)时,第一缺失比较器1021a被配置为比较该任务所需的信用的数量和队列的剩余的信用的数量,响应于任务所需的信用的数量大于队列的剩余的信用的数量,确定该任务发生一次空调度,响应于任务所需的信用的数量小于等于队列的剩余的信用的数量,确定任务能够被调度出去执行。
91.例如,当队列q0中的某一个任务t0被仲裁出来执行时,若队列q0对应的剩余的信用不足以用于执行该任务t0,即该队列q0对应的剩余的信用的数量小于执行该任务t0时所需的信用的数量,此时,可以通过第一缺失比较器1021a对该队列q0对应的剩余的信用的数量和执行该任务t0时所需的信用的数量进行比较,当该比较的结果指示该队列q0对应的剩余的信用的数量小于执行任务t0时所需的信用的数量时,确定任务t0发生一次空调度;而当该比较的结果指示该队列q0对应的剩余的信用的数量大于等于执行任务t0时所需的信用的数量时,此时,该任务t0可以被调度出去执行。
92.例如,第一缺失比较器1021a可以实现为任何可以实现比较的元件,例如,可以为基于硬件实现的比较器。
93.例如,当队列q0要执行任务t50时,需要使用10个信用,即执行任务t50时需要使用10个信用,此时,队列q0对应的剩余的信用的数量为5,由此可知,此时无法执行任务t50。此时,第一缺失比较器1021a对队列q0对应的剩余的信用的数量(即5)和任务t50时需要使用的信用的数量(即10)进行比较,由于队列q0对应的剩余的信用的数量(即5)小于任务t50时需要使用的信用的数量(即10),则确定队列q0发生一次空调度。
94.例如,在一些实施例中,在任务所需的信用的数量大于队列的剩余的信用的数量时,第一缺失比较器1021a可以发送第一触发信号至第一数量记录子模块1021b,在任务所需的信用的数量小于等于队列的剩余的信用的数量时,第一缺失比较器1021a可以发送第二触发信号至第一数量记录子模块1021b;当第一数量记录子模块1021b在接收到第一触发信号时,第一数量记录子模块1021b基于队列中的剩余的信用的数量和发生空调度的任务所需的信用的数量确定信用缺少数量;当第一数量记录子模块1021b在接收到第二触发信
号时,第一数量记录子模块1021b将信用缺少数量清零。第一触发信号和第二触发信号可以为二进制数,例如,第一触发信号可以为二进制数1,第二触发信号可以为二进制数0。
95.例如,第一计数模块1022可以包括缺失计数器,缺失计数器的计数值为信用缺少次数。例如,缺失计数器可以实现为任何可以实现计数的元件,例如可以为基于硬件实现的计数器,例如,加法计数器、减法计数器或可逆计数器等。
96.例如,在一些实施例中,缺失计数器被配置为响应于监测到队列中的一个任务发生一次空调度,将队列对应的信用缺少次数加上第一值。例如,第一值可以为1。需要说明的是,第一值也可以为2等值,具体可以根据实际情况设置。
97.例如,每当任务发生一次空调度,则第一缺失比较器1021a可以输出第一触发信号至第一计数模块1022中的缺失计数器,当接收到第一触发信号后,缺失计数器可以开始计数,例如,每次发生空调度的时候,该缺失计数器的计数加1,即信用缺少次数credit miss加上1。
98.例如,在一些实施例中,缺失计数器还被配置为响应于队列中的任一任务被调度出去执行,将队列对应的信用缺少次数清零。
99.例如,每当队列中的一个任务(例如,也可以为上述发生空调度的任务)被调度出去执行,则第一缺失比较器1021a可以输出第二触发信号至第一计数模块1022中的缺失计数器,当接收到第二触发信号后,缺失计数器可以清零,即信用缺少次数credit miss被置为0。
100.综上所述,信用缺少次数和信用缺少数量可以同时被清零。
101.例如,如图3所示,在一些实施例中,第一指示信号确定模块1023包括第二缺失比较器1023a和第一信号确定子模块1023b。
102.例如,第二缺失比较器1023a被配置为:对队列对应的信用缺少次数和与队列对应的缺少次数阈值进行比较,以得到缺少次数比较结果。第一信号生成子模块1023b被配置为:响应于缺少次数比较结果指示队列对应的信用缺少次数大于等于与队列对应的缺少次数阈值,确定队列对应的信用增加指示信号为第一增加信号;响应于缺少次数比较结果指示队列对应的信用缺少次数小于与队列对应的缺少次数阈值,确定队列对应的信用增加指示信号为第二增加信号。
103.例如,如图3所示,在一些实施例中,第一指示信号确定模块1023还包括第一存储器1023c,第一存储器1023c被配置为存储与队列对应的缺少次数阈值。
104.例如,第一存储器1023c还可以存储上述第一值等。
105.例如,第一增加信号和第二增加信号不相同,在一些示例中,第一增加信号和第二增加信号均可以采用二进制数表示,且第一增加信号可以表示为二进制数1,第二增加信号可以表示为二进制数0。
106.例如,当信用增加指示信号为第一增加信号时,其指示信用调整模块103可以适当为该队列增加信用以实现任务调度;当信用增加指示信号为第二增加信号时,其指示该队列暂时不需要增加信用,从而信用调整模块103可以不用为该队列增加信用。
107.例如,第二缺失比较器1023a可以实现为任何可以实现比较的元件,例如,可以为基于硬件实现的比较器。
108.例如,缺少次数阈值可以由软件进行配置,且可以根据实际情况设置。
109.例如,第一数量记录子模块1021b输出的信用缺少数量、第一计数模块1022输出的信用缺少次数credit miss以及第一信号生成子模块1023b输出的信用增加指示信号add request共同构成了信用增加请求。
110.例如,对于某一个队列,例如图2所示的队列q0,在执行了队列q0中的多个任务后,队列q0对应的剩余的信用的数量为5,此时,当队列q0中的一个任务被仲裁以用于执行时,可能出现了缺失信用的情况,例如,执行队列q0中的任务t50需要10个信用,此时,由于队列q0对应的剩余的信用的数量小于执行队列q0中的任务t50需要的信用的数量,因此,任务t50发生空调度,例如,队列q0产生了6次连续空调度,即任务t50一共发生了6次空调度,且该6次空调度是连续发生的,即任意两次空调度之间不存在队列q0中的一个任务被调度出去执行的情况,此时,队列q0对应的信用缺少数量为执行任务t50所需的总信用减去队列q0对应的剩余的信用,即信用缺少数量=10-5=5,信用缺少次数为6次。
111.例如,若在队列发生空调度的过程中,随着队列中的被调度出去执行的任务处理完毕,则队列可以回收对应的信用,从而使得队列对应的剩余的信用的数量增加,如果队列对应的剩余的信用大于等于发生空调度的任务所需的信用,则该队列可以继续调度任务出去执行,并且根据一定的规则(例如,根据任务的先后顺序)进行任务调度,此时,可以将信用缺少数量和信用缺少次数均清零。
112.例如,在上述队列q0中,如果队列q0的任务t45被执行完成并返回了10个信用,则该队列q0对应的剩余的信用为15(5 10),此时,队列q0中的任务t50可以被调度出去执行,而当任务t50被调度出去执行之后,该队列q0对应的剩余的信用的数量为5,此时,队列q0对应的信用缺少数量和信用缺少次数均可以被清零,即信用缺少数量为0,信用缺少次数为0次。而对于队列q0中的任务t51,需要重新计算信用缺少数量和信用缺少次数。例如,执行队列q0中的任务t51需要15个信用,若任务t51被仲裁出来执行,由于队列q0对应的剩余的信用的数量(5)小于执行队列q0中的任务t51需要的信用的数量(15),因此,任务t51发生空调度,则信用缺少数量为10,此时,若任务t51第一次发生空调度,则信用缺少次数为1。
113.例如,在一些实施例中,信用监测模块102还包括与每个队列对应的第二信用数量记录模块、第二计数模块和第二指示信号确定模块。例如,图3仅示出了队列q0对应的第二信用数量记录模块、第二计数模块和第二指示信号确定模块。下面以队列q0对应的第二信用数量记录模块、第二计数模块和第二指示信号确定模块为例进行描述。
114.例如,如图3所示,针对每个队列(例如,队列q0),信用监测模块102还可以包括与队列q0对应的第二信用数量记录模块1024、第二计数模块1025和第二指示信号确定模块1026。
115.例如,第二信用数量记录模块1024被配置为记录队列对应的信用冗余数量。第二计数模块1025被配置为记录队列对应的信用冗余次数。第二指示信号确定模块1026被配置为基于队列对应的信用冗余次数和与队列对应的冗余次数阈值,确定队列对应的信用减少指示信号。
116.例如,第二信用数量记录模块1024可以包括第二数量记录子模块1024a。第二数量记录子模块1024a被配置为记录队列的剩余的信用的数量作为信用冗余数量。例如,第二数量记录子模块1024a也可以实现为计数器等元件,该计数器用于计数剩余的信用的数量。每当队列中的一个任务被调度出去执行之后,第二数量记录子模块1024a可以基于队列的剩
余的信用的数量更新该队列对应的剩余的信用的数量。
117.需要说明的是,例如,信用冗余数量也可以为队列的剩余的信用的数量与一个系数(该系数小于1且基于实际情况确定)的乘积;又例如,当队列的剩余的信用的数量大于队列对应的冗余数量阈值时,队列对应的信用冗余数量也可以被设置为该队列对应的冗余数量阈值。
118.例如,如图3所示,第二计数模块1025包括第一冗余比较器1025a和冗余计数器1025b。
119.例如,针对每个队列(例如,队列q0),当队列q0中的一个任务(例如,图2所示的任务t0)被调度出去执行之后,第二数量记录子模块1024a可以将记录的队列的剩余的信用的数量发送给第一冗余比较器1025a,第一冗余比较器1025a被配置为比较队列的剩余的信用的数量和队列对应的冗余数量阈值,响应于队列的剩余的信用的数量大于等于队列对应的冗余数量阈值,确定数量比较结果为第一结果,响应于队列的剩余的信用的数量小于队列对应的冗余数量阈值,确定数量比较结果为第二结果。
120.例如,冗余计数器1025b被配置为响应于数量比较结果为第一结果,将队列对应的信用冗余次数加上第二值。例如,第二值可以为1。需要说明的是,第二值也可以为2等值,具体可以根据实际情况设置。
121.例如,冗余计数器1025b还被配置为响应于数量比较结果为第二结果,将队列对应的信用冗余次数清零。
122.例如,冗余计数器1025b的计数值即为信用冗余次数。例如,冗余计数器1025b可以实现为任何可以实现计数的元件,例如可以为基于硬件实现的计数器,例如,加法计数器、减法计数器或可逆计数器等。
123.例如,每个队列对应一个第一冗余比较器1025a和一个冗余计数器1025b,同时,可以为每个队列设置一个冗余数量阈值,例如,冗余数量阈值可以为70、60、50等。例如,每次发生任务调度且任务被调度出去执行之后,第一冗余比较器1025a将队列对应的剩余的信用的数量和冗余数量阈值进行比较,如果队列对应的剩余的信用的数量大于等于冗余数量阈值,则触发冗余计数器1025b开始计数,例如,冗余计数器1025b的计数值(即信用冗余次数)加1;如果队列在执行某一次任务时,该队列对应的剩余的信用的数量已经小于冗余数量阈值,则冗余计数器1025b的计数值被清零,代表该队列已经没有大于冗余数量阈值的富余的信用了;当队列的一个或多个任务完成后,若队列对应的剩余的信用的数量大于等于冗余数量阈值,则触发冗余计数器1025b重新开始计数。因此,冗余计数器1025b的计数规则为:若剩余的信用的数量大于等于冗余数量阈值,则冗余计数器1025b的计数值在每次调度任务时会增加1;若剩余的信用的数量小于冗余数量阈值,则将冗余计数器1025b的计数值清零。
124.需要说明的是,在一些实施例中,当信用冗余次数被清零时,信用冗余数量也可以被清零,然而,本公开不限于此,当信用冗余次数被清零时,信用冗余数量也可以不被清零,而是等于队列的剩余的信用的数量。
125.例如,多个队列101分别对应的多个冗余数量阈值可以相同,也可以部分不相同。
126.例如,如图3所示,在一些实施例中,第二指示信号确定模块1026可以包括第二冗余比较器1026a和第二信号确定子模块1026b。
127.例如,第二冗余比较器1026a被配置为:对队列对应的信用冗余次数和与队列对应的冗余次数阈值进行比较,以得到冗余次数比较结果。第二信号生成子模块1026b被配置为:响应于冗余次数比较结果指示队列对应的信用冗余次数大于等于与队列对应的冗余次数阈值,确定队列对应的信用减少指示信号为第一减少信号;响应于冗余次数比较结果指示队列对应的信用冗余次数小于与队列对应的冗余次数阈值,确定队列对应的信用减少指示信号为第二减少信号。
128.例如,第二指示信号确定模块1026还包括第二存储器1026c,第二存储器1026c被配置为存储与队列对应的冗余次数阈值。
129.例如,第二存储器1026c还可以存储上述第二值等。
130.例如,第一减少信号和第二减少信号不相同,在一些示例中,第一减少信号和第二减少信号均可以采用二进制数表示,且第一减少信号可以表示为二进制数1,第二减少信号可以表示为二进制数0。
131.例如,当信用减少指示信号为第一减少信号时,其指示信用调整模块103可以适当为该队列减少信用;当信用减少指示信号为第二减少信号时,其指示该队列暂时不需要减少信用,从而信用调整模块103可以不用为该队列减少信用。
132.例如,第二冗余比较器1026a可以实现为任何可以实现比较的元件,例如,可以为基于硬件实现的比较器。
133.例如,第二冗余比较器1026a可以接收冗余计数器1025b传输的计数值(即信用冗余次数),并将信用冗余次数与冗余次数阈值进行比较,若信用冗余次数大于等于冗余次数阈值,则该队列对应的信用减少指示信号被设置为第一减少信号,若信用冗余次数小于冗余次数阈值,则该队列对应的信用减少指示信号被设置为第二减少信号。例如,在一些示例中,冗余计数器1025b的计数的信用冗余次数为10,即过去连续10次调度任务中,队列的信用冗余数量均超过冗余数量阈值,证明该队列的任务应该较轻,若此时冗余次数阈值也为10,则信用减少指示信号被置为第一减少信号,例如,1,当信用调整模块103接收到该第一减少信号时,其表示信用调整模块103可以适当减少该队列的信用。
134.例如,第二存储器1026c还可以存储队列对应的冗余数量阈值,第一冗余比较器1025a也可以从第二存储器1026c中获取该冗余数量阈值。
135.例如,冗余次数阈值和冗余数量阈值均可以由软件进行配置,且可以根据实际情况设置。
136.软件可以为缺少次数阈值和冗余次数阈值配置对应的系数,硬件会根据该系数以及该队列的总仲裁次数,得出具体的缺少次数阈值和冗余次数阈值。同理,冗余数量阈值也会根据硬件调度的情况进行计算调节。
137.例如,第二数量记录子模块1024a输出的信用冗余数量、冗余计数器1025b输出的信用冗余次数credit redundant以及第二信号确定子模块1026b输出的信用减少指示信号sub request共同构成了信用减少请求。
138.信用减少请求和信用增加请求一起作为队列的信用申请请求,即每个信用申请请求包括信用缺少数量、信用缺少次数credit miss、信用增加指示信号add request、信用冗余数量、信用冗余次数credit redundant以及信用减少指示信号sub request。当得到所有队列分别对应的信用申请请求之后,信用监测模块102会将所有队列分别对应的信用申请
请求一起传递到信用调整模块103中。
139.需要说明的是,只有当队列对应的信用增加指示信号add request为第一增加信号时,才可以为该队列增加信用;同理,只有当队列对应的信用减少指示信号sub request为第一减少信号时,才可以为该队列减少信用。也就是说,信用调整模块103只会对信用增加指示信号add request为第一增加信号和信用减少指示信号sub request为第一减少信号的队列调整信用;对于信用增加指示信号add request为第二增加信号和/或信用减少指示信号sub request为第二减少信号的队列,则不需要调整该队列的信用。
140.应当理解的是,对于任一队列,不存在信用增加指示信号add request为第一增加信号且队列对应的信用减少指示信号sub request为第一减少信号的情况;但是存在信用增加指示信号add request为第二增加信号且队列对应的信用减少指示信号sub request为第二减少信号的情况。
141.例如,第一信用数量记录模块1021、第一计数模块1022、第一指示信号确定模块1023、第二信用数量记录模块1024、第二计数模块1025、第二指示信号确定模块1026中的任意一个可以采用硬件、软件、固件或者它们的任意可行的组合实现。
142.例如,各个软件、硬件、固件之间的连接关系不受限制,可以根据实际需求而定。各个软件、硬件、固件的具体构成方式不受限制,可以由数字芯片构成,也可以由处理器与存储器结合的方式构成,或者以其他适用的方式构成。
143.将信用申请请求发送给信用调整模块103后,信用调整模块103可以实现将具有富余信用的队列的信用动态分配给信用不足的队列(例如,一直发生空调度的队列),从而本公开的实施例提供的信用调整电路100可以综合达到减少空调度次数以及充分利用剩余的信用的目的。
144.例如,在多个队列中,第一被选择队列对应的信用缺少数量最大,且第一被选择队列对应的信用缺少次数最大。在多个队列中,第二被选择队列对应的剩余的信用的数量最大,且第二被选择队列对应的信用冗余次数最大。例如,可以将第二被选择队列对应的部分信用添加到第一被选择队列中,从而本公开提供的信用调整电路可以将具有富余信用的队列的信用动态分配给信用不足(例如,发生空调度)的队列,实现动态调整不同队列的信用,达到减少空调度次数以及充分利用剩余的信用的目的,提升调度效率,实现高效的任务调度,提高任务的处理速度。
145.图4为本公开至少一个实施例提供的一种信用调整模块的结构示意图。
146.例如,在一些实施例中,如图4所示,信用调整模块103可以包括缺失次数仲裁模块1031、缺少数量仲裁模块1032和第一选择模块1033。
147.例如,信用调整模块103可以根据信用缺少次数最大以及信用缺少数量最大的原则进行判断,选择相应队列(即上述第一被选择队列)进行信用补偿,即为该队列增加信用。例如,缺失次数仲裁模块1031被配置为基于多个信用申请请求,从多个队列中确定信用缺少次数最大的至少一个队列作为至少一个第一待调整队列;缺少数量仲裁模块1032被配置为基于多个信用申请请求,从至少一个第一待调整队列中确定信用缺少数量最大的至少一个队列作为至少一个第二待调整队列;第一选择模块1033被配置为从至少一个第二待调整队列中,确定第一被选择队列。
148.例如,缺失次数仲裁模块1031的仲裁过程如下:首先,缺失次数仲裁模块1031基于
多个信用申请请求可以确定信用增加指示信号为第一增加信号的所有队列,例如,队列q1、队列q2、队列q3、队列q5和队列q10对应的信用增加指示信号均为第一增加信号,然后,缺失次数仲裁模块1031可以基于多个信用申请请求对队列q1、队列q2、队列q3、队列q5和队列q10中进行仲裁,以确定信用缺少次数最大的至少一个第一待调整队列,例如,在一些示例中,队列q1对应的信用缺少次数、队列q5对应的信用缺少次数和队列q10对应的信用缺少次数均为10次,队列q2对应的信用缺少次数为5次,队列q3对应的信用缺少次数为3次,则根据仲裁流程,仲裁出信用缺少次数最大的一个或多个队列,在上面的示例中,最大的信用缺少次数为10,从而队列q1、队列q5和队列q10被仲裁出来作为第一待调整队列。
149.例如,当第一待调整队列的数量为1,则缺少数量仲裁模块1032可以直接将该一个第一待调整队列作为第二待调整队列;当第一待调整队列的数量大于1时,即缺失次数仲裁模块1031仲裁出多个第一待调整队列时,多个第一待调整队列对应的信用缺少次数相同且为所有队列中最大的,则缺少数量仲裁模块1032可以基于多个信用申请请求对多个第一待调整队列进行仲裁,以确定信用缺少数量最大的至少一个队列作为至少一个第二待调整队列。例如,基于上面的示例,队列q1、队列q5和队列q10均为第一待调整队列,例如,若队列q1对应的信用缺少数量为20,队列q5对应的信用缺少数量为20,队列q10对应的信用缺少数量为10,此时,由于队列q1对应的信用缺少数量和队列q5对应的信用缺少数量均是最大的,队列q1和队列q5被仲裁出来作为第二待调整队列;又例如,若队列q1对应的信用缺少数量为20,队列q5对应的信用缺少数量为15,队列q10对应的信用缺少数量为10,此时,由于队列q1对应的信用缺少数量是最大的,队列q1被仲裁出来作为第二待调整队列。
150.例如,当第二待调整队列的数量为1,则第一选择模块1033可以直接将该一个第二待调整队列作为第一被选择队列;当第二待调整队列的数量大于1时,即缺少数量仲裁模块1032仲裁出多个第二待调整队列时,多个第二待调整队列对应的信用缺少次数相同且为所有队列中最大的,且多个第二待调整队列对应的信用缺少数量也相同且为所有第一待调整队列中最大的,此时,第一选择模块1033可以从多个第二待调整队列选择一个第二待调整队列作为第一被选择队列。例如,若经过缺少数量仲裁模块1032仲裁后,队列q1和队列q5都被仲裁出来作为第二待调整队列,此时,第一选择模块1033可以从队列q1和队列q5选择一个队列作为第一被选择队列。
151.例如,在一些实施例中,第一选择模块1033被配置为按照至少一个第二待调整队列一一对应的至少一个队列号,从至少一个第二待调整队列中确定第一被选择队列。
152.例如,当仲裁得到多个第二待调整队列时,第一选择模块1033可以按照队列号进行选择,例如,选择多个第二待调整队列中的队列号最小的第二待调整队列作为第一被选择队列。此时,当队列q1和队列q5均为第二待调整队列时,可以选择队列q1作为第一被选择队列。然而,本公开不限于此,选择多个第二待调整队列中的队列号最大的第二待调整队列作为第一被选择队列。
153.例如,第一选择模块1033也可以从多个第二待调整队列随机选择一个队列作为第一被选择队列,即选择得到的第一被选择队列的队列号是随机的。
154.例如,在一些实施例中,第一选择模块1033被配置为按照至少一个第二待调整队列一一对应的至少一个历史调整信息和至少一个第二待调整队列一一对应的至少一个队列号,从至少一个第二待调整队列中确定第一被选择队列。例如,第一选择模块1033可以基
于历史调整信息和队列号采用round-robin轮询方式进行选择,在一些示例中,队列q1的队列号为1,队列q5的队列号为5,当队列q1和队列q5均为第二待调整队列时,若队列q1对应的历史调整信息表示该队列q1未被调整过信用,队列q5对应的历史调整信息表示该队列q5也未被调整过信用,可以选择队列号最小的第二待调整队列作为第一被选择队列,从而此时选择队列q1作为第一被选择队列,此时,队列q1对应的历史调整信息变为该队列q1被调整过信用一次;若队列q1对应的历史调整信息表示该队列q1被调整过信用一次,队列q5对应的历史调整信息表示该队列q5也未被调整过信用,可以选择队列q5作为第一被选择队列,此时,队列q1对应的历史调整信息变为该队列q1被调整过信用一次,由此可以实现轮询选择各个队列。也就是说,优先选择未被调整过的第二待调整队列,当所有第二待调整队列均被调整过相同的次数,则可以按照队列号(例如,可以采用最小队列号、最大队列号或随机队列号的方式)进行选择。
155.例如,在一些实施例中,如图4所示,信用调整模块103还包括冗余次数仲裁模块1034、剩余数量仲裁模块1035和第二选择模块1036。
156.例如,信用调整模块103还可以根据信用冗余次数最大以及信用冗余数量最大的原则进行判断,选择相应队列(即上述第二被选择队列)以减少该队列的信用。冗余次数仲裁模块1034被配置为基于多个信用申请请求,从多个队列中确定信用冗余次数最大的至少一个队列作为至少一个第三待调整队列;剩余数量仲裁模块1035被配置为基于多个信用申请请求,从至少一个第三待调整队列中确定信用冗余数量最大的至少一个队列作为至少一个第四待调整队列;第二选择模块1036被配置为从至少一个第四待调整队列中,确定第二被选择队列。
157.例如,冗余次数仲裁模块1034的仲裁过程与缺失次数仲裁模块1031的仲裁过程类似,剩余数量仲裁模块1035的仲裁过程与缺少数量仲裁模块1032的仲裁过程类似,第二选择模块1036的选择过程与第一选择模块1033的选择过程也类似,冗余次数仲裁模块1034、剩余数量仲裁模块1035和第二选择模块1036的具体工作过程可以分别参考上述缺失次数仲裁模块1031、缺少数量仲裁模块1032和第一选择模块1033的工作过程的描述,相似之处不再赘述。
158.例如,在一些实施例中,队列q11对应的信用冗余次数、队列q12对应的信用冗余次数和队列q13对应的信用冗余次数均为10次,队列q14对应的信用冗余次数为5次,队列q15对应的信用冗余次数为3次,则根据仲裁流程,冗余次数仲裁模块1034可以从队列q11~队列q15中仲裁出信用冗余次数最大的一个或多个队列作为第三待调整队列,在上面的示例中,最大的信用冗余次数为10,从而队列q11、队列q12和队列q13被仲裁出来作为第三待调整队列。
159.例如,当第三待调整队列的数量为1,则剩余数量仲裁模块1035可以直接将该一个第三待调整队列作为第四待调整队列;当第三待调整队列的数量大于1时,多个第三待调整队列对应的信用冗余次数相同且为所有队列中最大的,例如,上述示例中,第三待调整队列的数量为3,即队列q11、队列q12和队列q13,若队列q11对应的信用冗余数量为100,队列q12对应的信用冗余数量为100,队列q13对应的信用冗余数量为60,因为队列q11对应的信用冗余数量和队列q12对应的信用冗余数量均最大(例如,100),此时队列q11和队列q12被仲裁出来作为第四待调整队列;若队列q11对应的信用冗余数量为100,队列q12对应的信用冗余
数量为80,队列q13对应的信用冗余数量为60,因为队列q11对应的信用冗余数量最大(例如,100),此时队列q11被仲裁出来作为第四待调整队列。
160.例如,在一些实施例中,第二选择模块1036被配置为按照至少一个第四待调整队列一一对应的至少一个队列号,从至少一个第四待调整队列中确定第二被选择队列。
161.例如,当第四待调整队列的数量为1,则第二选择模块1036可以直接将该一个第四待调整队列作为第二被选择队列;当第四待调整队列的数量大于1时,多个第四待调整队列对应的信用冗余次数相同且为所有队列中最大的,且多个第四待调整队列对应的信用冗余数量也相同且为所有第三待调整队列中最大的,此时,第二选择模块1036可以从多个第四待调整队列选择一个第四待调整队列作为第二被选择队列。例如,在上述示例中,队列q11和队列q12均为第四待调整队列,在一些示例中,可以采用选择最小队列号对应的队列的方式进行选择,从而队列q11被选择作为第二被选择队列;在另一些示例中,可以采用选择随机队列号对应的队列的方式进行选择,此时,队列q11或队列q12被选择作为第二被选择队列;在另一些示例中,可以选用round-robin轮询方式基于队列q11对应的历史调整信息和队列号以及队列q12对应的历史调整信息和队列号进行选择,例如,在一个示例中,队列q11被选择作为第二被选择队列。
162.例如,当确定第一被选择队列和第二被选择队列后,信用调整模块103还用于确定第二被选择队列中的待调整信用,将第二被选择队列中的待调整信用添加到第一被选择队列中。
163.例如,在一些实施例中,信用调整模块103还可以包括第一调整模块(未示出),第一调整模块被配置为:确定第二被选择队列中的待调整信用;将待调整信用添加到第一被选择队列中。
164.例如,在执行确定第二被选择队列中的待调整信用的步骤时,第一调整模块被配置为:基于至少一个第三待调整队列一一对应的至少一个信用冗余数量,确定待调整数量;基于待调整数量和数量调整系数,确定目标调整数量;基于目标调整数量,确定第二被选择队列中的待调整信用。例如,待调整信用的数量等于目标调整数量。
165.例如,第一调整模块可以基于所有第三待调整队列对应的信用冗余数量确定待调整数量,例如,该待调整数量可以为至少一个第三待调整队列对应的所有信用冗余数量中确定最小的信用冗余数量。然后,第一调整模块可以基于待调整数量和数量调整系数,确定目标调整数量,例如,该目标调整数量可以为待调整数量与数量调整系数的乘积,数量调整系数可以为1/2、1/3等,可以根据实际情况设置,在此不作限制。例如,在上述示例中,由于队列q11、队列q12和队列q13为第三待调整队列,且队列q11对应的信用冗余数量为100,队列q12对应的信用冗余数量为100,队列q13对应的信用冗余数量为60,此时,待调整数量为队列q13对应的信用冗余数量,即60,当数量调整系数为1/2时,则可以从队列q11中取出30(60*1/2)个信用增加到第一被选择队列(例如,队列q1)中。
166.然而,本公开不限于此,该待调整数量也可以为第二被选择队列对应的信用冗余数量。
167.例如,该待调整信用的数量也可以为第一被选择队列对应的信用缺少数量。通常,该待调整信用的数量大于第一被选择队列对应的信用缺少数量,从而使得进行信用调整之后,第一被选择队列中的发生空调度的队列能够被调度出去执行。
168.例如,在一些实施例中,信用调整模块103还包括第二调整模块(未示出)。第二调整模块被配置为基于多个信用申请请求,确定至少一个请求增加信用队列和至少一个请求减少信用队列,响应于至少一个请求增加信用队列的数量和至少一个请求减少信用队列的数量满足预设条件,对多个队列中的至少部分队列对应的缺少次数阈值、冗余次数阈值和冗余数量阈值中的至少一个进行调整。
169.例如,至少一个请求增加信用队列为需要增加信用的队列,至少一个请求减少信用队列为需要减少信用的队列,例如,可以基于信用增加指示信号确定至少一个请求增加信用队列,可以基于信用减少指示信号确定至少一个请求减少信用队列。例如,每个请求增加信用队列对应的信用增加指示信号为第一增加信号,每个请求减少信用队列对应的信用减少指示信号为第一减少信号。
170.例如,在一些实施例中,预设条件可以包括第一条件和第二条件,第一条件可以为至少一个请求增加信用队列的数量大于第一预设阈值,且至少一个请求减少信用队列的数量小于第二预设阈值,此时,缺少信用的队列较多,而具有富余信用的队列较少,例如,可以增大缺少次数阈值,减小冗余次数阈值和冗余数量阈值;第二条件可以为至少一个请求增加信用队列的数量小于第三预设阈值,且至少一个请求减少信用队列的数量大于第四预设阈值,此时,缺少信用的队列较少,而具有富余信用的队列较多,例如,可以减小缺少次数阈值,增大冗余次数阈值和冗余数量阈值。
171.例如,在所有队列任务都较为繁重的时候,大部分队列的信用冗余数量都不超过其对应的冗余数量阈值,或者大部分队列的信用冗余次数不超过其对应的冗余次数阈值,或者,大部分队列的信用缺少次数超过其对应的缺少次数阈值,则需要对缺少次数阈值、冗余次数阈值和冗余数量阈值进行调整。例如,第二调整模块检测到请求增加信用的队列较多,而请求减少信用的队列较少,第二调整模块可以自动降低冗余数量阈值,例如,将冗余数量阈值从60降低到50或40等,第二调整模块还可以自动降低冗余次数阈值,例如,将冗余次数阈值从10次降低到6次或5次等,从而实现更高效地信用调整和任务调度。
172.例如,缺失次数仲裁模块1031、缺少数量仲裁模块1032、第一选择模块1033、冗余次数仲裁模块1034、剩余数量仲裁模块1035、第二选择模块1036和第二调整模块中的任意一个可以采用硬件、软件、固件或者它们的任意可行的组合实现。
173.需要说明的是,上述信用调整电路100中的第一信用数量记录模块1021、第一计数模块1022、第一指示信号确定模块1023、第二信用数量记录模块1024、第二计数模块1025、第二指示信号确定模块1026、缺失次数仲裁模块1031、缺少数量仲裁模块1032、第一选择模块1033、冗余次数仲裁模块1034、剩余数量仲裁模块1035、第二选择模块1036、第一调整模块和第二调整模块等可以分别实现为第一信用数量记录电路、第一信用计数电路、第一指示信号确定电路、第二信用数量记录电路、第二信用计数电路、第二指示信号确定电路、缺失次数仲裁电路、缺少数量仲裁电路、第一选择电路、冗余次数仲裁电路、剩余数量仲裁电路、第二选择电路、第一调整电路和第二调整电路,需要说明的是,本公开的实施例对上述各个模块的具体实现方式不作限制。
174.本公开至少一个实施例还提供一种任务调度电路。图5为本公开至少一个实施例提供的一种任务调度电路的示意性框图,图6为本公开至少一个实施例提供的一种任务调度电路的示意性结构图。
175.如图5和图6所示,在一些实施例中,任务调度电路200可以包括信用仲裁器201、时间轮仲裁器202和调度器203。
176.例如,如图6所示,信用仲裁器201可以包括信用调整电路2011和任务仲裁电路2012,且被配置为对多个队列进行仲裁以得到信用仲裁结果。例如,信用调整电路2011可以为本公开任一实施例提供的信用调整电路,例如,图1a所示的信用调整电路100。
177.例如,如图6所示,时间轮仲裁器202被配置对存储在时间轮2021上的任务进行仲裁以得到时间轮仲裁结果。
178.例如,如图6所示,调度器203被配置为基于信用仲裁结果和时间轮仲裁结果,确定目标仲裁结果,将目标仲裁结果调度出去执行。
179.本公开的实施例提供的任务调度电路200结合了动态信用调整和时间轮调度,从而可以提升调度效率。在本公开的实施例提供的任务调度电路200中,基于信用调整电路2011可以实现动态调整不同队列之间的信用,从而可以将具有富余信用的队列的信用动态分配给信用不足(例如一直发生空调度)的队列,综合达到减少空调度次数以及充分利用剩余的信用的目的,提升调度效率,实现高效的任务调度,提高任务的处理速度,从而提升用户体验,此外,在该任务调度电路200中,基于时间轮仲裁器202引入实时调度的时间轮调度方式,可以兼顾定时型任务的调度,满足不同调度场景的需求。
180.例如,信用调整电路2011被配置为对多个队列对应的信用进行动态调整,从而保证硬件资源的有效利用,例如,信用调整电路2011将具有富余信用的队列的信用动态分配给信用不足(例如一直发生空调度)的队列。任务仲裁电路2012被配置为对多个队列中的所有任务进行仲裁以得到信用仲裁任务,例如,信用仲裁结果包括信用仲裁任务。需要说明的是,关于信用调整电路2011实现信用调整的过程,可以参考上面的实施例中对信用调整电路100的描述,重复之处不再赘述。
181.例如,信用调整电路2011和任务仲裁电路2012是并行运行的,也就是说,信用调整电路2011在调整多个队列的信用的同时,任务仲裁电路2012也会仲裁出每次要执行的队列和任务。例如,任务仲裁电路2012可以基于任务的优先级进行仲裁。
182.例如,如图6所示,时间轮仲裁器202可以包括时间轮2021,时间轮2021可以包括128个节点tw~tw127,每个节点可以存储一个或多个任务,例如,在节点tw1处存储有一个任务a,在节点tw125处存储有任务b。
183.例如,时间轮2021包括至少一个时间计数器,在一些示例中,时间轮有两个时间计数器counter0和counter1,时间计数器counter0为最小时间段tick生成计数器,每当经过最小时间段tick所指示的时间,则时间计数器counter0的计数值加1,当时间计数器counter0的计数值达到软件配置的第一时间计数阈值threshold0后,则该时间计数器counter0的计数值回到0重新计数,同时,该时间计数器counter0会产生tick指示信号。该时间计数器counter1收到tick指示信号后,该时间计数器counter1的计数值加1,当时间计数器counter1的计数值达到软件配置的第二时间计数阈值threshold1后,则该时间计数器counter1的计数值回到0重新计数,同时,时间轮2021的节点向前移动一个节点,当移动到节点tw127之后,则又回到节点tw0继续上述转动。
184.例如,对于定时型的任务,可以根据时间轮2021上的节点以及需要定时触发任务的时间,预先将定时型任务写到时间轮2021的合适节点上,等待时间推移到达该节点后,则
可以调度该定时型任务。例如,可以将时间紧急型任务通过时间轮调度的方式优先仲裁出来执行。
185.例如,如图6所示,在一些实施例中,调度器203包括多路复选器mux和调度模块2031。多路复选器mux被配置为:响应于时间轮仲裁结果包括存储在时间轮上的一个任务,确定目标仲裁结果包括时间轮上的任务;响应于时间轮仲裁结果不包括任何任务且信用仲裁结果包括信用仲裁任务,确定目标仲裁结果包括信用仲裁任务;调度模块2031被配置为将目标仲裁结果调度出去执行。
186.例如,任务调度电路200在实时调度任务时,会去处理信用仲裁结果和时间轮仲裁结果。信用仲裁结果中的信用仲裁任务是信用仲裁器仲201裁出的任务或者队列,例如,队列q0中的任务t1;时间轮仲裁结果是储存在时间轮上的任务,例如,当时间轮2021进行到节点tw1的时候,会将任务a调度出去执行,此时,时间轮仲裁结果包括任务a。
187.当信用仲裁结果和时间轮仲裁结果均包括任务时,优先选取时间轮仲裁结果中的任务,信用仲裁结果不会被调度,等到后面继续仲裁,此时,相当于信用仲裁结果中的任务没有被调度出去执行。多路复选器mux可用于从信用仲裁结果和时间轮仲裁结果中进行选择。例如,当信用仲裁结果包括队列q0的任务t1,时间轮仲裁结果包括任务a时,则多路复选器mux会优先调度定时的任务a。
188.例如,当时间轮仲裁结果包括任务a时,多路复选器mux的控制信号ena可以被置为1,此时,多路复选器mux的输出端将连接到输入端口1,从而目标仲裁结果是时间轮仲裁结果。当时间轮仲裁结果不包括任务而信用仲裁结果包括任务时,多路复选器mux的控制信号ena可以被置为0,此时,多路复选器mux的输出端将连接到输入端口0,从而目标仲裁结果是信用仲裁结果。
189.本公开至少一个实施例还提供一种信用调整方法,例如,该信用调整方法可以应用于本公开任一实施例所述的信用调整电路,例如,图1a所示的信用调整电路100。
190.图7为本公开至少一个实施例提供的一种信用调整方法的示意性流程图。例如,如图7所示,信用调整方法可以包括以下步骤s100~s120。
191.步骤s100:监测多个队列分别对应的多个信用申请请求。
192.步骤s110:基于多个信用申请请求,确定多个队列中的第一被选择队列和第二被选择队列。
193.步骤s120:对第一被选择队列对应的信用和第二被选择队列对应的信用进行调整。
194.信用调整电路100中的信用监测模块101用于实现图7所示的步骤s100,关于步骤s100的具体操作可以参见上面对于信用监测模块101的描述,信用调整电路100中的信用调整模块102用于实现图7所示的步骤s110和步骤s120,关于步骤s110和步骤s120的具体操作可以参见上面对于信用调整模块102的描述,在此不再赘述。
195.例如,该信用调整方法所实现的技术效果与上述信用调整电路所实现的技术效果相同,此处不再赘述。
196.本公开至少一个实施例还提供一种任务调度方法,例如,该任务调度方法可以应用于本公开任一实施例所述的任务调度电路,例如,图5所示的任务调度电路200。
197.图8为本公开至少一个实施例提供的一种任务调度方法的示意性流程图。例如,如
图8所示,任务调度方法可以包括以下步骤s200~s230。
198.步骤s200:对多个队列进行仲裁以得到信用仲裁结果。
199.步骤s210:对存储在时间轮上的任务进行仲裁以得到时间轮仲裁结果。
200.步骤s220:基于信用仲裁结果和时间轮仲裁结果,确定目标仲裁结果。
201.步骤s230:将目标仲裁结果调度出去执行。
202.任务调度电路200中的信用仲裁器201用于实现图8所示的步骤s200,关于步骤s200的具体操作可以参见上面对于信用仲裁器201的描述,任务调度电路200中的时间轮仲裁器202用于实现图8所示的步骤s210,关于步骤s210的具体操作可以参见上面对于时间轮仲裁器202的描述,任务调度电路200中的调度器203用于实现图8所示的步骤s220和步骤s230,关于步骤s220和步骤s230的具体操作可以参见上面对于调度器203的描述,在此不再赘述。
203.例如,在步骤s200中,多个队列的信用可能已经被信用仲裁器201中的信用调整电路调整,也可能没有被调整。
204.例如,在一些实施例中,步骤s220可以包括:响应于时间轮仲裁结果包括存储在时间轮上的一个任务,确定目标仲裁结果包括时间轮上的该一个任务;响应于时间轮仲裁结果不包括任何任务且信用仲裁结果包括信用仲裁任务,确定目标仲裁结果包括信用仲裁任务。也就是说,当信用仲裁结果中的任务和时间轮仲裁结果中的任务同时到来时,则可以优先调度时间轮仲裁结果中的任务,从而保证定时任务的执行。
205.例如,该任务调度方法所实现的技术效果与上述任务调度电路所实现的技术效果相同,此处不再赘述。
206.本公开至少一个实施例还提供一种集成电路。图9为本公开至少一个实施例提供的一种集成电路的示意性框图。
207.如图9所示,集成电路900包括信用调整电路901,信用调整电路901可以为本公开任一实施例提供的信用调整电路,例如,上述信用调整电路100,由此,该集成电路900可以通过信用调整电路901实现动态调整队列的信用,有效利用硬件资源,减少空调度次数以及充分利用队列中的剩余的信用。例如,该集成电路900可以实现上述信用调整电路100所实现的技术效果,重复之处不再赘述。
208.例如,集成电路900还可以包括其他各种元件,以实现其需要实现的功能,本公开的实施例对集成电路900的具体结构不作限制。例如,集成电路900还可以包括上述任务调度电路200中除了信用调整电路之外的所有电路,由此,该集成电路900可以结合了动态信用调整和时间轮调度,提升调度效率,此时,该集成电路900还可以实现上述任务调度电路200所实现的技术效果,重复之处不再赘述。
209.需要说明的是,本公开中的集成电路900可以指代一个大型电路设计中的部分设计或部分模块,也即是,本公开中的集成电路既可以是一个完整集成电路的本身,也可以是完整集成电路中的部分电路,本公开对此不作限制。
210.例如,集成电路900可以应用于电子装置中。电子装置可以为手机、平板电脑、电视机、显示器、笔记本电脑、数码相框、导航仪等产品或部件。
211.图10为本公开至少一个实施例提供的一种非瞬时性计算机存储介质的示意图。
212.例如,如图10所示,在非瞬时性计算机存储介质1000上可以非暂时性地存储一个
或多个计算机可执行指令1001。例如,当计算机可执行指令1001由计算机执行时,可以使得计算机执行根据上述任一实施例所述的信用调整方法中的一个或多个步骤或上述任一实施例所述的任务调度方法中的一个或多个步骤。
213.例如,非瞬时性计算机存储介质1000可以为非瞬时性计算机可读存储介质。
214.例如,非瞬时性计算机存储介质1000可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如,易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。
215.在计算机可读存储介质上可以存储一个或多个计算机可执行指令,计算机可以运行计算机可执行指令,以实现信用调整方法和/或任务调度方法。例如,在计算机可读存储介质中还可以存储各种应用程序和各种数据(例如,上述缺少次数阈值、增大冗余次数阈值、冗余数量阈值、第一时间计数阈值和第二时间计数阈值等)等。
216.对于本公开,还有以下几点需要说明:
217.(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
218.(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
219.(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
220.以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献