实现自适应调度的多内核处理器及多内核处理方法技术

技术编号:3545914 阅读:186 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现自适应调度的多内核处理器,包括用于缓存的报文接收单元、一个以上的内核处理单元和与其连接的报文发送单元;还包括内核调度单元,用于统计每一内核处理单元的各使用参数,并根据各使用参数的统计结果对该内核处理单元进行分组处理;报文分配单元,用于根据内核调度单元当前分组的信息,将从报文接收单元接收的报文送入一组内核处理单元中。本发明专利技术还公开了一种实现自适应调度的多内核处理方法。通过本发明专利技术公开的多内核处理器及处理方法,实现了根据报文流量动态调配内核处理单元,发挥多内核处理器的优势;增大了系统的吞吐量,平衡了内核处理单元的处理报文数;进而提高了处理器的处理效率。

【技术实现步骤摘要】

本专利技术涉及多内核处理领域,特别是一种实现自适应调度的多内核处理器及处理方法。
技术介绍
随着芯片技术和网络技术的发展,集成于一个芯片的多内核处理器技术日渐成熟并逐步应用到工业、家庭的数据处理领域,比如,英特尔(Intel)公司推出了双核的处理器Core 2 Duo,Raza微电子公司(RMI)推出了集成于同一芯片的、具有8个无内部互锁流水级的微处理器(Microprocessorwithout interlocked piped stages,简称MIPS)的处理器。这种多内核的处理器在数据的处理、运算方面,无疑具有较强的优势;但这种优势能够在多大程度上得到体现,取决于各个内核得到调用的充分性。特别是在将多核处理器应用到网络通信设备中时,由于进行网络报文处理的数据量庞大,多核处理器处理数据的能力直接影响到网络的性能,因此,如何对多个内核进行智能调度,使各个内核得到充分合理的调用,是网络设备设计人员格外关注的问题。参见图1,为一个应用于网络通信设备的多内核处理器的结构逻辑示意图,包括N个内核处理器,其功能相同,都能够独立的进行运算和业务处理,例如,对于报文的处理/转发,对于外围内存的访问等等。这些处理器分别与报文接收单元和报文发送单元连接,其中,报文接收单元具有外围缓存,用于通过统一的高速传送总线和外围的网络物理端口连接,将通过网络物理端口接收的报文分别发送给各内核处理器,或者放到缓存中排队送入各内核处理器;报文发送单元用于将处理后的报文发送出去。此时,多内核处理器中可以只有一个内核处理器进行工作,也可以所有的内核处理器都参与工作,也可以是其中的一部分参与工作;参与处理的处理器数量以及参与处理的处理器状态,直接影响到多内核处理器的处理效果。可见,如何实现各内核处理器的有效调度,是发挥多内核处理器优势的关键所在。目前,应用在网络通信设备中的多内核处理器主要通过两种方式实现内核处理单元的调度。一种是时间片方式,即给每个内核设定一定的报文接收时间,使各个内核轮换启动数据接收进程,实现对网络报文的相对均衡处理;一种是共享内存的方式,即各个内核共享内存,随机或者按照业务类型选择内存数据进行处理。但是,上述的两种方案都具有相当程度的随机性,而不能根据各内核的内部和外部环境综合的加以考虑。则如果其中一个内核出现故障或者超出负载的情况,将导致整个处理器的效率降低。而参考多单核处理器系统的调度方式,例如中国专利申请01819421.4所公开的技术方案,本领域技术人员也在尝试在多内核处理器中使用一种是设置优先级的方式,即根据各个内核的使用率,包括CPU利用率、存储器利用率、分组丢失和队列长度或缓冲器占用等,进行动态的排序,每接收一个或者几个报文,就重新排序一次,选择使用率最低的内核进行处理。但这种技术方案本身也存在缺陷,因为需要每次对所有的内核处理器进行排序,由于单个处理器的参数变化相对频繁,因此排序结果的变动很大,造成较大的工作开销;同时,由于不可能实现真正的实时操作,每次推送报文都是根据上一次的排序结果,因此将一批报文同时推送给一个内核也容易造成该内核的超负荷工作。
技术实现思路
本专利技术要解决的技术问题是提供,以克服现有技术中多内核处理器处理性能不佳的缺陷。为实现上述目的,本专利技术提供了一种实现自适应调度的多内核处理器,包括用于缓存的报文接收单元、一个以上的内核处理单元和与内核处理单元连接的报文发送单元;还包括内核调度单元,用于统计每一内核处理单元的各使用参数,并根据所述各使用参数的统计结果对该内核处理单元进行分组处理;报文分配单元,用于根据所述内核调度单元当前分组的信息,将从所述报文接收单元接收的报文送入一组内核处理单元中。所述内核调度单元包括统计模块、比较模块和分组模块所述统计模块与所述内核处理单元连接,用于对每一内核处理单元的各使用参数进行统计并发送;所述比较模块与所述统计模块连接,用于将接收到的各使用参数的统计结果与预设的门限值进行比较,并发送该比较结果;所述分组模块与所述比较模块连接,用于接收该比较结果,并根据该比较结果对内核处理单元进行分组处理;还与所述报文分配单元连接,用于向报文分配单元发送所述分组处理的结果信息。为了减少多核处理器的功耗,较佳的技术方案是所述各内核处理单元包括休眠接口,由所述报文分配单元根据使用参数的统计结果,通过所述休眠接口对内核处理单元执行关闭/开启操作。本专利技术还提供了一种实现自适应调度的多内核处理方法,包括以下步骤统计每一内核处理单元的各使用参数,并根据所述各使用参数的统计结果,对该内核处理单元进行分组处理;当接收到报文时,根据当前分组的信息将接收到的报文送入一组内核处理单元中。其中,根据所述使用参数的统计结果对各内核处理单元进行分组包括将任一内核处理单元的使用参数与预设的门限值进行比较当有N个使用参数达到或超过预设的门限值时,将所述内核处理单元设置为第M组内核处理单元。为了获得较佳的系统性能,将接收到的报文送入一组内核处理单元中包括将接收到的报文送入第n组内核处理单元中,所述第n组内核处理单元为使用参数达到或超过预设的门限值数目最少的组。为了发挥分组处理的优势,更佳的技术方案是按照所述组中的内核处理单元数目,将接收到的报文平均送入该组内核处理单元中。为了减少多核处理器的功耗,较佳的技术方案是还包括根据使用参数的统计结果对内核处理单元执行关闭/开启操作,包括随机选择内核处理单元执行关闭/开启操作,或者按照预设的内核处理单元优先级次序选择内核处理单元执行关闭/开启操作。由上述技术方案可知,本专利技术通过对各内核处理单元进行分组,具有以下有益效果1、根据报文流量动态调配内核处理单元,发挥多内核处理器的优势;2、按组进行调配,增大系统的吞吐量,平衡内核处理单元的处理报文数;3、提高处理器的处理效率。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1为现有技术中应用于网络通信设备的多内核处理器的结构逻辑示意图;图2为本专利技术所提供的实现自适应调度的多内核处理器的结构示意图;图3为图2所示多内核处理器中,PSM的一个具体实施例的示意图;图4为本专利技术所提供方法的一个实施例的流程图;图5为本专利技术所提供方法的另一个实施例的流程图。具体实施例方式为了克服现有技术中多内核处理器调度不灵活所导致的处理性能不佳的缺陷,本专利技术提供了一种实现自适应调度的多内核处理器和一种实现自适应调度的多内核处理方法,下面分别加以具体描述。本专利技术所提供的实现自适应调度的多内核处理器,如图2所示,包括用于缓存的报文接收单元4;一个以上的内核处理单元3,i取值为0、1......N,N+1为内核处理单元的个数;与每个内核处理单元3连接的报文发送单元5;还包括内核调度单元(Processor switch module,简称PSM)1和报文分配单元2。其中,报文接收单元4完成对报文的接收、缓存,具体为将从网络物理端口经过报文高速传送总线接收的报文在外围缓存中存储起来,并告知报文分配单元2,该告知方式可以采用中断方式。各内核处理单元3对报文分配单元2发送的报文进行处理,比如网络地址转换(Network Address Translation,简称NAT),转发,业务处理等等。各内核处理单元3将处理后的报文本文档来自技高网
...

【技术保护点】
一种实现自适应调度的多内核处理器,包括用于缓存报文的报文接收单元、一个以上的内核处理单元和与内核处理单元连接的报文发送单元;其特征在于还包括:内核调度单元,用于统计每一内核处理单元的各使用参数,并根据所述各使用参数的统计结果对该内核 处理单元进行分组处理;报文分配单元,用于根据所述内核调度单元当前分组的信息,将从所述报文接收单元接收的报文送入一组内核处理单元中。

【技术特征摘要】

【专利技术属性】
技术研发人员:王松波
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86[中国|杭州]

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

1
相关领域技术
  • 暂无相关专利