多核处理器的调度方法和设备技术

技术编号:8105606 阅读:214 留言:0更新日期:2012-12-21 04:12
本发明专利技术提供一种多核处理器的调度方法和设备。该方法包括LG接收应用程序发送的资源请求消息,所述资源请求消息包含所述应用程序请求的CPU资源的信息,所述LG是轻量级的跨进程中间件;LG根据所述资源请求消息,将所述应用程序请求的CPU资源上分配给所述应用程序使用,并隔离所述CPU资源上至少一个linux内核线程。本发明专利技术实施例可以在多核调度时降低开销,简化多核部署与提升多核CPU资源利用率。

【技术实现步骤摘要】

本专利技术涉及计算机技木,尤其涉及一种多核处理器的调度方法和设备
技术介绍
多核是指在一枚处理器中集成两个或多个完整的中央处理器(Central ProcessUnit, CPU)内核。为了充分发挥多核系统的效能,需要其上的软件是并行的,但是,目前业界关于编写、调试、优化并行处理程序的能力还非常弱。目前常用的处理方法是使用非対称多处理器(Asymmetric Multiprocessing,AMP)调度方式,通过将多个串行处理程序绑定到不同的核上来提高多核系统的使用率。但是,由于数据业务模型的不确定性,导致在AMP这种固定分配多核CPU资源的方式下,系统利用效率不高。随后业界出现了各种虚拟化技术 和混合调度技术,如果从资源管理的角度来看,这些技术都是在寻找ー种灵活的动态多核(PU资源共享策略,在规避并行编程难度的同时确保多核系统资源利用效率。例如,目前对多核CPU的资源共享有两种方式ー种是以现有操作系统(OS),如Iinux的对称多处理器(Symmetric Multiprocessing, SMP)调度为基础,由系统内核分时间片调度,使得多核CPU能力可以近乎公平地在各应用(AppliCation,APP)之间共享,但是,该方式下内核开销不可控,且随着内核版本等的变化,难以部署以及难以提供稳定的CPU资源。另ー种是基于虚拟机(Virtual Machine,VM)运行多核OS来共享CPU,其缺点是VM管理开销大。因此,需要寻求一种开销低、好部署、易扩展、稳定的多核CPU资源共享方法。
技术实现思路
本专利技术实施例提供一种多核处理器的调度方法和设备,用以在多核调度时降低开销,简化多核部署与提升多核CPU资源利用率。第一方面,提供了一种多核处理器的调度方法,包括逻辑分组(Logic GroUp,LG)接收应用程序发送的资源请求消息,所述资源请求消息包含所述应用程序请求的CPU资源的信息,所述LG为轻量级的跨进程中间件;所述LG根据所述资源请求消息,将所述应用程序请求的CPU资源分配给所述应用程序使用,并隔离所述CPU资源上至少ー个Iinux内核线程。结合本专利技术实施例第一方面的ー种可能的实现方式中,所述资源请求消息中还包含隔离模式,其中,所述隔离模块包括第一隔离模式、第二隔离模式、第三隔离模式和第四隔离模式,不同的隔离模式用于指示所述LG隔离不同的Iinux内核线程,所述隔离所述CPU资源上至少ー个Iinux内核线程,包括当所述隔离模式为第一隔离模式吋,隔离所述CPU资源上除已绑定的内核线程之外的所有内核线程;或者,当所述隔离模式为第二隔离模式吋,隔离所述CPU资源上包括已绑定的内核线程在内的所有内核线程;或者,当所述隔离模式为第三隔离模式吋,隔离所述CPU资源上除时钟中断之外的所有内核线程;或者,当所述隔离模式为第四隔离模式且所述CPU资源为时钟中断核吋,隔离所述CPU资源除时钟中断之外的所有内核线程;或者,当所述隔离模式为第四隔离模式且所述CPU资源为非时钟中断核时,隔离所述CPU资源上包括时钟中断在内的所有内核线程。进ー步地,在ー种可能的实现方式中,当所述隔离模式为第一隔离模式或者第二隔离模式时,采用Iinux操作系统的cpuset功能和开源社区的cpu隔离补丁实现隔离;或者,当所述隔离模式为第三隔离模式或者第四隔离模式吋,采用开源社区的中断隔离补丁实现隔离。结合本专利技术实施例第一方面的另ー种可能的实现方式中,所述方法还包括当所述隔离模式为第三隔离模式或者第四隔离模式时,使用用户态调度器,调度所述应用程序 请求的CPU资源,以供所述应用程序使用。结合本专利技术实施例第一方面的另ー种可能的实现方式中,所述隔离至少ー个Iinux内核线程,包括根据统ー配置的LG配置目录,隔离至少ー个Iinux内核线程,所述LG配置目录通过符号链接指向所述CPU资源对应的目录及文件。结合本专利技术实施例第一方面的另ー种可能的实现方式中,所述方法还包括所述LG在接收到所述资源请求消息后,对应每个资源请求消息创建ー个LG实例;所述LG对每个资源请求消息对应的每个LG实例的运行进行实例管理,所述实例管理包括进程部署和状态管理,所述进程部署采用父子进程方式,所述状态管理用于管理处于各个不同分层中的状态,所述状态预先被划分到不同的分层中。进ー步地,在另ー种可能的实现方式中,还包括对实例管理的结果进行状态监控,以获取每个LG实例的状态。第二方面,提供了ー种多核处理器的调度设备,包括配置与初始化模块,用于接收应用程序发送的资源请求消息,所述资源请求消息包含所述应用程序请求的CPU资源的信息,并将所述资源请求消息发送给资源管理模块;资源管理模块,用于接收所述配置与初始化模块发送的所述资源请求消息,根据所述资源请求消息,将所述应用程序请求的CPU资源分配给所述应用程序使用,并隔离所述CPU资源上至少ー个Iinux内核线程。结合本专利技术实施例第二方面的另ー种可能的实现方式中,所述资源请求消息中还包含隔离模式,其中,所述隔离模块包括第一隔离模式、第二隔离模式、第三隔离模式和第四隔离模式,不同的隔离模式用于指示所述LG隔离不同的Iinux内核线程;所述资源管理模块包括资源分配模块,用于根据所述资源请求消息,将所述应用程序请求的CPU资源上分配给所述应用程序使用;内核适配模块,用于当所述隔离模式为第一隔离模式时,隔离所述CPU资源上除已绑定的内核线程之外的所有内核线程;或者,当所述隔离模式为第二隔离模式时,隔离所述CPU资源上包括已绑定的内核线程在内的所有内核线程;或者,当所述隔离模式为第三隔离模式吋,隔离所述CPU资源上除时钟中断之外的所有内核线程;或者,当所述隔离模式为第四隔离模式且所述CPU资源为时钟中断核吋,隔离所述CPU资源上除时钟中断之外的所有内核线程;或者,当所述隔离模式为第四隔离模式且所述CPU资源为非时钟中断核时,隔离所述CPU资源上包括时钟中断在内的所有内核线程。进一步地,在另一种可能的实现方式中,当所述隔离模式为第一隔离模式或者第二隔离模式时,所述内核适配模块采用Iinux操作系统的cpuset功能函数和开源社区的cpu隔离补丁函数实现线程隔离;或者,当所述隔离模式为第三隔离模式或者第四隔离模式时,所述内核适配模块采用开源社区的中断隔离补丁函数实现线程隔离。结合本专利技术实施例第二方面的另一种可能的实现方式中,所述方法还包括 用户态调度器,用于当所述隔离模式为第三隔离模式或者第四隔离模式时,调度所述应用程序请求的CPU资源。在另一种可能的实现方式中,所述内核适配模块还用于存储统一配置的逻辑分组LG配置目录,所述LG配置目录通过符号链接指向所述(PU资源对应的目录及文件,以便当所述隔离模式为第一隔离模式或者第二隔离模式时,所述资源分配模块通过所述LG配置目录查找到所述CPU资源对应的Iinux操作系统的cpuset功能函数和开源社区的cpu隔离补丁函数,并实现进程的隔离;或者,当所述隔离模式为第三隔离模式或者第四隔离模式时,所述资源分配模块通过所述LG配置目录查找到所述CPU资源对应的所述开源社区的中断隔离补丁函数,以实现进程的隔离。由上述技术方案可知,本专利技术实施例通过LG调度CPU资源,该LG内没有OS,可以减少不必要的OS和虚拟机服本文档来自技高网...

【技术保护点】
一种多核处理器的调度方法,其特征在于,包括:逻辑分组LG接收应用程序发送的资源请求消息,所述资源请求消息包含所述应用程序请求的CPU资源的信息,所述LG为轻量级的跨进程中间件;所述LG根据所述资源请求消息,将所述应用程序请求的CPU资源分配给所述应用程序使用,并隔离所述CPU资源上至少一个linux内核线程。

【技术特征摘要】
1.一种多核处理器的调度方法,其特征在于,包括 逻辑分组LG接收应用程序发送的资源请求消息,所述资源请求消息包含所述应用程序请求的CPU资源的信息,所述LG为轻量级的跨进程中间件; 所述LG根据所述资源请求消息,将所述应用程序请求的CPU资源分配给所述应用程序使用,并隔离所述CPU资源上至少ー个Iinux内核线程。2.根据权利要求I所述的方法,其特征在于,所述资源请求消息中还包含隔离模式,其中,所述隔离模块包括第一隔离模式、第二隔离模式、第三隔离模式和第四隔离模式,不同的隔离模式用于指示所述LG隔离不同的Iinux内核线程; 所述隔离所述CPU资源上至少ー个Iinux内核线程,包括 当所述隔离模式为第一隔离模式吋,隔离所述CPU资源上除已绑定的内核线程之外的所有内核线程;或者, 当所述隔离模式为第二隔离模式吋,隔离所述CPU资源上包括已绑定的内核线程在内的所有内核线程;或者, 当所述隔离模式为第三隔离模式时,隔离所述CPU资源上除时钟中断之外的所有内核线程;或者, 当所述隔离模式为第四隔离模式时,隔离所述CPU资源上除时钟中断核上的时钟中断之外的所有内核线程。3.根据权利要求2所述的方法,其特征在于,所述隔离所述CPU资源上除已绑定的内核线程之外的所有内核线程,包括 采用Iinux操作系统的cpuset功能和开源社区的cpu隔离补丁,隔离所述CPU资源上除已绑定的内核线程之外的所有内核线程; 所述隔离所述CPU资源上包括已绑定的内核线程在内的所有内核线程,包括采用Iinux操作系统的cpuset功能和开源社区的cpu隔离补丁,隔离所述CPU资源上包括已绑定的内核线程在内的所有内核线程; 所述隔离所述CPU资源上除时钟中断之外的所有内核线程,包括采用开源社区的中断隔离补丁隔离所述CPU资源上除时钟中断之外的所有内核线程; 所述隔离所述CPU资源上除时钟中断核上的时钟中断之外的所有内核线程,包括采用开源社区的中断隔离补丁隔离所述CPU资源上除时钟中断核上的时钟中断之外的所有内核线程。4.根据权利要求3所述的方法,其特征在于,还包括 当所述隔离模式为第三隔离模式或者第四隔离模式时,使用用户态调度器,调度所述应用程序请求的CPU资源,以供所述应用程序使用。5.根据权利要求I所述的方法,其特征在于,所述隔离至少ー个Iinux内核线程,包括 根据统ー配置的LG配置目录,隔离至少ー个Iinux内核线程,所述LG配置目录通过符号链接指向所述CPU资源对应的目录及文件。6.根据权利要求I所述的方法,其特征在于,还包括 所述LG在接收到所述资源请求消息后,对应每个资源请求消息创建ー个LG实例; 所述LG对每个资源请求消息对应的每个LG实例的运行进行实例管理,所述实例管理包括进程部署和状态管理,所述进程部署采用父子进程...

【专利技术属性】
技术研发人员:余加强宁志伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1