[发明专利]一种分布式系统中提高多核CPU处理能力的方法有效
| 申请号: | 200710130560.9 | 申请日: | 2007-07-16 |
| 公开(公告)号: | CN101349974A | 公开(公告)日: | 2009-01-21 |
| 发明(设计)人: | 周海山;童小九;刘忱;杨骐 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46 |
| 代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 许志勇;颜涛 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 系统 提高 多核 cpu 处理 能力 方法 | ||
技术领域
本发明涉及分布式系统领域,尤其是涉及使用多核CPU作为处理节点的分布式系统领域。
背景技术
随着应用需求的不断增加,单个CPU的处理能力已经远远不能满足要求,取而代之,分布式系统由于其强大的处理能力和良好的扩展性,正在发挥着越来越重要的作用。例如,由于需要同时支持大量的用户,电信领域的核心网设备和基站设备都采用了分布式系统方案来实现。介绍两个概念:分布式系统的CPU节点和分布式系统的功能节点。分布式系统的CPU节点指的是组成分布式系统的各个CPU。而分布式系统的功能节点指的是一个软件实体,软件实体驻留在CPU节点之上,所有的软件实体通过协作共同完成分布式系统的功能。
理想情况下,由N个相同CPU组成的分布式系统,其处理能力应该是单个CPU运算能力的N倍。实际系统中,由于通信等开销,分布式系统的处理能力还达不到单个CPU运算能力的N倍。但是,对于一个具有良好扩展性的分布式系统,其系统处理能力应该与CPU的数目成线性关系。假设单个CPU的运算能力是C,系统由N个CPU组成,那么一个具有良好扩展性的分布式系统的处理能力为:N×k×C,其中k为与系统设计相关常数,一般小于1。
显然,增大N或者提高C,都可以提高具有良好扩展性的分布式系统的处理能力。实际应用中,这两种方法都经常被用来提高系统的处理能力。在提高CPU运算能力方面,由于受到工艺和主频等限制,提高单个CPU核的运算能力变得越来越困难。目前各芯片厂商的普遍做法是在一块芯片 上集成多个CPU核,即多核CPU,以提高CPU的运算能力。多核CPU是未来的发展趋势。
多核CPU本质上属于对称共享存储器多处理器架构(SMP)。支持SMP架构的操作系统如linux、UNIX等,这些现代操作系统都支持多线程编程,在SMP架构上多个线程可以被操作系统调度到不同的处理器或者CPU核上同时运行,实现真正的并发。对于一个n核的CPU,其实际的处理能力不仅取决于n的大小,更取决于应用程序的并行度,即构成应用程序的工作线程数目m。只有线程数目m足够多,操作系统才能保持底层的所有CPU核都处于调度运行状态,多核CPU的运算能力才能充分发挥。因此,为了提高多核CPU的处理能力,必须提高应用程序的并行度,即增加应用程序的工作线程数目。
但是,现在的情况经常是,即使对于一个具有良好扩展性的分布式系统来说,其单个CPU节点上运行的应用程序的并行度可能较低,即真正工作的线程数目非常少,因此无法充分挖掘多核CPU节点的运算能力,即多核CPU的处理能力并不高,从而无法达到提高整个分布式系统的处理能力的目的。那么如何挖掘分布式系统中多核CPU节点的运算能力呢?或者说如何提高多核CPU的处理能力呢?
显然,提高单个CPU节点上运行程序的并行度可以解决这个问题。这需要修改现有的应用软件,尽可能使用多线程的方式提高其并行度。对于大型的分布式系统软件,如复杂的电信设备软件,软件修改量将是巨大的,而且多线程编程的难度要远远大于串行编程。因此,对于现有的大型的分布式系统软件来说,这个方法并不总是可行。
在保持现有分布式系统软件不作较大改动的条件下,如何提高分布式系统中多核CPU节点的处理能力呢?有人提出了多核拆分的解决方法,即把每一个核当作一个独立的CPU节点,一个多核CPU节点被拆分成相互独立的多个CPU节点。这种方法实际上变相增加了分布式系统中的节点数N,因而提高了整个系统的处理能力。此方法要求每个CPU核运行自己的操作系统。为了实现这一点需要操作系统做很多特殊处理,也就是说需要操作系统厂商进行定制,或者通过增加一层特殊中间软件,然后在中间软件之上运行多个操作系统。其次,每个核上都要驻留操作系统映像,必然会增加内存的开销。另外,由于底层设备可能只在某个核上才能访问,因此必然会影响上层应用软件操作的透明性。
发明内容
本发明所解决的技术问题在于提供一种分布式系统中提高多核CPU处理能力的方法,以解决在保持现有分布式软件结构基本不变的前提下如何充分发挥多核CPU的性能来提高分布式系统处理能力的问题。
为了解决上述问题,本发明提供了一种分布式系统中提高多核CPU处理能力的方法,其中,包括以下步骤:
(1)根据每一个CPU的节点确定功能节点数目、功能节点类型和功能节点标识,并录入数据库表或者配置文件中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710130560.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:凸球式钢制高效散热片
- 下一篇:转片式自清洁强化传热装置





