CN105553591A - 一种分布式计算机系统节点同步方法 - Google Patents
一种分布式计算机系统节点同步方法 Download PDFInfo
- Publication number
- CN105553591A CN105553591A CN201510908704.3A CN201510908704A CN105553591A CN 105553591 A CN105553591 A CN 105553591A CN 201510908704 A CN201510908704 A CN 201510908704A CN 105553591 A CN105553591 A CN 105553591A
- Authority
- CN
- China
- Prior art keywords
- synchronous
- cycle
- network
- time
- mtf
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种分布式计算机系统节点同步方法,包括以下步骤:1)节点配置初始化;1.1)计算机节点分区操作系统的模块调度表添加“启动调度”配置,其中“启动调度”中仅设置包含用于进行初始同步的“同步分区”;1.2)“同步分区”的长度设置为T,若网络周期时钟为T`,设置T为T`的整约数;1.3)在“启动调度”中挂接主时间框架开始执行时的扩展挂钩,并初始化start_time_tick=0;本发明一种分布式计算机系统节点间时钟同步的保证方法,能够可靠地对系统节点间进行同步对齐,在应用层建立统一的全系统时间基准,从而实现系统的同步、协调工作,适用于新型嵌入式分布式容错计算机系统的同步管理,实现系统同步工作,提高系统任务可靠性。
Description
技术领域
本发明属于分布式计算机系统同步设计技术领域,是一种分布式计算机系统中节点间时钟同步的保证方法。
背景技术
传统嵌入式容错计算机系统通常采用专用同步硬件电路设计、握手同步算法等方式实现系统节点间的时钟同步,以满足系统同步工作需求;但该方法在不同系统余度构型下,同步硬件电路接口设计、同步算法等实现复杂,通用性较差,导致系统不易扩展升级。
发明内容
为了解决背景技术中所存在的技术问题,本发明提供一种分布式计算机系统节点间时钟同步的保证方法,能够可靠地对系统节点间进行同步对齐,在应用层建立统一的全系统时间基准,从而实现系统的同步、协调工作,适用于新型嵌入式分布式容错计算机系统的同步管理,实现系统同步工作,提高系统任务可靠性。
本发明的技术解决方案是:一种分布式计算机系统节点同步方法,其特征在于:所述方法包括以下步骤:
1)节点配置初始化;
1.1)计算机节点分区操作系统的模块调度表添加“启动调度”配置,其中“启动调度”中仅设置包含用于进行初始同步的“同步分区”;
1.2)“同步分区”的长度设置为T,若网络周期时钟为T`,设置T为T`的整约数;
1.3)在“启动调度”中挂接主时间框架开始执行时的扩展挂钩,并初始化start_time_tick=0;
2)初始同步;
2.1)主时间框架扩展挂钩在每周期开始阶段读取网络同步状态及网络簇周期时钟cycle_time_tick;
2.2)根据网络状态值判断网络是否处于稳定同步;
3)调度切换;
3.1)初始同步成功后,删除主时间框架开始执行时的扩展挂钩,挂接分区切换扩展挂钩;
3.2)根据模块调度表中的调度ID加载新的“工作调度”表,在下一个时钟tick到来时,切换到需要加载的新的“工作调度”中;需要加载的“工作调度”中配置专用于周期同步的“同步分区”;
4)周期同步;
4.1)在“工作调度”的每周期MTF内,分区切换扩展挂钩首先读取网络的同步状态,判断以下两个条件是否同时满足:a)网络是否处于稳定同步状态;b)操作系统开始调度“同步分区”;若不满足进行步骤4.2);若满足进行步骤4.3);
4.2)等待“同步分区”结束后,将用于对MTF计时的系统tick速率设置为缺省值;
4.3)读取网络周期时钟tte_cycle_time,计算“同步分区”在MTF的偏移sync_phase,计算MTF与网络周期时钟的偏移offset_temp=((sync_phase+mtf_duration_time)tte_cycle_time)%mtf_duration_time;
其中mtf_duration_time为MTF长度;
4.4)判断条件offset_temp<mtf_duration_time/2是否成立,根据判断结果设置修正标识,并当偏移大于设置的偏差界限offset_bound时,在系统允许的tick速率范围内对系统tick速率进行修正,使当前MTF内的“同步分区”的长度被“拉长”或“缩短”;
4.5)在“同步分区”结束时,将tick速率重新设置为缺省值,周期同步结束;最终实现“同步分区”结束后,MTF时钟与网络周期时钟、不同计算机节点间的MTF的同步。
上述步骤2.2)判断TTE网络是否处于稳定同步的方式是:
2.2.1)若网络未稳定同步,则重新设置start_time_tick=0;
2.2.2)若网络稳定同步,则判断网络周期时钟cycle_time_tick<start_time_tick是否成立;若不成立,则将start_time_tick赋值为cycle_time_tick;若成立,则初始同步成功,此时节点“启动调度”的MTF时钟与网络周期时钟偏差≤T。
根据权利要求2所述的分布式计算机系统节点同步方法,其特征在于:所述步骤3.2)的“同步分区”长度设置为T``,若网络周期时钟为T`,设置T``为T`的整约数。
本发明的优点是:
1.实现了分布式计算机系统节点间的时钟同步功能,对新型开放式架构的分布式容错计算机系统的时钟同步管理、系统同步工作提供有效技术支撑。
2.分布式计算机系统节点同步方法实现简单,配置灵活,扩展性强。
3.分布式计算机系统节点同步方法利用系统网络时钟实现节点间的时钟同步,实现了同步与通信功能在系统网络上的共栖,有效降低了系统复杂度和SWAP。
附图说明
图1是本发明初始同步方法流程图;
图2(a)是本发明“分区”调度切换方法流程图;
图2(b)是本发明“任务”调度切换方法流程图;
图3是本发明周期同步方法流程图;
具体实施方式
本发明是一种分布式计算机系统节点同步方法,分布式容错计算机系统的每一个计算机节点均配置多个调度模式,节点在上电初始化后,首先执行“启动调度”,根据获取的与本地计算机节点进行通信的系统网络同步状态,尝试计算机节点在“启动调度”模式下的“任务周期”与系统网络时钟的快速初始同步;在初始同步成功后,切换“启动调度”到正常的“工作调度”中;在“工作调度”模式下,每个任务周期内的“同步任务”会根据系统网络的同步状态、周期时钟等信息修正“同步任务”的长度,与系统网络周期时钟进行直接的对齐,以达到在“同步任务”运行完后各节点同步执行“应用任务”的目的,在应用层建立统一的全系统时间基准。该方法主要由初始同步、调度切换和周期同步实现。
初始同步:在计算机节点上电初始化后,节点根据配置运行“启动调度”,在“启动调度”中执行初始同步,初始同步利用本地参数实现在开始下一个网络任务周期时,完成计算机节点与系统网络周期时钟的初始同步。在系统网络稳定同步的基础上,该方法实现一个网络任务周期内完成初始同步,初始同步后的节点间时钟偏差不大于“启动调度”周期长度。“启动调度”与其他调度相比周期很短,并且“启动调度”通常设置为网络任务周期的整约数。
调度切换:若采用分区操作系统:在完成初始同步后,利用操作系统提供的删除扩展挂钩、挂接分区切换挂钩、调度设置等接口,实现在操作系统的下一个tick到来时,快速将节点操作系统由“启动调度”模式切换到“工作调度”模式下,开始执行周期任务。其他情况:在完成初始同步后,直接由“启动调度”模式切换到“工作调度”模式中,执行周期任务。
周期同步:在“工作调度”中,设置有一个“同步任务”,该任务专门用于执行任务周期与系统网络周期时钟同步的同步算法并对任务周期进行相应修正。在每个任务周期内的“同步任务”开始时,读取系统网络同步状态和同步周期时钟值等信息,根据网络同步周期时钟值、“同步任务”在任务周期中的偏移计算任务周期时钟与系统网络周期时钟的偏差,并根据偏差状态及偏差范围选择对用于计时的系统tick速率或系统时钟进行修正,实现“同步任务”长度的修正,进而达到“同步任务”结束时节点任务周期时钟与系统网络任务周期时钟的同步,也即多个节点间时钟的同步对齐。注意若在“同步任务”中对tick速率进行了修正,则在“同步任务”结束后,需要将系统tick速率设置为缺省值,避免影响后续应用的正常执行。
参见图1—图3,本发明的具体实施中,计算机节点配置符合ARINC653标准的分区操作系统,操作系统内配置“同步分区”用于执行“同步任务”功能;系统网络采用时间触发以太网(Time-TriggeredEthernet,TTE),计算机节点利用TTE网络提供的周期同步时钟信息(簇周期时钟)进行节点同步。下面对本发明做进一步详细说明。
(1)节点配置初始化。计算机节点分区操作系统的模块调度表添加“启动调度”配置,其中“启动调度”中仅设置包含用于进行初始同步的“同步分区”,“同步分区”的长度设置为T,若TTE簇周期时钟为T`,通常设置T为T`的整约数。在“启动调度”中挂接主时间框架开始执行时的扩展挂钩,并初始化start_time_tick=0。
(2)初始同步。主时间框架扩展挂钩在每周期开始阶段读取TTE网络同步状态及TTE网络簇周期时钟cycle_time_tick;根据TTE网络状态值判断TTE网络是否处于稳定同步:(a)若TTE网络未稳定同步,则重新设置start_time_tick=0;(b)若TTE网络稳定同步,则判断TTE簇周期时钟cycle_time_tick<start_time_tick是否成立:①若不成立,则将start_time_tick赋值为cycle_time_tick;②若成立,则初始同步成功,此时节点“启动调度”的MTF时钟与TTE簇周期时钟偏差≤T。
(3)调度切换。初始同步成功后,删除主时间框架开始执行时的扩展挂钩,挂接分区切换扩展挂钩;并根据模块调度表中的调度ID加载新的“工作调度”表,方式为在下一个时钟tick到来时,切换到需要加载的新的“工作调度”中。其中需要加载的“工作调度”中需要配置专门用于周期同步的“同步分区”,“同步分区”在“工作调度”表(主时间框架)的顺序可根据系统需求灵活配置,“同步分区”长度设置为T``,若TTE簇周期时钟为T`,通常设置T``为T`的整约数。
(4)周期同步。在“工作调度”的每周期MTF内,分区切换扩展挂钩首先读取TTE网络的同步状态,判断以下两个条件是否同时满足:1)TTE网络是否处于稳定同步状态;2)操作系统开始调度“同步分区”;(a)若不满足,则等待“同步分区”结束后,将用于对MTF计时的系统tick速率设置为缺省值;(b)若满足,则读取TTE簇周期时钟tte_cycle_time,计算“同步分区”在MTF的偏移sync_phase,并计算MTF与TTE簇周期时钟的偏移offset_temp=((sync_phase+mtf_duration_time)tte_cycle_time)%mtf_duration_time,其中mtf_duration_time为MTF长度;并判断条件offset_temp<mtf_duration_time/2是否成立,根据判断结果设置修正标识(tick速率变快或变慢标识),并当偏移大于设置的偏差界限(offset_bound)时,在系统允许的tick速率范围内对系统tick速率进行修正,从而使当前MTF内的“同步分区”的长度被“拉长”或“缩短”;在“同步分区”结束时,将tick速率重新设置为缺省值,周期同步结束;最终实现“同步分区”结束后,MTF时钟与TTE簇周期时钟、不同计算机节点间的MTF的同步。
Claims (3)
1.一种分布式计算机系统节点同步方法,其特征在于:所述方法包括以下步骤:
1)节点配置初始化;
1.1)计算机节点分区操作系统的模块调度表添加“启动调度”配置,其中“启动调度”中仅设置包含用于进行初始同步的“同步分区”;
1.2)“同步分区”的长度设置为T,若网络周期时钟为T`,设置T为T`的整约数;
1.3)在“启动调度”中挂接主时间框架开始执行时的扩展挂钩,并初始化start_time_tick=0;
2)初始同步;
2.1)主时间框架扩展挂钩在每周期开始阶段读取网络同步状态及网络簇周期时钟cycle_time_tick;
2.2)根据网络状态值判断网络是否处于稳定同步;
3)调度切换;
3.1)初始同步成功后,删除主时间框架开始执行时的扩展挂钩,挂接分区切换扩展挂钩;
3.2)根据模块调度表中的调度ID加载新的“工作调度”表,在下一个时钟tick到来时,切换到需要加载的新的“工作调度”中;需要加载的“工作调度”中配置专用于周期同步的“同步分区”;
4)周期同步;
4.1)在“工作调度”的每周期MTF内,分区切换扩展挂钩首先读取网络的同步状态,判断以下两个条件是否同时满足:a)网络是否处于稳定同步状态;b)操作系统开始调度“同步分区”;若不满足进行步骤4.2);若满足进行步骤4.3);
4.2)等待“同步分区”结束后,将用于对MTF计时的系统tick速率设置为缺省值;
4.3)读取网络周期时钟tte_cycle_time,计算“同步分区”在MTF的偏移sync_phase,计算MTF与网络周期时钟的偏移offset_temp=((sync_phase+mtf_duration_time)tte_cycle_time)%mtf_duration_time;
其中mtf_duration_time为MTF长度;
4.4)判断条件offset_temp<mtf_duration_time/2是否成立,根据判断结果设置修正标识,并当偏移大于设置的偏差界限offset_bound时,在系统允许的tick速率范围内对系统tick速率进行修正,使当前MTF内的“同步分区”的长度被“拉长”或“缩短”;
4.5)在“同步分区”结束时,将tick速率重新设置为缺省值,周期同步结束;最终实现“同步分区”结束后,MTF时钟与网络周期时钟、不同计算机节点间的MTF的同步。
2.根据权利要求1所述的分布式计算机系统节点同步方法,其特征在于:所述步骤2.2)判断TTE网络是否处于稳定同步的方式是:
2.2.1)若网络未稳定同步,则重新设置start_time_tick=0;
2.2.2)若网络稳定同步,则判断网络周期时钟cycle_time_tick<start_time_tick是否成立;若不成立,则将start_time_tick赋值为cycle_time_tick;若成立,则初始同步成功,此时节点“启动调度”的MTF时钟与网络周期时钟偏差≤T。
3.根据权利要求2所述的分布式计算机系统节点同步方法,其特征在于:所述步骤3.2)的“同步分区”长度设置为T``,若网络周期时钟为T`,设置T``为T`的整约数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908704.3A CN105553591B (zh) | 2015-12-09 | 2015-12-09 | 一种分布式计算机系统节点同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908704.3A CN105553591B (zh) | 2015-12-09 | 2015-12-09 | 一种分布式计算机系统节点同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105553591A true CN105553591A (zh) | 2016-05-04 |
CN105553591B CN105553591B (zh) | 2018-01-12 |
Family
ID=55832546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510908704.3A Active CN105553591B (zh) | 2015-12-09 | 2015-12-09 | 一种分布式计算机系统节点同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553591B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301653A (zh) * | 2016-08-17 | 2017-01-04 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种分布实时系统的分布节点时钟校准方法 |
CN106301953A (zh) * | 2016-09-20 | 2017-01-04 | 中国科学院计算技术研究所 | 适用于时间触发以太网的分布式容错时钟同步方法及系统 |
CN110113126A (zh) * | 2019-06-05 | 2019-08-09 | 西安云维智联科技有限公司 | 一种基于时间触发网络的跨平台分布式系统分区同步方法 |
CN113810167A (zh) * | 2021-09-27 | 2021-12-17 | 上海航天计算机技术研究所 | 一种分布式系统的时序控制与同步方法 |
CN114880086A (zh) * | 2022-04-02 | 2022-08-09 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种航空电子系统的全局任务同步的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211696A1 (en) * | 2009-02-17 | 2010-08-19 | International Business Machines Corporation | Distributed server election with imperfect clock synchronization |
CN103544065A (zh) * | 2013-11-05 | 2014-01-29 | 中国航空工业集团公司西安飞机设计研究所 | 一种arinc653标准下的航电系统分区窗口调度方法 |
CN104375893A (zh) * | 2014-11-29 | 2015-02-25 | 中国航空工业集团公司第六三一研究所 | 一种基于两级操作系统架构的分区调度方法 |
CN104527970A (zh) * | 2014-12-04 | 2015-04-22 | 中国航空工业集团公司第六三一研究所 | 一种分布式大型飞机襟翼控制计算机系统 |
CN104660477A (zh) * | 2015-03-02 | 2015-05-27 | 中国航空无线电电子研究所 | 一种基于时间触发总线的星型拓扑网络搭建方法 |
-
2015
- 2015-12-09 CN CN201510908704.3A patent/CN105553591B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211696A1 (en) * | 2009-02-17 | 2010-08-19 | International Business Machines Corporation | Distributed server election with imperfect clock synchronization |
CN103544065A (zh) * | 2013-11-05 | 2014-01-29 | 中国航空工业集团公司西安飞机设计研究所 | 一种arinc653标准下的航电系统分区窗口调度方法 |
CN104375893A (zh) * | 2014-11-29 | 2015-02-25 | 中国航空工业集团公司第六三一研究所 | 一种基于两级操作系统架构的分区调度方法 |
CN104527970A (zh) * | 2014-12-04 | 2015-04-22 | 中国航空工业集团公司第六三一研究所 | 一种分布式大型飞机襟翼控制计算机系统 |
CN104660477A (zh) * | 2015-03-02 | 2015-05-27 | 中国航空无线电电子研究所 | 一种基于时间触发总线的星型拓扑网络搭建方法 |
Non-Patent Citations (2)
Title |
---|
刘帅等: "基于TTE 网络的分布式系统分区通信方法", 《航空计算技术》 * |
徐奡等: "高升力系统控制计算机容错技术研究", 《微电子学与计算机》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301653A (zh) * | 2016-08-17 | 2017-01-04 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种分布实时系统的分布节点时钟校准方法 |
CN106301953A (zh) * | 2016-09-20 | 2017-01-04 | 中国科学院计算技术研究所 | 适用于时间触发以太网的分布式容错时钟同步方法及系统 |
CN106301953B (zh) * | 2016-09-20 | 2019-05-14 | 中国科学院计算技术研究所 | 适用于时间触发以太网的分布式容错时钟同步方法及系统 |
CN110113126A (zh) * | 2019-06-05 | 2019-08-09 | 西安云维智联科技有限公司 | 一种基于时间触发网络的跨平台分布式系统分区同步方法 |
CN110113126B (zh) * | 2019-06-05 | 2020-07-21 | 西安云维智联科技有限公司 | 一种基于时间触发网络的跨平台分布式系统分区同步方法 |
CN113810167A (zh) * | 2021-09-27 | 2021-12-17 | 上海航天计算机技术研究所 | 一种分布式系统的时序控制与同步方法 |
CN113810167B (zh) * | 2021-09-27 | 2023-05-09 | 上海航天计算机技术研究所 | 一种分布式系统的时序控制与同步方法 |
CN114880086A (zh) * | 2022-04-02 | 2022-08-09 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种航空电子系统的全局任务同步的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105553591B (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105553591A (zh) | 一种分布式计算机系统节点同步方法 | |
EP3140932B1 (en) | A method for robust ptp synchronization with default 1588v2 profile | |
US10091307B2 (en) | Application management method and terminal | |
CN112328344B (zh) | 一种投屏处理方法及第一设备 | |
CN108809683B (zh) | 部署云应用系统的方法及装置 | |
CN103765377B (zh) | 终端及其应用管理方法 | |
CN103634375A (zh) | 扩容集群节点的方法、装置及设备 | |
CN114079615B (zh) | 一种多集群环境下的应用同步方法、系统、介质和电子设备 | |
CN107704550A (zh) | 文件迁移方法、装置以及计算机可读存储介质 | |
CN103036934A (zh) | 基于镜像的广域网集群部署系统和方法 | |
WO2009089746A1 (fr) | Procédé, dispositif et système de réalisation d'une tâche dans un environnement de grappes | |
CN116562054B (zh) | 一种多实体协同实时仿真系统的构建方法及装置 | |
CN105471994A (zh) | 一种控制方法及装置 | |
CN103401731B (zh) | 手工测试与自动化测试环境切换方法及系统 | |
US10489220B2 (en) | Priority based scheduling | |
WO2018119707A1 (zh) | 内核配置信息的管理方法、装置和电子设备 | |
CN102238032A (zh) | 一种基于缓存服务器的系统参数管理的方法 | |
CN112087506B (zh) | 一种集群节点管理方法、装置及计算机存储介质 | |
CN105577310A (zh) | 一种时间触发网络中任务分区与通信调度的同步方法 | |
CN102523066A (zh) | 基于ieee1588冗余从钟的时钟同步系统及同步方法 | |
CN108958808A (zh) | 终端启动方法及装置、终端及存储介质 | |
CN104038518A (zh) | 信息处理方法、服务器和终端设备 | |
JP6403976B2 (ja) | コンピュータプログラム、情報処理装置及び処理実行方法 | |
CN102983997A (zh) | 主控服务迁移方法及装置 | |
CN109032765A (zh) | 一种虚拟机双机热备部署方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |