本发明涉及计算机相关,特别是一种多核系统信息调度方法、装置、电子设备及存储介质。
背景技术:
1、现有的操作系统,对于处理器(central processing unit,cpu)的操作,例如微内核,采用的是针对任务的调度算法。在执行任务时,由进程调度器进行线程切换。
2、对于多核系统,每个核维护多个线程,由进程调度器对线程进行调用。然而,进程调度器对线程的调用具有随机性,从而导致任务执行过程中,可能会出现频繁的核间切换,导致调度实时性变差。同时频繁的核间切换,也会降低处理器的缓存命中率。
3、其次,现有基于任务的调度方式,在线程间通信时,当任务运行在用户态时,信息传输也会在用户态下执行。而用户态的优先级,低于内核态,从而导致信息传输速度较慢。
4、因此,现有技术的操作系统基于任务进行调度,存在调度实时性差、缓存命中率低,且信息传输速度慢的技术问题。
技术实现思路
1、基于此,有必要针对现有技术的操作系统基于任务进行调度,存在调度实时性差、缓存命中率低,且信息传输速度慢的技术问题,提供一种多核系统信息调度方法、装置、电子设备及存储介质。
2、本发明提供一种多核系统信息调度方法,所述多核系统包括多个处理器,每个处理器上设置有一一对应的宫位,所述宫位有设置在内核态上的基体程序以及设置在用户态上的微执行体程序,且所述多个处理器之间存在共享使用的共享内存,该系统还有设置在内核态上的入门路由模块以及出门路由模块,所述方法包括:
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、本发明提供一种电子设备,包括:
35、至少一个处理器;以及,
36、与至少一个所述处理器通信连接的存储器;其中,
37、所述存储器存储有可被至少一个所述处理器执行的指令,所述指令被至少一个所述处理器执行,以使至少一个所述处理器能够执行如前所述的多核系统信息调度方法。
38、本发明提供一种存储介质,所述存储介质存储计算机指令,当计算机执行所述计算机指令时,用于执行如前所述的多核系统信息调度方法的所有步骤。
39、本发明是一种面向信息的多核系统信息调度方法,通过将宫位与处理器绑定,在宫位上设置基体程序和微执行体程序,基于信息驱动,调度宫位中的基体程序和微执行体程序,实现信息传输。由于微执行体程序固定在宫位内,而宫位与处理器绑定,因此不同处理器之间的微执行体相对独立不互相依赖耦合,微执行体仅在固定核内切换,由于在固定核上切换时间少于微执行体在核间切换的时间,因此提高了调度实时性。同时,由于微执行体在固定的宫位内执行,因此能够大大提高处理器的缓存命中率,提高微执行体的运行速度。最后,通过在内核态的基体程序、出门路由模块、入门路由模块,使得信息传输维持在内核态下处理,信息传输速度得到大幅提升。
1.一种多核系统信息调度方法,其特征在于,所述多核系统包括多个处理器,每个处理器上设置有一一对应的宫位,所述宫位有设置在内核态上的基体程序以及设置在用户态上的微执行体程序,且所述多个处理器之间存在共享使用的共享内存,所述多核系统还有设置在内核态上的入门路由模块以及出门路由模块,所述方法包括:
2.根据权利要求1所述的多核系统信息调度方法,其特征在于,所述宫位上设置有至少两个或以上数量的微执行体程序,所述信息元数据还包括目的地址和与微执行体程序对应的目的标识;
3.根据权利要求2所述的多核系统信息调度方法,其特征在于,所述基体程序还包括信息空间,所述信息空间用于存储所述基体程序所接收的信息元数据;
4.根据权利要求3所述的多核系统信息调度方法,其特征在于,每一所述微执行体包括等状态和动状态;
5.根据权利要求4所述的多核系统信息调度方法,其特征在于,所述处理器还包括有多个运行在用户态的用户态上下文,所述用户态上下文用于存储微执行体运行时产生的中间数据,且所述用户态上下文与所述微执行体一一对应,
6.根据权利要求5所述的多核系统信息调度方法,其特征在于,所述处理器还包括有运行在用户态的用户态栈,所述用户态栈用于写入所述用户态上下文。
7.根据权利要求5所述的多核系统信息调度方法,其特征在于,所述处理器还包括有运行在内核态的内核态上下文,所述内核态上下文用于存储所述基体程序运行时产生的中间数据,且所述内核态上下文独立于所述用户态上下文。
8.根据权利要求7所述的多核系统信息调度方法,其特征在于,所述处理器还包括有运行在内核态的内核态栈,所述内核态栈用于写入所述内核态上下文。
9.根据权利要求1所述的多核系统信息调度方法,其特征在于,所述方法还包括:
10.一种多核系统信息调度装置,其特征在于,所述多核系统包括多个处理器,每个处理器上设置有一一对应的宫位,所述宫位有设置在内核态上的基体程序以及设置在用户态上的微执行体程序,且所述多个处理器之间存在共享使用的共享内存,该系统还有设置在内核态上的入门路由模块以及出门路由模块,所述装置包括:
11.一种电子设备,其特征在于,包括:
12.一种存储介质,其特征在于,所述存储介质存储计算机指令,当计算机执行所述计算机指令时,用于执行如权利要求1至9任一项所述的多核系统信息调度方法的所有步骤。