[发明专利]多核处理器的调度方法和设备有效
申请号: | 201210271307.6 | 申请日: | 2012-08-01 |
公开(公告)号: | CN102831015A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 余加强;宁志伟 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 处理器 调度 方法 设备 | ||
技术领域
本发明涉及计算机技术,尤其涉及一种多核处理器的调度方法和设备。
背景技术
多核是指在一枚处理器中集成两个或多个完整的中央处理器(Central Process Unit,CPU)内核。为了充分发挥多核系统的效能,需要其上的软件是并行的,但是,目前业界关于编写、调试、优化并行处理程序的能力还非常弱。目前常用的处理方法是使用非对称多处理器(Asymmetric MultiProcessing,AMP)调度方式,通过将多个串行处理程序绑定到不同的核上来提高多核系统的使用率。但是,由于数据业务模型的不确定性,导致在AMP这种固定分配多核CPU资源的方式下,系统利用效率不高。随后业界出现了各种虚拟化技术和混合调度技术,如果从资源管理的角度来看,这些技术都是在寻找一种灵活的动态多核CPU资源共享策略,在规避并行编程难度的同时确保多核系统资源利用效率。例如,目前对多核CPU的资源共享有两种方式:一种是以现有操作系统(OS),如linux的对称多处理器(Symmetric Multiprocessing,SMP)调度为基础,由系统内核分时间片调度,使得多核CPU能力可以近乎公平地在各应用(Application,APP)之间共享,但是,该方式下内核开销不可控,且随着内核版本等的变化,难以部署以及难以提供稳定的CPU资源。另一种是基于虚拟机(Virtual Machine,VM)运行多核OS来共享CPU,其缺点是VM管理开销大。因此,需要寻求一种开销低、好部署、易扩展、稳定的多核CPU资源共享方法。
发明内容
本发明实施例提供一种多核处理器的调度方法和设备,用以在多核调度时降低开销,简化多核部署与提升多核CPU资源利用率。
第一方面,提供了一种多核处理器的调度方法,包括:
逻辑分组(Logic Group,LG)接收应用程序发送的资源请求消息,所述资源请求消息包含所述应用程序请求的CPU资源的信息,所述LG为轻量级的跨进程中间件;
所述LG根据所述资源请求消息,将所述应用程序请求的CPU资源分配给所述应用程序使用,并隔离所述CPU资源上至少一个linux内核线程。
结合本发明实施例第一方面的一种可能的实现方式中,所述资源请求消息中还包含隔离模式,其中,所述隔离模块包括第一隔离模式、第二隔离模式、第三隔离模式和第四隔离模式,不同的隔离模式用于指示所述LG隔离不同的linux内核线程,所述隔离所述CPU资源上至少一个linux内核线程,包括:
当所述隔离模式为第一隔离模式时,隔离所述CPU资源上除已绑定的内核线程之外的所有内核线程;或者,
当所述隔离模式为第二隔离模式时,隔离所述CPU资源上包括已绑定的内核线程在内的所有内核线程;或者,
当所述隔离模式为第三隔离模式时,隔离所述CPU资源上除时钟中断之外的所有内核线程;或者,
当所述隔离模式为第四隔离模式且所述CPU资源为时钟中断核时,隔离所述CPU资源除时钟中断之外的所有内核线程;或者,
当所述隔离模式为第四隔离模式且所述CPU资源为非时钟中断核时,隔离所述CPU资源上包括时钟中断在内的所有内核线程。
进一步地,在一种可能的实现方式中,当所述隔离模式为第一隔离模式或者第二隔离模式时,采用linux操作系统的cpuset功能和开源社区的cpu隔离补丁实现隔离;或者,当所述隔离模式为第三隔离模式或者第四隔离模式时,采用开源社区的中断隔离补丁实现隔离。
结合本发明实施例第一方面的另一种可能的实现方式中,所述方法还包括:当所述隔离模式为第三隔离模式或者第四隔离模式时,使用用户态调度器,调度所述应用程序请求的CPU资源,以供所述应用程序使用。
结合本发明实施例第一方面的另一种可能的实现方式中,所述隔离至少一个linux内核线程,包括:
根据统一配置的LG配置目录,隔离至少一个linux内核线程,所述LG配置目录通过符号链接指向所述CPU资源对应的目录及文件。
结合本发明实施例第一方面的另一种可能的实现方式中,所述方法还包括:所述LG在接收到所述资源请求消息后,对应每个资源请求消息创建一个LG实例;所述LG对每个资源请求消息对应的每个LG实例的运行进行实例管理,所述实例管理包括进程部署和状态管理,所述进程部署采用父子进程方式,所述状态管理用于管理处于各个不同分层中的状态,所述状态预先被划分到不同的分层中。
进一步地,在另一种可能的实现方式中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210271307.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:作业车的传动切换结构以及车速控制结构
- 下一篇:一种加压控制方法