多核定时器实现方法和多核系统技术方案

技术编号:13838014 阅读:80 留言:0更新日期:2016-10-16 00:41
本发明专利技术涉及一种多核定时器实现方法和多核系统,其方法为预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,其方法包括:需要创建定时器的内核创建定时器数据结构;需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中;需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整。采用本发明专利技术的方案,可以将定时器任务的管理和定时任务的执行分担到每个内核中去,解决了集中管理存在负载过重的问题;同时,各内核之间不存在核间交互,避免了信息丢失和延迟,提高了定时效率以及系统稳定性。

【技术实现步骤摘要】

本专利技术涉及计算机多核
,特别是涉及一种多核定时器实现方法和多核系统
技术介绍
随着大数据时代的到来,通信系统中对网络设备的处理能力要求越来越高,而仅仅依靠提高单核芯片的速度来提高CPU(Central Processing Unit,中央处理器)的处理能力会产生过多热量且无法带来相应的性能改善,其性价比也令人难以接受。另一方面,现在的系统都要求要以进行多任务操作。在这种情况下,多核CPU无凝是一个很好的选择,其优势主要在两个方面:为用户带来更强大的计算性能;更重要的是可满足用户同时进行多任务处理和多任务计算环境的要求。由于多核处理器硬件所提供的定时器机制与以往的单核处理器并无差异,导致在多核系统中,特别是非对称多处理系统中使用定时器存在一定的困难。一方面是没有统一的多核定时器实现机制,使用定时任务时会加大系统结构复杂度;另一方面是存在多核竟争情况,导致系统率低。从现有技术上看,为了克服上述困难,目前多核定时器的实现方法主要有以下两种:(1)把定时器任务交给一个独立的处理器核来管理和执行,其它处理器核要使用定时器时,向管理和执行定时器的核申请创建定时器和定时任务,所有定时器的管理和任行都由该独立的核进行。该方法的好处是结构简单,各处理器核的交互比较少。但其缺点是当定时器数量达到一定程度时,会导致管理和执行定时器任务的处理器核负载太重,影响定时精度和系统效率。(2)把定时器的管理和执行分开,由一个核管理定时器,而定时器的任务由需要执行定时任务的核执行。这种方法把定时器任务分发到其它各核中处理,减少了管理核的负载。但管理核经常要通知其它核执行定时任务,增加了核间
通信交互,同时如果交互信息丢失和延迟,可能加大系统的不稳定。
技术实现思路
基于此,有必要针对多核定时器实现中多核负载不均、定时器效率低、以及系统稳定性问题,提供一种多核定时器实现方法和多核系统。本专利技术的目的通过如下技术方案实现:一种多核定时器实现方法,预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,所述方法包括:需要创建定时器的内核创建定时器数据结构;需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中;需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整。一种多核系统,包括多个内核,所述多个内核中的每个内核分别对应配置有一个定时器列表,所述多个内核中的每个内核分别包括:创建单元,用于创建定时器数据结构;插入单元,用于将创建单元所创建的定时器数据结构插入到任意一个内核的定时器列表中;处理单元,用于对所对应的定时器列表中的定时器数据结构进行处理。根据上述本专利技术的方案,其是预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,需要创建定时器的内核创建定时器数据结构,需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中,需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整。通过本专利技术方案,可以将定时器任务的管理和定时任务的执行分担到每个内核中去,解决了集中管理存在负载过重的问题;同时,各内核之间不存在核间交互,避免了信息丢失和延迟,提高了定时效率以及系统稳定性。附图说明图1为本专利技术实施例一的多核定时器实现方法的实现流程示意图;图2为图1中的步骤S103在一个实施例中的细化流程示意图;图3为图1中的步骤S103在另一个实施例中的细化流程示意图;图4为图1中的步骤S102在其中一个实施例中的细化流程示意图;图5为本专利技术实施例二的多核系统的组成结构示意图;图6为图5中的处理单元在一个实施例中的细化组成结构示意图;图7为图5中的处理单元在另一个实施例中的细化组成结构示意图;图8为图5中的插入单元在其中一个实施例中的细化组成结构示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。实施例一本专利技术实施例一提供一种多核定时器实现方法,图1为本专利技术实施例一的多核定时器实现方法的实现流程示意图一,在本实施例中,预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,如图1所示,该实施例中的多核定时器实现方法包括:步骤S101:需要创建定时器的内核创建定时器数据结构;这里,需要创建定时器是多核系统中的任意一个当前需要创建定时器的内核;这里,定时器数据结构为定时器数据(或者称为定时器的相关信息)的存储结构,用于保存定时器相关信息;步骤S102:需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中;这里,任意一个内核可以与需要创建定时器的内核为同一个内核,也可以为不同的内核;步骤S103:需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整;这里,需要进行处理的内核是多核系统中的任意一个当前需要进行定时器任务处理的内核;需要说明的是,多核系统中的每一个内核根据需要在不同时刻,既可以作为需要创建定时器的内核,也可以根据作为需要进行处理的内核;具体地,需要进行处理的内核在其程序运行的主循环中检查多核系统的系统当前时间,并根据检查到的系统当前时间,对所对应的定时器列表中的定时器数据结构进行调度和调整,其中,调度是控制需要进行处理的内核执行所对应的定时器列表中已经到期的定时器数据结构中的任务;调整是指调整需要周期执行的定时器数据结构的执行时长。据此,根据上述本实施例的方案,其是预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,需要创建定时器的内核创建定时器数据结构,需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中,需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整。通过本实施例方案,可以将定时器任务的管理和定时任务的执行分担到每个内核中去,解决了集中管理存在负载过重的问题;同时,各内核之间不存在核间交互,避免了信息丢失和延迟,提高了定时效率以及系统稳定性。在其中一个实施例中,定时器数据结构用于保存定时器相关信息,该定时器相关信息包括下次到期时间和定时任务;这里,下次到期时间是指任务下一次执行时的系统时间,定时任务是指到达下次到期时间时所要执行的任务;如图2所示,所述需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整可以包括:步骤S201:需要进行处理的内核获取自身核标识和所述多核系统的系统当前时间;可以预先为每个内核分配核标识,以区分不同的内核,例如,以核编号为
核标识,还可以预先为每个定时器列表分配列表标识,并建立核标识与列表标识的对应关系;步骤S202:需要进行处理的内核获取与所述自身核标识对应的定时器列表;具体地,可以根据上述的自身核标识以及核标识与列表标识的对应关系,确定与所述自身核标识对应的定时器列表;步骤S203:需要进行处理的内核取出所获取的定时器列表中的下次到期时间小于或等于所述系统当前时间的定时器数据结构;步骤S204:需要进行处本文档来自技高网
...

【技术保护点】
一种多核定时器实现方法,其特征在于,预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,所述方法包括:需要创建定时器的内核创建定时器数据结构;需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中;需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整。

【技术特征摘要】
1.一种多核定时器实现方法,其特征在于,预先配置与多核系统的内核数量相同的定时器列表,其中,每个内核对应一个所述定时器列表,所述方法包括:需要创建定时器的内核创建定时器数据结构;需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时器列表中;需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整。2.根据权利要求1所述的多核定时器实现方法,其特征在于,定时器数据结构用于保存定时器相关信息,该定时器相关信息包括下次到期时间和定时任务;所述需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整包括:需要进行处理的内核获取自身核标识和所述多核系统的系统当前时间;需要进行处理的内核获取与所述自身核标识对应的定时器列表;需要进行处理的内核取出所获取的定时器列表中的下次到期时间小于或等于所述系统当前时间的定时器数据结构;需要进行处理的内核执行所取出的定时器数据结构中的定时任务。3.根据权利要求2所述的多核定时器实现方法,其特征在于,所述定时器相关信息还包括定时周期,所述需要进行处理的内核对所对应的定时器列表中的定时器数据结构进行调度或者/和调整还包括:需要进行处理的内核根据所取出的定时器数据结构中的定时周期判断是否需要重复执行所取出的定时器数据结构中的定时任务;若是,则需要进行处理的内核根据所述定时周期调整所述所取出的定时器数据结构中的下次到期时间,将调整后的定时器数据结构重新插入所对应的定时器列表中。4.根据权利要求1所述的所述的多核定时器实现方法,其特征在于,所述需要创建定时器的内核将所创建的定时器数据结构插入到任意一个内核的定时
\t器列表中包括:需要创建定时器的内核获取所要插入的定时器列表的自旋锁;需要创建定时器的内核根据时长顺序把所创建的定时器数据结构插入所要插入的定时器列表中;需要创建定时器的内核在所述插入...

【专利技术属性】
技术研发人员:赵剑川
申请(专利权)人:京信通信技术广州有限公司
类型:发明
国别省市:广东;44

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

1