一种多核系统的时间同步方法及系统技术方案

技术编号:2820180 阅读:301 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多核系统的时间同步方法及系统,所述时间同步方法包含如下步骤:A.建立至少一个时钟同步域,将各个内核分别配属到各个时钟同步域;B.在各个时钟同步域中,选择负载最低的内核作为本时钟同步域的主时钟同步源,以各主时钟同步源中负载最低的主时钟同步源所在时钟同步域为主时钟同步域,其他时钟同步域为从时钟同步域;C.主时钟同步域向各从时钟同步域发送同步偏差检测消息,计算各从时钟同步域与主时钟同步域的时间偏差值;D.当时间偏差值大于允许偏差,主时钟同步域计算出各从时钟同步域的时间调整量并向各从时钟同步域发布,各从时钟同步域根据各自的时间调整量进行调整。本发明专利技术有效解决了多核系统的时间同步问题。

【技术实现步骤摘要】

本专利技术涉及多核处理器领域,尤其涉及一种多核系统的时间同步方法 及系统。
技术介绍
在单核嵌入式处理器系统中,通常只能运行单个嵌入式操作系统,而 在系统运行中,最关键的系统时钟中断是通过将定时中断时间间隔换算成 具体数值,当内核硬件计数器累加到达时间间隔数值时,向内核提交定时中断并由处理器重新自动装载计数器来完成;考虑到定时中断发生的间隔 不宜过频,通常系统中设置系统定时中断发生的间隔为10ms 100ms,每 次产生时钟中断时,系统进入定时中断服务程序,累加系统的tick(时钟 滴答,为系统的相对时间单位,来源于定时器的周期性中断, 一次中断表 示一个tick),并进行操作系统任务调度。在单核处理器中,时钟tick的同步要求不高,例如设定两个软件定时 器,由于时间偏差是相对于一个硬件定时器基准,即使时钟tick中断丢失, 定时器之间的相对间隔并不会发生明显变化,因此不会对业务带来很大的 影响。然而,在多核处理系统中,随着技术的发展,内核数目不断增加,双 核、四核、八核、十六核成为了各种应用开发的主流,多核多线程技术也 发展迅猛,在未来几年将出现单芯片包含64核甚至更多内核,系统的规模 的扩大使得对系统的时钟同步要求也越来越高。当多核系统运行多个嵌入 式操作系统时,例如每个内核单独运行vxWorks、 Linux等嵌入式操作系统 时,如图1所示,多核系统20中的每个内核10单独通过时钟中断30完成 系统时钟计数功能,由于各内核运行负载不均衡等原因,每个内核上运行 的嵌入式操作系统的系统时钟tick不能保持同步,反而随着系统运行时间 的增加,不同内核的系统时钟tick会出现较大的偏差,由于上层软件定时 器一般基于系统时钟tick设计,所以这种偏差达到一定程度时会严重影响不同内核间的上层应用软件定时器的精确和同步。例如假设操作系统每个时钟中断tick为lOms,如果在多个内核上的操作系统同样设置10000个 tick时长的定时器,由于某个内核负载不均衡也会导致该内核上时钟中断 丢失,从而导致tick产生偏差。当不同内核的时钟tick累加偏差正负达 到5个tick即50ms时,这在某些对时间敏感的应用中是无法容忍的。
技术实现思路
有鉴于此,本专利技术提供了一种多核系统的时间同步方法及系统,可以 有效实现多核系统的时钟同步,保证系统运行的可靠性和稳定性。 为了解决上述技术问题,本专利技术采用了如下技术方案 一种多核系统的时间同步方法,包含如下步骤A、 建立至少一个时钟同步域,将所述多核系统的各个内核分别配属 到各个时钟同步域;B、 在各个时钟同步域中,选择负载最低的内核作为本时钟同步域的 主时钟同步设备,其他内核为本时钟同步域的从时钟同步设备;以各主时 钟同步设备中负载最低的主时钟同步设备所在时钟同步域为主时钟同步 域,其他时钟同步域为从时钟同步域;C、 主时钟同步域向各从时钟同步域发送同步偏差检测消息,计算各 从时钟同步域与主时钟同步域的时间偏差值;D、 当所述时间偏差值大于允许偏差,主时钟同步域计算出各从时钟 同步域的时间调整量并向各从时钟同步域发布,各从时钟同步域根据各自 的时间调整量进行调整,完成时钟同步。进一步的,所述步骤B中还包括如下处理在各个时钟同步域中,选 择负载次低的内核作为本时钟同步域的备时钟同步设备,当主时钟同步设 备的内核负载高于备时钟同步设备的内核负载,或主时钟同步设备发生异 常,发生主备倒换。优选的,所述步骤C具体包括如下处理Cl、将主时钟同步域与各从时钟同步域构建成环形同步网络,各从时钟同步域向主时钟同步域注册;C2、主时钟同步域发送同步偏差检测消息,同步偏差检测消息按各从时钟同步域的注册顺序流经各从时钟同步域后返回主时钟同步域,各从时 钟同步域向同步偏差检测消息返回各自的相对时间偏差,所述相对时间偏 差为每一从时钟同步域相对同步偏差检测消息流向的上一个从时钟同步域 的时间偏差;C3、主时钟同步域根据返回的同步偏差检测消息计算各从时钟同步域与主时钟同步域的时间偏差值。其中,所述步骤C中,主时钟同步域向各从时钟同步域发送同步偏差 检测消息采用定时发送方式。进一步的,所述步骤D还包括如下处理对每一从时钟同步域的时间调整量绝对值在预定次数范围内进行加权平均计算;通过所述加权平均计算结果确定各从时钟同步域优先级别;按内核应用的时间精度使各从时钟同步设备在各从时钟同步域之间进 行调整,将时间精度要求高的从时钟同步设备调整到优先级高的从时钟同 步域,将时间精度要求低的从时钟同步设备调整到优先级低的从时钟同步域。更进一步的,如果新增内核,将新增内核加入到对应优先级的时钟同 步域,如果新增内核数量超过对应优先级的时钟同步域的设备容纳门限值, 将该时钟同步域进行拆分。所述的时间同步方法,内核负载按如下方式计算-.确定内核负载计算关联因子,所述内核负载计算关联因子包括内核当 前占用率、内核负载历史、内核挂接终端设备类型、内核挂接中断源数量、 内核应用类型;选择上述内核负载计算关联因子中的至少一种进行加权运算,以加权 运算结果作为内核负载。所述的时间同步方法,还包括系统时钟tick监测处理 主时钟同步域的主时钟同步设备在每个系统tick间隔内至少对系统tick采样两次,累加系统tick采样值;按预定原则判定系统tick是否丢失,如果丢失,修正当前系统tick值。本专利技术还公开了一种多核系统的时间同步系统,包括至少一个时钟同步域,所述多核系统的各个内核分别被配属到各个时钟同步域,在各个时 钟同步域中,负载最低的内核为本时钟同步域的主时钟同步设备,其他内核为本时钟同步域的从时钟同步设备;各主时钟同步设备中负载最低的主 时钟同步设备所在时钟同步域为主时钟同步域,其他时钟同步域为从时钟 同步域;所述主时钟同步域用于向各从时钟同步域发送同步偏差检测消息,计 算各从时钟同步域与主时钟同步域的时间偏差值,并在所述时间偏差值大 于允许偏差时,计算出各从时钟同步域的时间调整量并向各从时钟同步域 发布。所述的时间同步系统,主时钟同步域外接有外部同步源。本专利技术在多核系统中划分时间同步区域,由主时钟同步域作为所有时 钟同步域的控制管理域,因而可以均衡系统的处理负载,避免由于运行规 模的增加而导致的系统软件处理延时,调整上层软件定时器随着系统的运 行时间增加导致的偏差,有效实现了多核系统的时钟同步,提高了系统运 行的可靠性和稳定性。附图说明图1是现有多核系统应用示意图2是本专利技术具体实施方式的多核系统时间同步区域划分示意图3是本专利技术具体实施方式点多核系统的时间同步组网示意图; 图4是本专利技术具体实施方式的时钟tick监测示意图5是本专利技术具体实施方式的多核系统时间同步方法流程图。具体实施例方式下面对照附图并结合具体实施方式对本专利技术进行详细说明。本专利技术具体实施方式参见图2至图5,如图2所示,本专利技术具体实施方式的时间同步方法主要包括如下步骤510、 首先划分时钟同步域,将各个内核唯一的划分到各时钟同步域中;511、 确定主时钟同步域和从时钟同步域,从时钟同步域向主时钟同步 域发送注册消息;512、 将所有时钟同步域构建成环状网络,由主时钟同步域的主时钟同 步设备定时监测其余时钟同步域的时钟偏差;513、 需要调整时,主时钟同步域向各个本文档来自技高网
...

【技术保护点】
一种多核系统的时间同步方法,其特征在于,包含如下步骤: A、建立至少一个时钟同步域,将所述多核系统的各个内核分别配属到各个时钟同步域; B、在各个时钟同步域中,选择负载最低的内核作为本时钟同步域的主时钟同步设备,其他内核为本时钟同步域的从时钟同步设备;以各主时钟同步设备中负载最低的主时钟同步设备所在时钟同步域为主时钟同步域,其他时钟同步域为从时钟同步域; C、主时钟同步域向各从时钟同步域发送同步偏差检测消息,计算各从时钟同步域与主时钟同步域的时间偏差值; D、当所述时间偏差值大于允许偏差,主时钟同步域计算出各从时钟同步域的时间调整量并向各从时钟同步域发布,各从时钟同步域根据各自的时间调整量进行调整,完成时钟同步。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵阳肖理
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

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