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

技术编号:4271334 阅读:253 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多核定时器实现方法及系统,其中的方法包括以下步骤:从多核系统中任意选择一个核作为定时器处理核,所述定时器处理核通过多核系统的时间机制检查时间;所述定时器处理核每隔预定时间段执行对多核定时器向量的调度和调整。本发明专利技术提供的多核定时器实现方法及系统可脱离操作系统、支持庞大数据、不影响系统性能并且精确度较高。

【技术实现步骤摘要】

本专利技术涉及计算机多核
,尤其涉及一种多核定时器实现方法及系统
技术介绍
从1971年第一台微处理器产生至今,计算机专家们一直在为提供单片CPU的工作 效率而不断的探索,直到21世纪初,单片CPU的工作效率已经提高到了材质的物理理论极 限,单片CPU效率的提高已经到达了一个极限。然而,随着计算机技术的普及,人们日益增 长的计算需求同有限的单片CPU的工作效率的矛盾也日益突出。在此情况下,各种计算机 技术都因为CPU效率这个瓶颈而放缓了发展的脚步。如何突破单片CPU的物理理论效率极 限,成为一个需要迫切解决的难题。多核处理器的出现,打破了人们的惯性思维,突破了单 片CPU效率物理理论极限带来的问题,同时也颠覆了单核软件设计思维,为各项软件技术 带来了新的发展道路和机遇。 专用CPU可以有效地进行一些专业的数据处理,性能高但功能单一 ;操作系统增加和扩充了 CPU功能,但同时又带来了额外的资源消耗。多核处理器的出现,结合专业分工的思想,出现了集操作系统通用性扩展性好的优点与专用CPU单一高效的优点于一体的多核处理器应用系统(多核系统),简言之,多核系统是多个CPU无缝连接的处理系统,该系统集合了基于操作系统的专门负责配置管理的控制平面模块和基于专门数据处理的数据平面模块,将两者统一在同一个多核系统中,协同工作,达到扩展和高效的双重目的,以充分发挥多核系统的高性能特性。在这样的双平面(控制平面和数据平面)系统中,鉴于数据平面脱离的操作系统,且控制平面操作系统中定时器无法克服的缺点,就需要设计出一套脱离操作系统、支持庞大数据、不影响系统性能、精确度较高的多核系统定时器了。 目前公开可知的linux内核定时器,以操作系统为基础,通过时钟中断和中断处理的下半底(下半底是因硬中断而产生的中断处理程序)来实现,执行过程如下 第一步、内核态进程初始化一个定时器,设定好定时时间以及定时器处理函数。 第二步、内核态进程将该定时器加入到内核定时器向量中。 第三步、时钟中断产生,CPU进行时钟中断处理,更新时间,进入进程调度函数。 第四步、在硬中断很处理完成或者系统该进行进程调度时间,进入进程调度函数,在该函数中进入各中断的下半底处理。 第五步、在定时器的下半底处理过程中,通过内核定时器的定时器向量算法,对定 时器向量进行调度调整,对到期的定时器进行定时器函数处理。 第六步、定时器函数处理结束时,如果还需循环定时,则进行第二步处理。否则直 接退出。 该实现的关键在于第三、四、五步,它依赖系统的中断系统和进程调度机制,必须 在系统的下半底处理中才能进行。现有技术是基于中断下半底的定时器设计方法,其不足如下 1)这种定时器实现方式不支持数量庞大的定时器,如session超时定时器,在网络处理设备中session数可高达300多万,如此庞大数目的定时器在调度过程中极大地损 耗率了操作系统的性能,会使得操作系统无法正常运行。 2)这种定时器实现方法是基于操作系统的,依赖于操作系统的中断机制和进程调 度机制。对于脱离操作系统的、基于轮询的、没有进程概念支撑的、专门用处理器来说,该方 法无法实现。 3)当系统中硬中断比较多时,因为硬中断的优先级高于下半底,从而使得下半底 得不到及时调度,从而使得定时器处理不及时,定时器出现偏差。特别是网络处理设备,它 们一般都是通过中断方式接收报文的。 4)现行定时器的实现是基于32位jiffies的,对于系统时钟中断的频率为 1000Hz的系统来说,32位的jiffies计数器现在只需49. 7天就发生溢出了 。因此这种定 时器机制不支持超过49. 7天的定时器超时。
技术实现思路
本专利技术提供一种脱离操作系统、支持庞大数据、不影响系统性能、精确度较高的多 核定时器实现方法及系统。 为此,本专利技术实施例采用如下技术方案 —种多核定时器实现方法,从多核系统中任意选择一个核作为定时器处理核,该 方法包括所述定时器处理核通过多核系统的时间机制检查时间;所述定时器处理核每隔 预定时间段执行对多核定时器向量的调度和调整。 所述方法还包括将超时定时器添加到设置在所述定时器处理核中的超时定时器 队列中;对于超时定时器队列中的各定时器,按照预置的该定时器处理函数进行处理。 所述方法还包括在任意一个核上执行对定时器的接口操作,所述对定时器的接 口操作包括定时器的初始化、添加、修改或/和删除。所述在任意一个核上执行对定时器的接口操作具体包括在任意一个核上设置定时器的到期时间以及到期处理函数、在任意一个核上根据定时器的到期时间,通过定时器处理核提供的多核定时器添加接口,将定时器添加到多核定时器向量中、在任意一个核上根据定时器的到期时间,通过定时器处理核提供的多核定时器修改接口,调整定时器在多核定时器向量中的位置、或/和,在任意一个核上通过定时器处理核提供的多核定时器删除接口 ,将定时器从定时器向量中摘下以终止该定时器。所述方法还包括设置定时器的到期时间为二维或多维时间。 所述设置定时器的到期时间为二维时间包括将多核定时器的到期时间设置为到 期秒和到期毫秒的和;在多核定时器初始化时,设置到期秒和到期毫秒或者仅设置到期毫 秒;在多核定时器添加和修改时,如果多核定时器的到期秒不为O,则根据到期毫秒的最大 值将到期秒的全部或者一部分转换成到期毫秒,并根据多核定时器的到期毫秒将多核定时 器添加到多核定时器向量的合适位置;或/和,在处理超时定时器时,如果发现某多核定时 器的到期秒不为O,则再根据到期毫秒的最大值将到期秒的全部或者一部分转换成到期毫秒,然后根据多核定时器的到期毫秒将多核定时器添加到多核定时器向量的合适位置;如 果到期秒为0,则调用超时函数进行定时器的超时处理。 其中,采用Li皿x内核定时器向量算法设置多核定时器向量以及执行所述对多核定时器向量的调整和调度。 其中,所述对多核定时器向量的调度和调整包括随着定时器到期时间的逐渐縮 小,将定时器调整到到期时间相应的定时器向量中。 —种多核定时器实现系统,从多核系统中任意选择一个核作为定时器处理核,其 中所述定时器处理核通过多核系统的时间机制检查时间,并每隔预定时间段执行对多核 定时器向量的调度和调整。 所述定时器处理核,将超期定时器加入到超时定时器队列,对于超时定时器队列 中的各定时器,按照预置的该定时器处理函数进行处理。 所述系统中任意一个核执行对定时器的接口操作,所述对定时器的接口操作包括定时器的初始化、添加、修改或/和删除。 其中,所述定时器到期时间为二维或多维时间。本专利技术提供的方案至少存在以下优点 (1)通过定时器处理核轮询检查时间,每隔一定的时间就进行定时器向量的调整 和调度,不依赖于操作系统中断和下半底。本专利技术提供的定时器设计方法,不依赖于操作系 统的调度机制,无需硬中断和下半底,采用单核轮询的方式,不受外界干扰地对定时器进行 轮询处理,且继承了 li皿x操作系统定时器的核心定时器向量算法,轮询效率大大提高,提 高了定时器的精度,且使得定时器的部署的条件变得更加容易,同时可使得定时器的数量 大大增加、对系统的影响也大大减少、使得多核定时器编程变得简单。 (2)将多核定时器向量调度和调整同超时定时器处理分离,设立超时定时器队列, 分时且集中处理超时定时本文档来自技高网
...

