一种分布式计算机系统节点同步方法

文档序号:9790686阅读:1112来源:国知局
一种分布式计算机系统节点同步方法
【技术领域】
[0001]本发明属于分布式计算机系统同步设计技术领域,是一种分布式计算机系统中节点间时钟同步的保证方法。
【背景技术】
[0002]传统嵌入式容错计算机系统通常采用专用同步硬件电路设计、握手同步算法等方式实现系统节点间的时钟同步,以满足系统同步工作需求;但该方法在不同系统余度构型下,同步硬件电路接口设计、同步算法等实现复杂,通用性较差,导致系统不易扩展升级。

【发明内容】

[0003]为了解决【背景技术】中所存在的技术问题,本发明提供一种分布式计算机系统节点间时钟同步的保证方法,能够可靠地对系统节点间进行同步对齐,在应用层建立统一的全系统时间基准,从而实现系统的同步、协调工作,适用于新型嵌入式分布式容错计算机系统的同步管理,实现系统同步工作,提高系统任务可靠性。
[0004]本发明的技术解决方案是:一种分布式计算机系统节点同步方法,其特征在于:所述方法包括以下步骤:
[0005]I)节点配置初始化;
[0006]1.1)计算机节点分区操作系统的模块调度表添加“启动调度”配置,其中“启动调度”中仅设置包含用于进行初始同步的“同步分区”;
[0007]1.2)“同步分区”的长度设置为T,若网络周期时钟为T',设置T为T'的整约数;
[0008]1.3)在“启动调度”中挂接主时间框架开始执行时的扩展挂钩,并初始化start_time_tick = 0;
[0009]2)初始同步;
[0010]2.1)主时间框架扩展挂钩在每周期开始阶段读取网络同步状态及网络簇周期时ltcycle_time_tick;
[0011]2.2)根据网络状态值判断网络是否处于稳定同步;
[0012]3)调度切换;
[0013]3.1)初始同步成功后,删除主时间框架开始执行时的扩展挂钩,挂接分区切换扩展挂钩;
[0014]3.2)根据模块调度表中的调度ID加载新的“工作调度”表,在下一个时钟tick到来时,切换到需要加载的新的“工作调度”中;需要加载的“工作调度”中配置专用于周期同步的“同步分区”;
[0015]4)周期同步;
[0016]4.1)在“工作调度”的每周期MTF内,分区切换扩展挂钩首先读取网络的同步状态,判断以下两个条件是否同时满足:a)网络是否处于稳定同步状态;b)操作系统开始调度“同步分区”;若不满足进行步骤4.2);若满足进行步骤4.3);
[0017]4.2)等待“同步分区”结束后,将用于对MTF计时的系统tick速率设置为缺省值;
[0018]4.3)读取网络周期时钟tte_cycle_time,计算“同步分区”在MTF的偏移sync_phase,计算 MTF与网络周期时钟的偏移off se t_temp= ((sync_phase+mtf_durat1n_time)tte_cycle_time)%mtf_durat i on_t ime;
[0019]其中mtf _durat i on_t ime 为MTF 长度;
[0020]4.4)判断条件<^€861:_七611^)〈11^;1^_(111作1:;[011_1:;[1116/2是否成立,根据判断结果设置修正标识,并当偏移大于设置的偏差界限offset_bound时,在系统允许的tick速率范围内对系统tick速率进行修正,使当前MTF内的“同步分区”的长度被“拉长”或“缩短”;
[0021 ] 4.5)在“同步分区”结束时,将tick速率重新设置为缺省值,周期同步结束;最终实现“同步分区”结束后,MTF时钟与网络周期时钟、不同计算机节点间的MTF的同步。
[0022]上述步骤2.2)判断TTE网络是否处于稳定同步的方式是:
[0023]2.2.I)若网络未稳定同步,贝Ij重新设置start_time_tick = O;
[0024]2.2.2)若网络稳定同步,则判断网络周期时钟0}^16_1:;[1116_1:;^1<:〈8七31'1:_1:;[1116_tick是否成立;若不成立,则将start_time_tick赋值为cycle_time_tick ;若成立,则初始同步成功,此时节点“启动调度”的MTF时钟与网络周期时钟偏差< T0
[0025]根据权利要求2所述的分布式计算机系统节点同步方法,其特征在于:所述步骤
3.2)的“同步分区”长度设置为T'',若网络周期时钟为T',设置T''为T'的整约数。
[0026]本发明的优点是:
[0027]1.实现了分布式计算机系统节点间的时钟同步功能,对新型开放式架构的分布式容错计算机系统的时钟同步管理、系统同步工作提供有效技术支撑。
[0028]2.分布式计算机系统节点同步方法实现简单,配置灵活,扩展性强。
[0029]3.分布式计算机系统节点同步方法利用系统网络时钟实现节点间的时钟同步,实现了同步与通信功能在系统网络上的共栖,有效降低了系统复杂度和SWAP。
【附图说明】
[0030]图1是本发明初始同步方法流程图;
[0031]图2(a)是本发明“分区”调度切换方法流程图;
[0032]图2(b)是本发明“任务”调度切换方法流程图;
[0033]图3是本发明周期同步方法流程图;
【具体实施方式】
[0034]本发明是一种分布式计算机系统节点同步方法,分布式容错计算机系统的每一个计算机节点均配置多个调度模式,节点在上电初始化后,首先执行“启动调度”,根据获取的与本地计算机节点进行通信的系统网络同步状态,尝试计算机节点在“启动调度”模式下的“任务周期”与系统网络时钟的快速初始同步;在初始同步成功后,切换“启动调度”到正常的“工作调度”中;在“工作调度”模式下,每个任务周期内的“同步任务”会根据系统网络的同步状态、周期时钟等信息修正“同步任务”的长度,与系统网络周期时钟进行直接的对齐,以达到在“同步任务”运行完后各节点同步执行“应用任务”的目的,在应用层建立统一的全系统时间基准。该方法主要由初始同步、调度切换和周期同步实现。
[0035]初始同步:在计算机节点上电初始化后,节点根据配置运行“启动调度”,在“启动调度”中执行初始同步,初始同步利用本地参数实现在开始下一个网络任务周期时,完成计算机节点与系统网络周期时钟的初始同步。在系统网络稳定同步的基础上,该方法实现一个网络任务周期内完成初始同步,初始同步后的节点间时钟偏差不大于“启动调度”周期长度。“启动调度”与其他调度相比周期很短,并且“启动调度”通常设置为网络任务周期的整约数。
[0036]调度切换:若采用分区操作系统:在完成初始同步后,利用操作系统提供的删除扩展挂钩、挂接分区切换挂钩、调度设置等接口,实现在操作系统的下一个tick到来时,快速将节点操作系统由“启动调度”模式切换到“工作调度”模式下,开始执行周期任务。其他情况:在完成初始同步后,直接由“启动调度”模式切换到“工作调度”模式中,执行周期任务。
[0037]周期同步:在“工作调度”中,设置有一个“同步任务”,该任务专门用于执行任务周期与系统网络周期时钟同步的同步算法并对任务周期进行相应修正。在每个任务周期内的“同步任务”开始时,读取系统网络同步状态和同步周期时钟值等信息,根据网络同步周期时钟值、“同步任务”在任务周期中的偏移计算任务周期时钟与系统网络周期时钟的偏差,并根据偏差状态及偏差范围选择对用于计时的系统tick速率或系统时钟进行修正,实现“同步任务”长度的修正,进而达到“同步任务”结束时节点任务周期时钟与系统网络任务周期时钟的同步,也即多个节点间时钟的同步对齐。注意若在“同步任务”中对t i ck速率进行了修正,则在“同步任务”结束后,需要将系统tick速率设置为缺省值
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1