本发明涉及处理器领域,特别涉及一种处理器调度规则设置方法及计算设备。
背景技术:
1、随着计算机技术的不断发展,处理器和存储技术使得计算机设备的硬件使用情况发生了很大改变。现在大部分个人桌面电脑,服务器计算机的处理器都采用多核架构,操作系统调度器的核心功能之一就是尽可能让每个cpu上的负载保持均衡,通过充分利用cpu计算能力提升系统性能。
2、在不同的业务场景中,操作系统调度器对进程的调度策略优化过程比较复杂,不存在“一劳永逸”的策略。但是现有技术中对进行调度策略设置的过程往往较为简单,导致进程调度时产生的效果不佳,调度提升的运作效率有限。
3、为此,需要一种新的处理器调度规则设置方法。
技术实现思路
1、为此,本发明提供一种处理器调度规则设置方法,以力图解决或者至少缓解上面存在的问题。
2、根据本发明的第一方面,提供一种处理器调度规则设置方法,在计算设备中运行,方法包括:根据每个处理器的历史执行函数确定多个调度时机;根据多个调度时机对处理器的进程调度进行抓取,对每一次进程调度生成调度数据,得到多个调度数据;根据多个调度数据对进程设置调度规则,所述调度规则包括调度时机和目标处理器;响应于其他处理器执行调度时机对应的调度函数,将被调度进程从其他处理器迁移到所述目标处理器。
3、可选地,在根据本发明的方法中,根据每个处理器的历史执行函数确定多个调度时机包括:从处理器中的历史执行函数中确定一种或多种发起进程调度的调度函数;根据每种调度函数确定一个调度时机,得到多个调度时机。
4、可选地,在根据本发明的方法中,调度时机包括:进程创建,程序加载,任务唤醒,idle函数变化,进程周期性迁移和numa节点迁移。
5、可选地,在根据本发明的方法中,对每一次进程调度生成调度数据包括:获取进程调度的调度时间和状态信息;根据所述进程调度的调度时间和状态信息生成调度数据。
6、可选地,在根据本发明的方法中,状态信息包括所述处于空闲状态的处理器数量,所述根据多个调度数据对进程设置调度规则,包括:获取离当前时间最近的预设时间间隔内的多个调度数据,根据多个调度数据中的处于空闲状态的处理器数量判断是否有处于空闲状态的处理器;若判断有处于空闲状态的处理器,则将处于空闲状态的处理器作为目标处理器。
7、可选地,在根据本发明的方法中,状态信息还包括:处理器负载情况,方法还包括:若判断没有处于空闲状态的处理器,则根据多个调度数据中的处理器负载情况确定负载值小于预设值的一个或多个处理器;从负载值小于预设值的一个或多个处理器中确定目标处理器。
8、可选地,在根据本发明的方法中,调度规则还包括间隔时间,间隔时间为进程的相邻两次进程调度之间的需要最小间隔的时间。
9、可选地,在根据本发明的方法中,状态信息还包括运行进程数量,所述运行进程数量包括处理器的理论进程数量和当前进程数量,所述方法还包括:
10、设置一个或多个调度序列,每个调度序列包括多个调度规则;
11、根据所述调度序列执行调度规则时,确定处理器的调度进程数量,调度进程数量包括移出进程数量和移入进程数量;根据调度进程数量和当前进程数量确定计算进程数量;判断计算进程数量是否大于或等于理论进程数量;若不是,则判断将处理器能够作为目标处理器。
12、根据本发明的第二方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中,一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的处理器调度规则设置方法的指令。
13、根据本发明的第三方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的处理器调度规则设置方法。
14、根据本发明的第四方面,提供了一种计算机程序产品,包括计算机程序/指令,其中,所述计算机程序/指令被处理器执行时实现本发明的处理器调度规则设置方法。
15、本发明的处理器调度规则设置方法中,通过对历史执行函数确定多个调度时机,并根据调度时机抓取进程调度时的调度数据;根据调度数据个性化的设置每个进程的调度规则,提高每个进程在进程调度时的调度效率。调度规则包括目标处理器,在根据调度规则对进程进行调度时,将进程调度到目标处理器进行执行,从而实现对处理器的负载均衡设置,提高计算设备运行效率。
1.一种处理器调度规则设置方法,在计算设备中执行,所述计算设备中包括多个处理器,多个处理器之间适于进行进程调度,所述方法包括:
2.如权利要求1所述的方法,其中,所述根据每个处理器的历史执行函数确定多个调度时机包括:
3.如权利要求1或2所述的方法,其中,所述调度时机包括:进程创建,程序加载,任务唤醒,idle函数变化,进程周期性迁移和numa节点迁移。
4.如权利要求1-3中任一项所述的方法,其中,所述对每一次进程调度生成调度数据包括:
5.如权利要求4所述的方法,其中,所述状态信息包括所述处于空闲状态的处理器数量,所述根据多个调度数据对进程设置调度规则,包括:
6.如权利要求5所述的方法,其中,所述状态信息还包括:处理器负载情况,所述方法还包括:
7.如权利要求1-6中任一项所述的方法,其中,所述调度规则还包括间隔时间,所述间隔时间为所述进程的相邻两次进程调度之间的需要最小间隔的时间。
8.如权利要求4-7中任一项所述的方法,所述状态信息还包括运行进程数量,所述运行进程数量包括处理器的理论进程数量和当前进程数量,所述方法还包括:
9.一种计算设备,包括:
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-8中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序/指令,其中,所述计算机程序/指令被处理器执行时实现如权利要求1-8中任一项所述的方法。