• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      RTEthernet中改進(jìn)的FTA時(shí)鐘同步算法研究

      2023-01-03 09:06:16張宇輝張鳳登張海濤
      電子科技 2023年1期
      關(guān)鍵詞:拜占庭精密度以太網(wǎng)

      張宇輝,張鳳登,張海濤

      (上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

      RTEthernet(Real-Time Ethernet)是新提出的一種實(shí)時(shí)以太網(wǎng),該網(wǎng)絡(luò)能夠兼容傳統(tǒng)以太網(wǎng)的實(shí)時(shí)以太網(wǎng)協(xié)議,主要應(yīng)用于工業(yè)、車載以太網(wǎng)技術(shù)應(yīng)用。這種實(shí)時(shí)以太網(wǎng)采用總線拓?fù)浣Y(jié)構(gòu),在傳統(tǒng)的物理層和數(shù)據(jù)鏈路層之上增加了會(huì)話層,并使用 “通信循環(huán)”的概念分時(shí)傳輸實(shí)時(shí)性消息和非實(shí)時(shí)性消息。

      對(duì)于時(shí)鐘同步技術(shù)的研究,國(guó)外在該領(lǐng)域的起步較早。1978年,文獻(xiàn)[1]較為全面地闡述了時(shí)鐘同步技術(shù)的原理、方法以及時(shí)鐘同步在分布式系統(tǒng)中的應(yīng)用。文獻(xiàn)[2]以經(jīng)典的Lamport時(shí)鐘同步算法為基礎(chǔ)研究了平均值算法和Berkeley算法,且這兩種類型算法的核心都是平均技術(shù)。文獻(xiàn)[3]針對(duì)確定全網(wǎng)時(shí)鐘的問題提出了一種基于平均場(chǎng)的分布式時(shí)鐘同步方法,該算法將節(jié)點(diǎn)間的時(shí)鐘偏差映射為團(tuán)勢(shì)能,然后使用能量函數(shù)來描述時(shí)鐘同步平均場(chǎng)模型。該方法中,時(shí)鐘同步的核心思想仍基于平均場(chǎng)理論,通過節(jié)點(diǎn)間的平均作用來確定全網(wǎng)虛擬時(shí)鐘基準(zhǔn)。目前多數(shù)關(guān)于分布式時(shí)鐘同步算法的研究都是針對(duì)某一網(wǎng)絡(luò)進(jìn)行適應(yīng)性改進(jìn)?;诖耍疚耐ㄟ^對(duì)RTEthernet協(xié)議通信原理及其基礎(chǔ)時(shí)鐘同步算法的研究,考慮最惡劣的拜占庭故障對(duì)系統(tǒng)時(shí)鐘精密度的影響,分析時(shí)鐘同步的條件和經(jīng)典時(shí)鐘同步算法,即容錯(cuò)均值(Fault-Tolerant Average,F(xiàn)TA)算法,逐步提出容錯(cuò)性更高的時(shí)鐘同步算法。

      1 RTEthernet基本原理

      RTEthernet是一種實(shí)時(shí)以太網(wǎng),它保留了傳統(tǒng)Ethernet的物理層和數(shù)據(jù)鏈路層工作模型,并在此基礎(chǔ)上使用了ISO/OSI參考模型的第5層(會(huì)話層)進(jìn)行報(bào)文的再封裝。RTEthernet網(wǎng)絡(luò)還引入了“全局時(shí)間”的概念,這使得其不僅可以兼容傳統(tǒng)以太網(wǎng),還可以使用時(shí)分多路訪問(Time Division Multiple Access,TDMA)的通信方式進(jìn)行基礎(chǔ)報(bào)文的傳輸,從而克服了傳統(tǒng)以太網(wǎng)在負(fù)載較高時(shí)延遲較大的影響,提高了傳統(tǒng)以太網(wǎng)的實(shí)時(shí)性和安全性。

      1.1 體系結(jié)構(gòu)

      國(guó)際標(biāo)準(zhǔn)化組織(International Organization for Standardization,ISO)制訂的開放式系統(tǒng)互連(Open System Interconnection,OSI)參考模型共分7層,從低到高依次為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層[4-5],如圖1所示。

      由圖1可以看出,以太網(wǎng)只定義了ISO/OSI體系結(jié)構(gòu)中的最低兩層,這主要是因?yàn)槲锢韺邮怯脕斫?shí)時(shí)傳輸網(wǎng)絡(luò)中的物理連接,而數(shù)據(jù)鏈路層是用來將數(shù)據(jù)封裝成幀進(jìn)行傳輸,以此實(shí)現(xiàn)真的順序控制、差錯(cuò)控制以及流控制等功能,使得不可靠的鏈路變成可靠的鏈路,這兩者都是必不可少的部分。然而,RTEthernet要做的是在這兩層的基礎(chǔ)上添加一個(gè)協(xié)議層,且不改變Ethernet的物理層和數(shù)據(jù)鏈路層。為此,該協(xié)議修改了OSI/ISO參考模型的會(huì)話層。

      圖1 ISO/OSI、Ethernet和RTEthernet的體系結(jié)構(gòu)Figure 1. Architecture for ISO/OSI、Ethernet and RTEthernet

      1.2 工作原理

      RTEthernet協(xié)議是以確定性定時(shí)通信為基礎(chǔ),其通信方法是基于周期性重復(fù)的通信循環(huán),因此需要提前建立通信循環(huán)和時(shí)間窗口的大小。如圖2所示,本文類比矩陣行和列的方式,將RTEthernet的整體情況進(jìn)行展示。圖中的矩陣從宏觀上展現(xiàn)了RTEthernet的一般性工作原理。

      圖2形象地展示了RTEthernet的通信原理,其中每個(gè)通信循環(huán)中包含了靜態(tài)段、動(dòng)態(tài)段和網(wǎng)絡(luò)空閑時(shí)間段。在實(shí)際實(shí)現(xiàn)中,循環(huán)的個(gè)數(shù)是一個(gè)常數(shù),具體會(huì)根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)定。在基本的通信循環(huán)中用于報(bào)文傳輸?shù)臅r(shí)間只在動(dòng)態(tài)段和靜態(tài)段,并且所有要通過該網(wǎng)絡(luò)進(jìn)行傳輸?shù)膱?bào)文都會(huì)被組織成靜態(tài)段或者動(dòng)態(tài)段的元素。在靜態(tài)段中進(jìn)行傳輸?shù)膱?bào)文都是周期性的、具有實(shí)時(shí)性的報(bào)文,其元素所處的位置都是固定的,而動(dòng)態(tài)段傳輸?shù)氖请S機(jī)的、事件觸發(fā)型報(bào)文,其中的元素位置是不固定的。因此,這種通信模式定義了時(shí)間窗口與使用該網(wǎng)絡(luò)進(jìn)行傳輸?shù)膱?bào)文的相關(guān)性。

      圖2 RTEthernet通信原理Figure 2. RTEthernet communication principles

      2 時(shí)鐘同步

      分布式系統(tǒng)[6]由一組處理器組成,它們通過消息交換進(jìn)行通信,并且不能訪問全局時(shí)鐘。盡管如此,越來越多的分布式應(yīng)用程序,例如過程控制應(yīng)用程序、事務(wù)處理應(yīng)用程序或通信協(xié)議,都要求同步時(shí)鐘能夠擁有近似相同的時(shí)間視圖。在此上下文中,時(shí)間意味著實(shí)際時(shí)間的近似值或簡(jiǎn)單的整數(shù)值計(jì)數(shù)器。確保物理上分散的處理器有共同的時(shí)間知識(shí)的算法被稱為時(shí)鐘同步算法。

      2.1 誤差來源及時(shí)鐘故障分類

      由于分布式系統(tǒng)中的各個(gè)節(jié)點(diǎn)對(duì)于時(shí)間的看法各不相同,因此需要對(duì)其進(jìn)行時(shí)鐘同步。造成這一現(xiàn)象的主要因素是溫度和老化,這使得各個(gè)節(jié)點(diǎn)的硬件時(shí)鐘的晶振頻率發(fā)生漂移。在實(shí)際應(yīng)用中,漂移率的量級(jí)通常在10-6s[7]。

      在分布式系統(tǒng)中,節(jié)點(diǎn)的故障可以定義為不符合正常行為的表現(xiàn)。節(jié)點(diǎn)中的所有組件,例如處理器、時(shí)鐘、通信的鏈路等都可能出現(xiàn)故障。對(duì)于各個(gè)節(jié)點(diǎn)的時(shí)鐘而言,與其相關(guān)的故障主要分為7類[8]:其中最著名的是時(shí)鐘拜占庭故障[9](Clock Byzantine Failure)。

      在分布式系統(tǒng)中,任意節(jié)點(diǎn)都可能會(huì)存在上述類型的某一種故障或幾種故障混合,在這種情況下則稱該節(jié)點(diǎn)是故障的,否則是無故障的。同時(shí),在本文主要考慮的就是最惡劣情況(拜占庭故障,如圖3所示)下的兩種情況。如果一個(gè)時(shí)鐘同步算法能夠使得分布式系統(tǒng)能夠容忍上述最惡劣情況下的故障,則表明該算法是有效的。因此,時(shí)鐘同步算法容錯(cuò)性的重點(diǎn)就體現(xiàn)在系統(tǒng)對(duì)拜占庭故障節(jié)點(diǎn)的容忍性上。

      圖3 時(shí)鐘拜占庭故障Figure 3. The clock Byzantine failure

      2.2 時(shí)鐘同步的基本表征

      為了能夠有效衡量系統(tǒng)中各個(gè)時(shí)鐘是否達(dá)到同步,本文引入了如下衡量指標(biāo):時(shí)鐘偏差Δ(Offset)、精密度φ(Precision)和準(zhǔn)確度ψ(Accuracy)。

      偏差Δ為具有相同粒度的兩個(gè)時(shí)鐘在同一單位微節(jié)拍上的偏差,可用下式表示

      (1)

      精密度φ為在給定的真實(shí)時(shí)間間隔[t1,t2]內(nèi),時(shí)鐘集合{1,2,3,…,n}上任意兩個(gè)時(shí)鐘間的最大偏差,可用下式表示

      (2)

      式中,i表示微節(jié)拍;a、b表示時(shí)鐘編號(hào)。一般情況下,有限時(shí)間間隔上的最大φi稱為時(shí)鐘集合的精密度。衡量一個(gè)系統(tǒng)內(nèi)所有節(jié)點(diǎn)間的時(shí)鐘是否達(dá)到同步就是根據(jù)精密度來判斷的。若精密度小于某個(gè)期望值,則表示系統(tǒng)內(nèi)部的各節(jié)點(diǎn)之間相互同步,反之,則未達(dá)到同步。

      準(zhǔn)確度ψ為任意時(shí)鐘a相對(duì)于參考時(shí)鐘r在微節(jié)拍i的偏差,用ψia表示

      (3)

      此外,時(shí)鐘同步算法從不同的角度可以分為不同的類型,從宏觀上可以將時(shí)鐘同步算法分為外部時(shí)鐘同步算法與內(nèi)部時(shí)鐘同步算法[10-12];從同步時(shí)使用的工具角度上可以將時(shí)鐘同步算法分為硬件時(shí)鐘同步算法與軟件時(shí)鐘同步算[13-15];從容錯(cuò)性的角度,又可以將時(shí)鐘同步算法分為容錯(cuò)性算法和非容錯(cuò)性算法。

      3 算法模型

      3.1 系統(tǒng)模型假設(shè)

      假設(shè)1(時(shí)鐘偏移率有界) 存在一個(gè)很小的已知常數(shù)ρ,其中0<ρ?1,本文定義一個(gè)無故障時(shí)鐘Hi(t)在所有的真實(shí)時(shí)間t上都是ρ有界的,即該時(shí)鐘滿足如下特性

      (4)

      其中,Hk(t)表示節(jié)點(diǎn)k的本地時(shí)鐘值;ρ表示本地硬件時(shí)鐘的漂移率。

      假設(shè)2(時(shí)鐘初始同步) 設(shè)分布式實(shí)時(shí)系統(tǒng)在真實(shí)時(shí)間t0時(shí)刻開始啟動(dòng),邏輯時(shí)鐘初始是同步的,即對(duì)于某個(gè)固定值φint和系統(tǒng)內(nèi)任意兩個(gè)無故障節(jié)點(diǎn)p、q在t0時(shí)刻滿足下式

      |Cpt0)-Cqt0)|≤φint

      (5)

      式中,Cp(t0)、Cq(t0)分別表示時(shí)鐘p、q在真實(shí)時(shí)間t0時(shí)刻的時(shí)鐘值;φint表示無故障節(jié)點(diǎn)初始同步時(shí)兩者之間的最大偏差。

      假設(shè)3(故障節(jié)點(diǎn)數(shù)有界) 由文獻(xiàn)[16]可知,當(dāng)系統(tǒng)中故障節(jié)點(diǎn)數(shù)超過總節(jié)點(diǎn)數(shù)的1/3時(shí),在不使用簽名認(rèn)證的技術(shù)下,將無法維持時(shí)鐘同步。因此,假設(shè)參與時(shí)鐘同步的節(jié)點(diǎn)總數(shù)為n,可能發(fā)生故障的最大節(jié)點(diǎn)數(shù)為f,則n和f滿足式(6)。

      n≥3f+1

      (6)

      RTEthernet定義了一個(gè)確定性的多主網(wǎng)絡(luò)。為了使它的傳輸速率盡可能地靠近以太網(wǎng),將RTEthernet系統(tǒng)的基本結(jié)構(gòu)定義為星型拓?fù)浣Y(jié)構(gòu)。

      當(dāng)進(jìn)行遠(yuǎn)程時(shí)鐘讀取和計(jì)算時(shí),除故障的情況之外,還會(huì)有時(shí)間上的延遲。為了方便對(duì)下文時(shí)鐘同步算法的描述和分析,本文對(duì)系統(tǒng)模型做如下假設(shè)。

      假設(shè)4(傳輸延遲有界) 對(duì)于某些非負(fù)常數(shù)δ和ε,且δ>ε,每條報(bào)文的發(fā)送和接收對(duì)應(yīng)真實(shí)時(shí)間的差值de存在一個(gè)已知的上下界,即

      de∈[δ-ε,δ+ε]

      (7)

      式中,δ表示報(bào)文傳輸延遲范圍的中值;ε表示讀取其他節(jié)點(diǎn)時(shí)鐘值時(shí)的讀取誤差。

      除了假設(shè)傳輸延遲有界外,延遲的長(zhǎng)短還與其他因素相關(guān),例如任意一個(gè)節(jié)點(diǎn)Ni在分布式系統(tǒng)中接收到報(bào)文進(jìn)行處理、運(yùn)行算法所需的時(shí)間等。

      假設(shè)5(算法執(zhí)行時(shí)間) 本文假設(shè)這些時(shí)間都可忽略。在實(shí)際情況中,造成消息延遲的主要原因是傳輸延遲,而執(zhí)行算法、處理報(bào)文等產(chǎn)生的延遲都遠(yuǎn)小于傳輸延遲,為簡(jiǎn)化起見,將忽略這些延遲。

      假設(shè)6(重同步周期) 為了保證時(shí)鐘同步,非故障節(jié)點(diǎn)p發(fā)送消息時(shí),其余非故障節(jié)點(diǎn)q都與p處于同一輪次,因此要求重同步周期λ滿足下列條件

      λ>21+ρ)φint+ε)+1+ρ)max{δ,φint+ε}+ρδ

      (8)

      λ≤φint/4ρ-ε/ρ-ρφint+δ+ε)-2φint-δ-2ε

      (9)

      式中,δ為可能的消息延遲范圍的中值;ε為消息延遲的不確定度;φint為常數(shù),表示初始同步程度的上限。

      3.2 時(shí)鐘同步條件

      根據(jù)章節(jié)3.1給出的系統(tǒng)模型,時(shí)鐘同步算法需滿足一定的同步判斷條件才能證明算法的收斂性和有效性。

      對(duì)于所有正確時(shí)鐘Ci和Cj,如果在時(shí)間Ti+1之前,所有時(shí)鐘中除了最多m個(gè)時(shí)鐘之外都沒有故障,那么時(shí)鐘同步算法需滿足以下時(shí)鐘同步要求:

      (1)R1(收斂性/精密度)。|Ci(t)-Cj(t)|≤φi,其中φi表示時(shí)鐘同步算法的精密度;

      (2)R2(校正項(xiàng)有界)。每次重新同步時(shí),一個(gè)無故障時(shí)鐘被改變的大小在數(shù)量上有一個(gè)小的限制。

      4 FTA算法的分析及改進(jìn)

      目前國(guó)內(nèi)外出現(xiàn)了較多的分布式實(shí)時(shí)系統(tǒng)時(shí)鐘同步算法,其中容錯(cuò)均值(Fault-Tolerant Average,F(xiàn)TA)算法是一種最典型的時(shí)鐘同步算法。

      FTA算法是一種單輪算法,能夠處理不一致信息,限制由不一致性引入的錯(cuò)誤。該算法起源于傳統(tǒng)的“平均技術(shù)”,引入去極值的思想,從而形成了基礎(chǔ)的時(shí)鐘同步算法,實(shí)現(xiàn)過程如圖4所示。

      圖4 FTA算法同步過程Figure 4. The synchronization process of FTA algorithm

      對(duì)于由N個(gè)節(jié)點(diǎn)組成的系統(tǒng),要容忍x個(gè)拜占庭故障,每個(gè)節(jié)點(diǎn)通過交互的方式收集本地時(shí)鐘與其他節(jié)點(diǎn)的時(shí)鐘之間的時(shí)間偏差,得到N-1個(gè)時(shí)間偏差,加上自身的時(shí)間偏差,總共得到了N個(gè)時(shí)間偏差。然后,將這些時(shí)間偏差由大到小排序,去除偏差序列中x個(gè)最小值和x個(gè)最大值,最后對(duì)剩余序列中的N-2x個(gè)時(shí)間偏差求平均值,以此來獲得本地時(shí)鐘的校正項(xiàng)。

      由模型假設(shè)本文可以得知,系統(tǒng)中各個(gè)節(jié)點(diǎn)初始同步到φint內(nèi),本文引入一個(gè)收斂函數(shù)Γ(φint,N,f,ε),該函數(shù)用于給出瞬時(shí)重同步后所有好時(shí)鐘的時(shí)鐘值的最大差值,即系統(tǒng)的時(shí)鐘精密度。

      讀取誤差ε是一個(gè)附加項(xiàng),將收斂函數(shù)分解為式(10)。

      Γφint,N,f,ε)=Γφint,N,f)+ε

      (10)

      在最壞的情況下,一個(gè)好的“過期”消息被一個(gè)節(jié)點(diǎn)接收到,而另一個(gè)節(jié)點(diǎn)沒接收到。因此,單個(gè)消息的丟失對(duì)于平均值的影響是有限的,可由下式計(jì)算。

      (11)

      由上述計(jì)算可以計(jì)算出,在考慮讀取錯(cuò)誤和f個(gè)故障(報(bào)文丟失、拜占庭故障)的情況下,重同步后全局近似時(shí)間偏差的最大值為式(12)。

      (12)

      在重同步周期λ內(nèi),好的時(shí)鐘的最大偏移率為ρ,因此在同步周期內(nèi),將好時(shí)鐘之間的最大偏移量記為ζ,則下式成立。

      ξ=2ρλ

      (13)

      由于任何兩個(gè)好的時(shí)鐘在同一重同步時(shí)間間隔內(nèi)都會(huì)偏離,因此對(duì)于任何重同步間隔內(nèi),下列條件必然成立

      Γφint,N,f,ε)≤φint-ξ

      (14)

      由式(12)和式(14)計(jì)算出FTA算法的同步精密度最大值計(jì)算式。

      (15)

      由式(15)可以看出,在前文所建立的模型下,在一個(gè)由10個(gè)時(shí)鐘組成的系統(tǒng)中,當(dāng)只有一個(gè)故障的時(shí)候,系統(tǒng)會(huì)損失14%的同步精密度;當(dāng)系統(tǒng)中出現(xiàn)兩個(gè)任意的故障,雖然系統(tǒng)可以容忍,但是這會(huì)導(dǎo)致50%的同步精密度損失。經(jīng)過上述分析可以看出,該算法具有一定的容錯(cuò)能力,并且其容錯(cuò)能力體現(xiàn)在去極值的過程。但是在滿足模型假設(shè)的情況下,隨著拜占庭故障數(shù)量不斷增多,系統(tǒng)的容錯(cuò)能力大幅度下滑,因此本文將針對(duì)這一問題對(duì)FTA算法進(jìn)行改進(jìn)。

      在上述FTA算法的介紹中可以看出其并不能保證完全將系統(tǒng)中存在的故障濾除,因此之后的“求平均”所得到的結(jié)果將會(huì)受到拜占庭故障的影響。這降低了系統(tǒng)的容錯(cuò)能力,因此本文在FTA算法的基礎(chǔ)上采用了“容錯(cuò)中值”的方法,提出了適用于RTEthernet的容錯(cuò)中值算法,即RTEthernet容錯(cuò)中值算法(RTEthernet Fault-Tolerant Midpoint Algorithm, RTE-FTM)算法,這種方法可以避免一個(gè)壞的值對(duì)中值的扭曲。

      RTE-FTM算法沿用了FTA算法中去極值的思想,將每個(gè)節(jié)點(diǎn)讀取到的時(shí)鐘值集Pi進(jìn)行去降序排列,再將Pi中最大和最小的f個(gè)時(shí)鐘值剔除,得到一個(gè)新的集合Pif,然后將集合Pif中新序列的中值當(dāng)做目標(biāo)值,即全局時(shí)基。如果序列中的個(gè)數(shù)為偶數(shù),則用中間兩個(gè)數(shù)的平均值(向下取整)來當(dāng)作全局時(shí)基。

      根據(jù)上文的模型假設(shè)與容錯(cuò)能力的改進(jìn),下面以偽代碼的形式描述第i輪同步中節(jié)點(diǎn)q使用容錯(cuò)中值時(shí)鐘同步算法進(jìn)行時(shí)鐘同步的過程。函數(shù)及符號(hào)定義如表1所示。

      表1 偽代碼參數(shù)Table 1. Pseud code Parameters

      RTEthernet容錯(cuò)中值算法描述如下:

      輸入:重同步時(shí)間。

      輸出:本地節(jié)點(diǎn)即將應(yīng)用的校正項(xiàng)。

      2.GET[q]=TqNOW//每個(gè)節(jié)點(diǎn)記錄當(dāng)前的時(shí)鐘值

      4.send(message);

      5. end if

      7.ifTqNOW=Tithen

      11.end if

      12.end while

      綜上可以看出,各個(gè)節(jié)點(diǎn)進(jìn)行交互各自的本地時(shí)鐘值,然后將獲取到的(包括自己的)時(shí)鐘值進(jìn)行降序排列,隨后去除f個(gè)最大值和f個(gè)最小值,并使余下值中的中值作為目標(biāo)值,再進(jìn)行代數(shù)計(jì)算可以得到校正項(xiàng),最后通過狀態(tài)修正和速率修正算法來進(jìn)行時(shí)鐘的同步。由于RTE-FTM算法是以FTA算法為基礎(chǔ),用中點(diǎn)值代替平均值的計(jì)算方法,因此算法的收斂性和有效性證明與FTA算法相類似,這里不重新進(jìn)行理論的證明。在下一節(jié)中將通過實(shí)驗(yàn)仿真驗(yàn)證其收斂性和有效性。

      5 實(shí)驗(yàn)結(jié)果與分析

      本文在章節(jié)4中對(duì)FTA算法進(jìn)行改進(jìn),提出了數(shù)學(xué)模型,本章節(jié)中將對(duì)RTE-FTM算法的收斂性和容錯(cuò)性進(jìn)行仿真驗(yàn)證。采用CANoe平臺(tái)進(jìn)行仿真實(shí)驗(yàn),CANoe的主要組成部分為:CANdb++、Panel Editor&Panel Designer和編程工具CAPL(CAN Access Programming Language)。

      5.1 系統(tǒng)模型的構(gòu)成

      本實(shí)驗(yàn)通過7個(gè)節(jié)點(diǎn)構(gòu)成一個(gè)總線型的拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)通過模擬RTEthernet協(xié)議進(jìn)行通信。本文將節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)4、節(jié)點(diǎn)5、節(jié)點(diǎn)7設(shè)置為無故障節(jié)點(diǎn)。根據(jù)章節(jié)3中的算法模型,將節(jié)點(diǎn)3和節(jié)點(diǎn)6設(shè)置為拜占庭故障節(jié)點(diǎn),其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示。

      圖5 仿真系統(tǒng)拓?fù)浣Y(jié)構(gòu)Figure 5. The topology structure of the simulation system

      5.2 系統(tǒng)參數(shù)設(shè)置

      在上述搭建好的系統(tǒng)模型中,需要確定模型參數(shù)值。本節(jié)將對(duì)仿真實(shí)驗(yàn)中具體參數(shù)進(jìn)行確定。根據(jù)文獻(xiàn)[13,17~18]的研究成果及RTEthernet通信模型的約束條件,確定部分參數(shù)為:系統(tǒng)內(nèi)各節(jié)點(diǎn)的最大時(shí)鐘漂移率ρ=10-4s,各節(jié)點(diǎn)初始同步的精密度為φint=20×10-6s,并且在系統(tǒng)中的傳輸延遲最大為10×10-6s,最小延遲為5×10-6s。即分布式系統(tǒng)內(nèi)的消息傳輸延遲在[5,10] μs內(nèi),因此系統(tǒng)的傳輸延遲不確定度為2.5×10-6s,消息延遲范圍的中間值δ=7.5×10-6s。根據(jù)前文的假設(shè)和RTEthernet網(wǎng)絡(luò)的協(xié)議規(guī)范可知,仿真系統(tǒng)的重同步周期的下限只存在于ST段和NIT段,上限包含了DYN段,本文考慮普通情況下的重同步周期,即每個(gè)循環(huán)中包含了ST段和DYN段以及NIT段,故將長(zhǎng)度設(shè)置為5 ms,循環(huán)編號(hào)最大編號(hào)(gCycleMax)為200。具體參數(shù)如表2所示。

      表2 系統(tǒng)模型參數(shù)Table 2. Parameters of the system model

      5.3 仿真結(jié)果分析

      根據(jù)上述系統(tǒng)拓?fù)浣Y(jié)構(gòu)和參數(shù)的設(shè)置,本文將對(duì)存在故障情況下的FTA和RTE-FTM算法進(jìn)行收斂性和容錯(cuò)性驗(yàn)證。

      控制f=0與系統(tǒng)初始精密度φint=20×10-6s,根據(jù)表2的參數(shù)來設(shè)置每個(gè)虛擬節(jié)點(diǎn)時(shí)鐘的環(huán)境變量,各個(gè)節(jié)點(diǎn)分別執(zhí)行FTA、RTE-FTM兩種算法,并將兩種算法進(jìn)行對(duì)比分析。從圖6可以看出,系統(tǒng)中的各個(gè)時(shí)鐘經(jīng)過時(shí)鐘同步算法進(jìn)行周期性時(shí)間校正后,系統(tǒng)的時(shí)鐘精密度大致穩(wěn)定在一定的范圍內(nèi),在無拜占庭故障時(shí)鐘時(shí),RTE-FTM的精度大于FTA的精度。

      圖6 無拜占庭故障情況下兩種算法的時(shí)鐘同步精密度對(duì)比Figure 6. Comparison of clock synchronization precision between two algorithms without Byzantine fault

      控制f=1,2和系統(tǒng)初始精密度φint=20×10-6s,對(duì)FTA、RTE-FTM算法進(jìn)行對(duì)比分析及收斂性和容錯(cuò)性驗(yàn)證。從圖7可看出,當(dāng)設(shè)置節(jié)點(diǎn)3發(fā)生拜占庭故障時(shí),經(jīng)過FTA算法同步后系統(tǒng)的精密度大約為24.47 μs;當(dāng)有節(jié)點(diǎn)3和6都發(fā)生拜占庭故障時(shí),整個(gè)系統(tǒng)的精密度約為26.32 μs。由此可知,在10個(gè)節(jié)點(diǎn)的系統(tǒng)中存在兩個(gè)拜占庭故障時(shí),F(xiàn)TA算法的容錯(cuò)能力降低,同步后系統(tǒng)精密度下降13.7%。對(duì)于RTE-FTM算法,當(dāng)有一個(gè)節(jié)點(diǎn)發(fā)生拜占庭故障時(shí),整個(gè)系統(tǒng)的精密度約為27.92 μs,當(dāng)有兩個(gè)節(jié)點(diǎn)同時(shí)發(fā)生拜占庭故障時(shí),整個(gè)系統(tǒng)的精密度約為28.34 μs。

      圖7 拜占庭故障情況下兩種算法的時(shí)鐘同步精密度對(duì)比Figure 7. Comparison of clock synchronization precision between two algorithms under Byzantine fault

      綜上,在滿足以下兩個(gè)條件:(1)分布式系統(tǒng)中各個(gè)節(jié)點(diǎn)初始同步;(2)節(jié)點(diǎn)數(shù)不超過總數(shù)1/3的拜占庭故障節(jié)點(diǎn),可認(rèn)定RTE-FTM是收斂的。在系統(tǒng)中存在拜占庭故障時(shí),F(xiàn)TA算法的同步精密度損失了13.7%,RTE-FTM算法的同步精密度損失了10.6%。在拜占庭故障數(shù)量相同的情況下,RTE-FTM算法比FTA算法的同步精密度損失率降低了3.1%。

      6 結(jié)束語

      工業(yè)以太網(wǎng)[19]在工業(yè)制造、自動(dòng)化控制等領(lǐng)域中的應(yīng)用不斷擴(kuò)大,但是想要能夠完成無線到有線的“變革”,不可避免地要考慮實(shí)時(shí)性和可靠性。因此,工業(yè)以太網(wǎng)的時(shí)鐘同步問題成了關(guān)鍵問題之一。RTEthernet是一種新型的工業(yè)級(jí)實(shí)時(shí)以太網(wǎng)協(xié)議,其便于實(shí)現(xiàn),且可兼顧傳統(tǒng)以太網(wǎng),但是該協(xié)議的時(shí)鐘同步算法存在容錯(cuò)性低的問題。為此,本文針對(duì)FTA算法的容錯(cuò)策略進(jìn)行修改,即使用“中點(diǎn)值”策略來代替“平均值”策略,提出了RTE-FTM算法來替代原始的基礎(chǔ)算法。改進(jìn)后的算法能夠使系統(tǒng)進(jìn)一步弱化拜占庭故障時(shí)鐘值對(duì)全局時(shí)基的影響。在實(shí)際系統(tǒng)中存在更為復(fù)雜的通信環(huán)境,會(huì)存在很多沒能完全考慮的干擾源,所以在今后的研究中,研究人員將根據(jù)實(shí)際情況對(duì)本文提出的算法進(jìn)行優(yōu)化改進(jìn)。

      猜你喜歡
      拜占庭精密度以太網(wǎng)
      基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      拜占庭帝國(guó)的繪畫藝術(shù)及其多樣性特征初探
      Phosphatidylinositol-3,4,5-trisphosphate dependent Rac exchange factor 1 is a diagnostic and prognostic biomarker for hepatocellular carcinoma
      副波長(zhǎng)對(duì)免疫比濁法檢測(cè)尿微量清蛋白精密度的影響
      淺談初中歷史教學(xué)中的邏輯補(bǔ)充——從拜占庭帝國(guó)滅亡原因談起
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      《西方史學(xué)通史》第三卷“拜占庭史學(xué)”部分糾繆
      古代文明(2016年1期)2016-10-21 19:35:20
      拜占庭之光
      鳳凰生活(2016年2期)2016-02-01 12:41:05
      海水U、Th長(zhǎng)壽命核素的高精密度MC-ICP-MS測(cè)定方法
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      济南市| 西贡区| 融水| 北碚区| 新田县| 监利县| 常熟市| 客服| 和平区| 新乐市| 五寨县| 通江县| 专栏| 永兴县| 茌平县| 多伦县| 祥云县| 赣州市| 新营市| 福清市| 甘孜县| 鞍山市| 潮州市| 关岭| 绥芬河市| 南宁市| 阿图什市| 禹城市| 澄城县| 静乐县| 瑞金市| 鄯善县| 临安市| 淮滨县| 邛崃市| 年辖:市辖区| 沈丘县| 资阳市| 阿克陶县| 安庆市| 临猗县|