【技术保护点】
一种多核定时器实现方法,其特征在于,从多核系统中任意选择一个核作为定时器处理核,该方法包括:所述定时器处理核通过多核系统的时间机制检查时间;所述定时器处理核每隔预定时间段执行对多核定时器向量的调度和调整。

【技术特征摘要】
一种多核定时器实现方法,其特征在于,从多核系统中任意选择一个核作为定时器处理核,该方法包括所述定时器处理核通过多核系统的时间机制检查时间;所述定时器处理核每隔预定时间段执行对多核定时器向量的调度和调整。2. 根据权利要求1所述方法,其特征在于,所述方法还包括 将超时定时器添加到设置在所述定时器处理核中的超时定时器队列中; 对于超时定时器队列中的各定时器,按照预置的该定时器处理函数进行处理。3. 根据权利要求1所述方法,其特征在于,所述方法还包括;在任意一个核上执行对定时器的接口操作,所述对定时器的接口操作包括定时器的初 始化、添加、修改或/和删除。4. 根据权利要求3所述方法,其特征在于,所述在任意一个核上执行对定时器的接口 操作具体包括在任意一个核上设置定时器的到期时间以及到期处理函数、在任意一个核上根据定时器的到期时间,通过定时器处理核提供的多核定时器添加接 口,将定时器添加到多核定时器向量中、在任意一个核上根据定时器的到期时间,通过定时器处理核提供的多核定时器修改接 口,调整定时器在多核定时器向量中的位置、或/和,在任意一个核上通过定时器处理核提供的多核定时器删除接口 ,将定时器从定时器向 量中摘下以终止该定时器。5. 根据权利要求1至4任一项所述方法,其特征在于,所述方法还包括 设置定时器的到期时间为二维或多维时间。6. 根据权利要求5所述方法,其特征在于,所述设置定时器的到期时间为二维时间包括将多核定时器的到期时间设置为到期秒和到期毫秒的和; 在多核定时器初始化时,设置到期秒和到期毫秒或者仅设置到期毫秒; 在多核定时...

【专利技术属性】
技术研发人员:何志福
申请(专利权)人:联想网御科技北京有限公司
类型:发明
国别省市:11[中国|北京]

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

1