System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,尤其涉及一种任务处理方法以及装置。
技术介绍
1、混合整数规划(mixed integer programming,mip)问题在给定一组线性约束和目标函数的情况下,通过计算设备的计算从而确定一个合适的决策方案。在mip问题中,会存在部分决策变量需要取整数值。这些整数变量通常表示决策中的实际选择或限制。因此,mip问题可以应用于各种实际场景,如生产计划、物流调度、资源分配和项目管理等。
2、在目前的mip问题求解过程中,为了提升计算设备对于mip问题的求解效率,计算设备通常采用任务并行处理的方式进行处理。例如,计算设备在计算过程中,首先生成mip问题对应的任务序列,并计算出序列中每个任务的预估求解需要的时间,根据任务的预估求解时间将任务分配在不同的线程上执行,从而实现任务的并行求解。
3、然而,在目前的任务并行处理过程中,计算设备往往基于预先配置的任务分配规则将求解问题对应的任务分配至不同的线程并行处理,由于计算设备在任务的处理过程中可能会产生新的子任务,按照预先配置的分配规则进行任务调度会导致不同线程的任务处理负载不均衡,使得计算设备的任务处理效率低。
技术实现思路
1、本申请实施例提供了一种任务处理方法,计算设备能够基于调度器的求解模型计算求解问题的预估计算量,从而根据预估计算量将求解问题更加均衡的分配在不同的线程执行,提升了计算设备对于求解问题的处理效率。本申请实施例还提供了任务处理方法对应的任务处理装置、计算设备、计算设备
2、第一方面,本申请实施例提供了一种任务处理方法,该方法可以由计算设备执行,也可以由计算设备的部件,例如计算设备的处理器、芯片或芯片系统等执行,还可以由能实现全部或部分计算设备功能的逻辑模块或软件实现。第一方面提供的方法包括:计算设备获取待求解问题的数学模型表达式和实例数据,数学模型表达式中包括目标函数或约束条件,实例数据用于指示数学模型表达式的系数的值。计算设备基于待求解问题的数学模型表达式和实例数据,将待求解问题分解为n个子问题。计算设备根据n个子问题中每个子问题的计算量将n个子问题分配至m个线程并行执行,n大于m,m个线程中每个线程处理一个或多个子问题,且m个线程中每个线程处理一个或多个子问题所需的计算量之间的差值小于或等于预设阈值。
3、本申请实施例中计算设备能够计算待求解问题的计算量,并根据待求解问题的计算量将任务分配由不同线程执行,使得不同线程的任务的总计算量接近,从而提升了不同线程的负载均衡性,进一步提升了计算设备的问题求解效率。
4、一种可能的实施方式中,计算设备基于n个子问题的至少一个特征信息和权重计算n个子问题中每个子问题的计算量,权重用于指示至少一个特征信息对于计算计算量的权重,特征信息包括n个子问题中每个子问题的问题类型和深度中的至少一者,权重为机器模型基于特征信息确定的参数。
5、本申请实施例中计算设备能够基于子问题的特征信息和对应权重计算子问题的计算量,从而提升了计算设备对于子问题的计算量的预估准确性,基于该计算量对子问题进行线程调度,进一步提升了不同线程的负载均衡性。
6、一种可能的实施方式中,计算量基于线程迭代次数或线程处理时间指示。即计算量基于可以通过预估得到线程迭代次数指示,也可以通过计算设备预估的线程处理时间指示,具体不做限定。
7、本申请实施例中计算设备可以通过线程迭代次数指示子问题的预估计算量,也可以通过线程处理时间指示预估计算量,从提升了方案的丰富性。
8、一种可能的实施方式中,特征信息中子问题的特征信息还包括历史任务空闲信息和历史任务均衡度,历史任务空闲信息包括不同线程执行历史子问题之后的空闲时间,历史任务均衡度包括不同的线程执行历史子问题的历史计算量的差异,历史子问题是与子问题的问题类型相同的子问题。
9、本申请实施例中计算设备能够历史任务空闲信息和历史任务均衡度确定出子问题计算子问题的计算量,从提升了求解问题的计算量的预估准确性,进一步提升了不同线程的负载均衡性。
10、一种可能的实施方式中,不同的线程对应任务池中子问题的总计算量之间的差值小于或等于预设阈值。计算设备为了保证不同线程分配的子问题负载均衡,计算设备需要将不同线程分配的子问题的总计算量保持均衡。
11、本申请实施例中计算设备能够将不同的线程对应任务池中子问题的总计算量之间的差值小于或等于第一阈值,从而提升了不同线程的负载均衡性。
12、一种可能的实施方式中,计算设备在获取子问题序列之前,计算设备需要对实际问题进行建模得到问题模型,并对问题模型进行预处理,得到预处理后的简化问题模型,该简化问题模型即为计算设备可求解的问题模型,包括数学模型表达式和实例数据,计算设备对简化问题模型进行初步求解生成多个子问题序列。
13、本申请实施例中计算设备能够对实际问题进行建模得到问题模型并对问题模型进行预处理,从而提升了计算设备对于实际问题的求解效率。
14、一种可能的实施方式中,当线程执行子问题生成多个次级子问题时,计算设备基于任务调度器的权重计算次级子问题的预估计算量,根据次级子问题的预估处理时间将多个次级子问题分配至不同的线程执行。
15、本申请实施例中计算设备在执行任务的过程中可以生成多个次级子问题,计算设备可以基于任务调度器计算次级子问题的预估计算量,并对次级子问题进行调度,从而了计算设备对于次级子问题的处理效率。
16、一种可能的实施方式中,线程包括第一线程和第二线程,第一线程和第二线程共享任务池,共享任务池中的子问题包括分配到第一线程的子问题和第二线程中的子问题,计算设备基于任务同步器对共享任务池中的子问题重新分配至第一线程和第二线程。
17、本申请实施例中计算设备能够对共享任务池的两个线程之间进行子问题的重新分配,从而降低了线程空闲时间,提升了线程的任务处理效率。
18、一种可能的实施方式中,在计算设备对任务一轮求解过程中,当第一线程空闲时,将第二线程对应的任务池中的子问题重新分配至第一线程处理,或者,当第二线程空闲时,将第一线程对应的任务池中的子问题重新分配至第二线程执行。
19、本申请实施例中计算设备能够利用空闲线程执行与该空闲线程共享任务池的,其他线程的子问题,从而提升了计算设备的问题处理效率。
20、一种可能的实施方式中,计算设备接收用户配置的确定性参数,该确定性参数用于控制多个线程中某个线程的迭代次数。计算设备可以基于用户配置的确定性参数确定处理待求解问题的终止条件。
21、本申请实施例中计算设备可以接收用户配置的确定性参数,并基于用户配置的确定性参数确定处理待求解问题的终止条件,从而提升了待求解问题的处理效率。
22、一种可能的实施方式中,计算设备基于特征信息和权重计算子问题的预估计算量之前,计算设备基于机器模型生成特本文档来自技高网...
【技术保护点】
1.一种任务处理方法,其特征在于,应用于计算设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述计算量基于线程迭代次数或线程处理时间指示。
4.根据权利要求2或3所述的方法,其特征在于,所述子问题的特征信息还包括历史任务空闲信息和历史任务均衡度,所述历史任务空闲信息包括线程执行历史子问题之后的空闲时间,所述历史任务均衡度包括不同的线程执行所述历史子问题的历史计算量的差异,所述历史子问题是与所述子问题的问题类型相同的子问题。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述线程包括第一线程和第二线程,所述第一线程和所述第二线程具有共享任务池,所述共享任务池中的子问题包括分配到所述第一线程的子问题和分配到所述第二线程中的子问题,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述共享任务池中的子问题重新分配至所述第一线程或所述第二线程,包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,在基于所述
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1至11中任一项所述的方法,其特征在于,所述预设阈值对应的比例为0、5%、10%中的一者,或,当所述计算量基于线程迭代次数指示时,所述阈值为500次、1000次中的一者。
12.一种任务处理装置,其特征在于,所述装置包括:
13.根据权利要求12所述的装置,其特征在于,所述处理单元还用于:
14.根据权利要求12或13所述的装置,其特征在于,所述计算量基于线程迭代次数或线程处理时间指示。
15.根据权利要求13或14所述的装置,其特征在于,所述子问题的特征信息还包括历史任务空闲信息和历史任务均衡度,所述历史任务空闲信息包括线程执行历史子问题之后的空闲时间,所述历史任务均衡度包括不同的线程执行所述历史子问题的历史计算量的差异,所述历史子问题是与所述子问题的问题类型相同的子问题。
16.根据权利要求12至15中任一项所述的装置,其特征在于,所述线程包括第一线程和第二线程,所述第一线程和所述第二线程具有共享任务池,所述共享任务池中的子问题包括分配到所述第一线程的子问题和分配到所述第二线程中的子问题,所述处理单元还用于:
17.根据权利要求16所述的装置,其特征在于,所述处理单元具体用于:
18.根据权利要求12至17中任一项所述的装置,其特征在于,所述处理单元具体用于:
19.根据权利要求12至18中任一项所述的装置,其特征在于,所述处理单元还用于:
20.根据权利要求12至19中任一项所述的装置,其特征在于,所述处理单元具体用于:
21.根据权利要求12至20中任一项所述的装置,其特征在于,所述处理单元还用于:
22.根据权利要求12至21中任一项所述的装置,其特征在于,所述预设阈值对应的比例为0、5%、10%中的一者,或,当所述计算量基于线程迭代次数指示时,所述阈值为500次、1000次中的一者。
23.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至11中任一项所述的方法。
24.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1至11中任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至11中任一项所述的方法。
...【技术特征摘要】
1.一种任务处理方法,其特征在于,应用于计算设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述计算量基于线程迭代次数或线程处理时间指示。
4.根据权利要求2或3所述的方法,其特征在于,所述子问题的特征信息还包括历史任务空闲信息和历史任务均衡度,所述历史任务空闲信息包括线程执行历史子问题之后的空闲时间,所述历史任务均衡度包括不同的线程执行所述历史子问题的历史计算量的差异,所述历史子问题是与所述子问题的问题类型相同的子问题。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述线程包括第一线程和第二线程,所述第一线程和所述第二线程具有共享任务池,所述共享任务池中的子问题包括分配到所述第一线程的子问题和分配到所述第二线程中的子问题,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述共享任务池中的子问题重新分配至所述第一线程或所述第二线程,包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,在基于所述n个子问题的至少一个特征信息和权重计算所述n个子问题中每个子问题的计算量之前,所述方法还包括:
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1至11中任一项所述的方法,其特征在于,所述预设阈值对应的比例为0、5%、10%中的一者,或,当所述计算量基于线程迭代次数指示时,所述阈值为500次、1000次中的一者。
12.一种任务处理装置,其特征在于,所述装置包括:
13.根据权利要求12所述的装置,其特征在于,所述处理单元还用于:
14.根据权利要求12或13所述的装置,其特征在于,所述计算量基于线程迭代次数或线程处理时间指示。
【专利技术属性】
技术研发人员:赵昆磊,杨沐明,亚历山大·希俢,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。