欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多核系統(tǒng)的時間同步方法及系統(tǒng)的制作方法

文檔序號:6466111閱讀:115來源:國知局
專利名稱:一種多核系統(tǒng)的時間同步方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多核處理器領(lǐng)域,尤其涉及一種多核系統(tǒng)的時間同步方法 及系統(tǒng)。
背景技術(shù)
在單核嵌入式處理器系統(tǒng)中,通常只能運(yùn)行單個嵌入式操作系統(tǒng),而 在系統(tǒng)運(yùn)行中,最關(guān)鍵的系統(tǒng)時鐘中斷是通過將定時中斷時間間隔換算成 具體數(shù)值,當(dāng)內(nèi)核硬件計(jì)數(shù)器累加到達(dá)時間間隔數(shù)值時,向內(nèi)核提交定時
中斷并由處理器重新自動裝載計(jì)數(shù)器來完成;考慮到定時中斷發(fā)生的間隔 不宜過頻,通常系統(tǒng)中設(shè)置系統(tǒng)定時中斷發(fā)生的間隔為10ms 100ms,每 次產(chǎn)生時鐘中斷時,系統(tǒng)進(jìn)入定時中斷服務(wù)程序,累加系統(tǒng)的tick(時鐘 滴答,為系統(tǒng)的相對時間單位,來源于定時器的周期性中斷, 一次中斷表 示一個tick),并進(jìn)行操作系統(tǒng)任務(wù)調(diào)度。
在單核處理器中,時鐘tick的同步要求不高,例如設(shè)定兩個軟件定時 器,由于時間偏差是相對于一個硬件定時器基準(zhǔn),即使時鐘tick中斷丟失, 定時器之間的相對間隔并不會發(fā)生明顯變化,因此不會對業(yè)務(wù)帶來很大的 影響。
然而,在多核處理系統(tǒng)中,隨著技術(shù)的發(fā)展,內(nèi)核數(shù)目不斷增加,雙 核、四核、八核、十六核成為了各種應(yīng)用開發(fā)的主流,多核多線程技術(shù)也 發(fā)展迅猛,在未來幾年將出現(xiàn)單芯片包含64核甚至更多內(nèi)核,系統(tǒng)的規(guī)模 的擴(kuò)大使得對系統(tǒng)的時鐘同步要求也越來越高。當(dāng)多核系統(tǒng)運(yùn)行多個嵌入 式操作系統(tǒng)時,例如每個內(nèi)核單獨(dú)運(yùn)行vxWorks、 Linux等嵌入式操作系統(tǒng) 時,如圖1所示,多核系統(tǒng)20中的每個內(nèi)核10單獨(dú)通過時鐘中斷30完成 系統(tǒng)時鐘計(jì)數(shù)功能,由于各內(nèi)核運(yùn)行負(fù)載不均衡等原因,每個內(nèi)核上運(yùn)行 的嵌入式操作系統(tǒng)的系統(tǒng)時鐘tick不能保持同步,反而隨著系統(tǒng)運(yùn)行時間 的增加,不同內(nèi)核的系統(tǒng)時鐘tick會出現(xiàn)較大的偏差,由于上層軟件定時 器一般基于系統(tǒng)時鐘tick設(shè)計(jì),所以這種偏差達(dá)到一定程度時會嚴(yán)重影響
不同內(nèi)核間的上層應(yīng)用軟件定時器的精確和同步。例如假設(shè)操作系統(tǒng)每個
時鐘中斷tick為lOms,如果在多個內(nèi)核上的操作系統(tǒng)同樣設(shè)置10000個 tick時長的定時器,由于某個內(nèi)核負(fù)載不均衡也會導(dǎo)致該內(nèi)核上時鐘中斷 丟失,從而導(dǎo)致tick產(chǎn)生偏差。當(dāng)不同內(nèi)核的時鐘tick累加偏差正負(fù)達(dá) 到5個tick即50ms時,這在某些對時間敏感的應(yīng)用中是無法容忍的。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種多核系統(tǒng)的時間同步方法及系統(tǒng),可以 有效實(shí)現(xiàn)多核系統(tǒng)的時鐘同步,保證系統(tǒng)運(yùn)行的可靠性和穩(wěn)定性。 為了解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案 一種多核系統(tǒng)的時間同步方法,包含如下步驟
A、 建立至少一個時鐘同步域,將所述多核系統(tǒng)的各個內(nèi)核分別配屬 到各個時鐘同步域;
B、 在各個時鐘同步域中,選擇負(fù)載最低的內(nèi)核作為本時鐘同步域的 主時鐘同步設(shè)備,其他內(nèi)核為本時鐘同步域的從時鐘同步設(shè)備;以各主時 鐘同步設(shè)備中負(fù)載最低的主時鐘同步設(shè)備所在時鐘同步域?yàn)橹鲿r鐘同步 域,其他時鐘同步域?yàn)閺臅r鐘同步域;
C、 主時鐘同步域向各從時鐘同步域發(fā)送同步偏差檢測消息,計(jì)算各 從時鐘同步域與主時鐘同步域的時間偏差值;
D、 當(dāng)所述時間偏差值大于允許偏差,主時鐘同步域計(jì)算出各從時鐘 同步域的時間調(diào)整量并向各從時鐘同步域發(fā)布,各從時鐘同步域根據(jù)各自 的時間調(diào)整量進(jìn)行調(diào)整,完成時鐘同步。
進(jìn)一步的,所述步驟B中還包括如下處理在各個時鐘同步域中,選 擇負(fù)載次低的內(nèi)核作為本時鐘同步域的備時鐘同步設(shè)備,當(dāng)主時鐘同步設(shè) 備的內(nèi)核負(fù)載高于備時鐘同步設(shè)備的內(nèi)核負(fù)載,或主時鐘同步設(shè)備發(fā)生異 常,發(fā)生主備倒換。
優(yōu)選的,所述步驟C具體包括如下處理
Cl、將主時鐘同步域與各從時鐘同步域構(gòu)建成環(huán)形同步網(wǎng)絡(luò),各從時
鐘同步域向主時鐘同步域注冊;
C2、主時鐘同步域發(fā)送同步偏差檢測消息,同步偏差檢測消息按各從
時鐘同步域的注冊順序流經(jīng)各從時鐘同步域后返回主時鐘同步域,各從時 鐘同步域向同步偏差檢測消息返回各自的相對時間偏差,所述相對時間偏 差為每一從時鐘同步域相對同步偏差檢測消息流向的上一個從時鐘同步域 的時間偏差;
C3、主時鐘同步域根據(jù)返回的同步偏差檢測消息計(jì)算各從時鐘同步域
與主時鐘同步域的時間偏差值。
其中,所述步驟C中,主時鐘同步域向各從時鐘同步域發(fā)送同步偏差 檢測消息采用定時發(fā)送方式。
進(jìn)一步的,所述步驟D還包括如下處理
對每一從時鐘同步域的時間調(diào)整量絕對值在預(yù)定次數(shù)范圍內(nèi)進(jìn)行加權(quán)
平均計(jì)算;
通過所述加權(quán)平均計(jì)算結(jié)果確定各從時鐘同步域優(yōu)先級別;
按內(nèi)核應(yīng)用的時間精度使各從時鐘同步設(shè)備在各從時鐘同步域之間進(jìn) 行調(diào)整,將時間精度要求高的從時鐘同步設(shè)備調(diào)整到優(yōu)先級高的從時鐘同 步域,將時間精度要求低的從時鐘同步設(shè)備調(diào)整到優(yōu)先級低的從時鐘同步域。
更進(jìn)一步的,如果新增內(nèi)核,將新增內(nèi)核加入到對應(yīng)優(yōu)先級的時鐘同 步域,如果新增內(nèi)核數(shù)量超過對應(yīng)優(yōu)先級的時鐘同步域的設(shè)備容納門限值, 將該時鐘同步域進(jìn)行拆分。
所述的時間同步方法,內(nèi)核負(fù)載按如下方式計(jì)算-.
確定內(nèi)核負(fù)載計(jì)算關(guān)聯(lián)因子,所述內(nèi)核負(fù)載計(jì)算關(guān)聯(lián)因子包括內(nèi)核當(dāng) 前占用率、內(nèi)核負(fù)載歷史、內(nèi)核掛接終端設(shè)備類型、內(nèi)核掛接中斷源數(shù)量、 內(nèi)核應(yīng)用類型;
選擇上述內(nèi)核負(fù)載計(jì)算關(guān)聯(lián)因子中的至少一種進(jìn)行加權(quán)運(yùn)算,以加權(quán) 運(yùn)算結(jié)果作為內(nèi)核負(fù)載。
所述的時間同步方法,還包括系統(tǒng)時鐘tick監(jiān)測處理 主時鐘同步域的主時鐘同步設(shè)備在每個系統(tǒng)tick間隔內(nèi)至少對系統(tǒng)
tick采樣兩次,累加系統(tǒng)tick采樣值;
按預(yù)定原則判定系統(tǒng)tick是否丟失,如果丟失,修正當(dāng)前系統(tǒng)tick值。
本發(fā)明還公開了一種多核系統(tǒng)的時間同步系統(tǒng),包括至少一個時鐘同
步域,所述多核系統(tǒng)的各個內(nèi)核分別被配屬到各個時鐘同步域,在各個時 鐘同步域中,負(fù)載最低的內(nèi)核為本時鐘同步域的主時鐘同步設(shè)備,其他內(nèi)
核為本時鐘同步域的從時鐘同步設(shè)備;各主時鐘同步設(shè)備中負(fù)載最低的主 時鐘同步設(shè)備所在時鐘同步域?yàn)橹鲿r鐘同步域,其他時鐘同步域?yàn)閺臅r鐘 同步域;
所述主時鐘同步域用于向各從時鐘同步域發(fā)送同步偏差檢測消息,計(jì) 算各從時鐘同步域與主時鐘同步域的時間偏差值,并在所述時間偏差值大 于允許偏差時,計(jì)算出各從時鐘同步域的時間調(diào)整量并向各從時鐘同步域 發(fā)布。
所述的時間同步系統(tǒng),主時鐘同步域外接有外部同步源。
本發(fā)明在多核系統(tǒng)中劃分時間同步區(qū)域,由主時鐘同步域作為所有時 鐘同步域的控制管理域,因而可以均衡系統(tǒng)的處理負(fù)載,避免由于運(yùn)行規(guī) 模的增加而導(dǎo)致的系統(tǒng)軟件處理延時,調(diào)整上層軟件定時器隨著系統(tǒng)的運(yùn) 行時間增加導(dǎo)致的偏差,有效實(shí)現(xiàn)了多核系統(tǒng)的時鐘同步,提高了系統(tǒng)運(yùn) 行的可靠性和穩(wěn)定性。


圖1是現(xiàn)有多核系統(tǒng)應(yīng)用示意圖2是本發(fā)明具體實(shí)施方式
的多核系統(tǒng)時間同步區(qū)域劃分示意圖3是本發(fā)明具體實(shí)施方式
點(diǎn)多核系統(tǒng)的時間同步組網(wǎng)示意圖; 圖4是本發(fā)明具體實(shí)施方式
的時鐘tick監(jiān)測示意圖5是本發(fā)明具體實(shí)施方式
的多核系統(tǒng)時間同步方法流程圖。
具體實(shí)施例方式
下面對照附圖并結(jié)合具體實(shí)施方式
對本發(fā)明進(jìn)行詳細(xì)說明。
本發(fā)明具體實(shí)施方式
參見圖2至圖5,如圖2所示,本發(fā)明具體實(shí)施
方式的時間同步方法主要包括如下步驟
510、 首先劃分時鐘同步域,將各個內(nèi)核唯一的劃分到各時鐘同步域中;
511、 確定主時鐘同步域和從時鐘同步域,從時鐘同步域向主時鐘同步 域發(fā)送注冊消息;
512、 將所有時鐘同步域構(gòu)建成環(huán)狀網(wǎng)絡(luò),由主時鐘同步域的主時鐘同 步設(shè)備定時監(jiān)測其余時鐘同步域的時鐘偏差;
513、 需要調(diào)整時,主時鐘同步域向各個從時鐘同步域發(fā)布時間調(diào)整量, 各從時鐘同步域根據(jù)發(fā)布的時間調(diào)整量進(jìn)行調(diào)整;
514、 根據(jù)各時鐘同步域調(diào)整值確定時鐘同步域的級別,新增或根據(jù)實(shí) 際情況需要調(diào)整的內(nèi)核根據(jù)需要加入到相應(yīng)級別的時鐘同步域中。
下面對上述步驟進(jìn)行詳細(xì)說明
第一步,在多核系統(tǒng)中建立一個或多個時鐘同步域,將多核系統(tǒng)中的 每個內(nèi)核唯一劃分到某個時鐘同步域當(dāng)中,在每個時鐘同步域確定主時鐘 同步設(shè)備和從時鐘同步設(shè)備,進(jìn)一步的,還可以確定備時鐘同步設(shè)備,主、 備時鐘同步設(shè)備互為備份,這樣可以提高同步的可靠性。時鐘同步域中的 各個內(nèi)核最初的劃分可以在內(nèi)核間隨機(jī)劃分,也可按照各內(nèi)核應(yīng)用的相關(guān) 性進(jìn)行劃分。如圖3所示,各個內(nèi)核被劃分到時鐘同步域130中,時鐘同 步域130包括時鐘同步域0到時鐘同步域N,確定主時鐘同步設(shè)備100、備 時鐘同步設(shè)備110和從時鐘同步設(shè)備120;主、備時鐘同步設(shè)備保持時鐘 同步握手消息,主時鐘同步設(shè)備100定時向備時鐘同步設(shè)備110和從時鐘 同步設(shè)備120同步時鐘。
第二步,在每個時鐘同步域中,主、備時鐘同步設(shè)備的確定由系統(tǒng)上 電后競爭獲得;主、備時鐘同步設(shè)備的競爭考慮各內(nèi)核系統(tǒng)的負(fù)載確定, 負(fù)載最低的內(nèi)核作為主時鐘同步設(shè)備,負(fù)載次低的內(nèi)核作為備用時鐘同步 設(shè)備,其余的內(nèi)核為從時鐘同步設(shè)備;時鐘同步域也分主、從時鐘同步域, 在所有時鐘同步域中,以負(fù)載最低的主時鐘同步設(shè)備所在的時鐘同步域作 為主時鐘同步域,該主時鐘同步域可外接外部同步設(shè)備例如高精度RTC時 鐘、高精度GPS時鐘或高精度振蕩器,作為整個時鐘同步系統(tǒng)的參考系。 內(nèi)核負(fù)載的計(jì)算時,考慮的關(guān)聯(lián)因子包含但不限于內(nèi)核當(dāng)前占用率、內(nèi)核 負(fù)載歷史、內(nèi)核掛接的中斷設(shè)備類型、內(nèi)核掛接的中斷源數(shù)量,內(nèi)核應(yīng)用 類型等,以這些因子的一種或多種通過相乘一定的加權(quán)系數(shù)累加得到內(nèi)核 負(fù)載。
主時鐘同步域的主時鐘同步設(shè)備定時采集各從時鐘同步域的主時鐘同 步設(shè)備的負(fù)載,并對所有的主時鐘同步設(shè)備最近N (N為整數(shù))次的負(fù)載進(jìn) 行算數(shù)平均計(jì)算,N的大小決定了對負(fù)載變化的敏感度。如果當(dāng)前最小負(fù)
載的主時鐘同步設(shè)備與主時鐘同步域中的主時鐘同步設(shè)備不一致時,則切 換主時鐘同步域到最小負(fù)載的主時鐘同步設(shè)備所在的時鐘同步域,當(dāng)前主
時鐘同步域轉(zhuǎn)變?yōu)閺臅r鐘同步域;為避免負(fù)載變化時導(dǎo)致主時鐘同步域的 頻繁切換,可以設(shè)置主時鐘同步域保護(hù)時間間隔T1 (秒),在T1時間內(nèi)禁 止主時鐘同步域的再次切換;類似的,在每個時鐘同步域內(nèi)部由主時鐘同 步設(shè)備負(fù)責(zé)計(jì)算該時鐘同步域內(nèi)的所有時鐘同步設(shè)備的最近M (M為整數(shù)) 次負(fù)載算數(shù)平均,M的大小決定了對負(fù)載變化的敏感度;選擇該時鐘同步 域內(nèi)負(fù)載最小的時鐘同步設(shè)備作為主時鐘同步設(shè)備,可以設(shè)置主時鐘同步 設(shè)備保護(hù)時間間隔T2 (秒),在T2時間內(nèi)禁止該時鐘同步域內(nèi)的主時鐘同
步設(shè)備的再次切換;進(jìn)一步的,可以在負(fù)載算術(shù)平均計(jì)算之后,選擇該時 鐘同步域內(nèi)負(fù)載最小的時鐘同步設(shè)備作為備時鐘同步設(shè)備,而后再通過主 備倒換的方式將備時鐘同步設(shè)備倒換為主時鐘同步設(shè)備,這樣可以使得主 時鐘同步設(shè)備的變化更加平滑。
第三步,在每個時鐘同步域中,主時鐘同步設(shè)備定時向從時鐘同步設(shè) 備(包括備時鐘同步設(shè)備)同步時鐘,此外,主、備時鐘同步設(shè)備定時發(fā) 送握手消息,若當(dāng)前主時鐘同步設(shè)備的內(nèi)核負(fù)載高于備時鐘同步設(shè)備的內(nèi) 核負(fù)載,或主時鐘同步設(shè)備發(fā)生異常,則備時鐘同步設(shè)備變?yōu)橹鲿r鐘同步 設(shè)備,原主時鐘同步設(shè)備轉(zhuǎn)化為備時鐘同步設(shè)備,并在主備倒換時向主時 鐘同步域發(fā)送主備倒換消息。為避免主備倒換可能出現(xiàn)的頻繁發(fā)生,設(shè)置 主備倒換保護(hù)時間間隔T3 (秒),在T3時間內(nèi)禁止該時鐘同步域內(nèi)的主用 時鐘同步設(shè)備的再次切換;
第四步,所有的時鐘同步區(qū)域可構(gòu)建一個環(huán)形同步網(wǎng)絡(luò),主時鐘同步 域作為所有時鐘同步域的控制管理域,定時發(fā)送同步偏差檢測消息。其他 各時鐘同步域的信息均需在各時鐘同步域建立后向主時鐘同步域注冊,按 照注冊先后順序加入到環(huán)形網(wǎng)絡(luò)的同步鏈表中;該注冊信息包括時鐘同步 域中的主、備時鐘同步設(shè)備信息,同步偏差檢測消息在同步鏈表中依次傳 遞;如圖4所示,在主時鐘同步域700中的主時鐘同步設(shè)備300通過高精 度實(shí)時時鐘210獲取當(dāng)前系統(tǒng)標(biāo)準(zhǔn)時間,或通過外部振蕩計(jì)數(shù)器200獲取 同步要求的時鐘精度。主時鐘同步域700中的主時鐘同步設(shè)備300、從時 鐘同步域800中的主時鐘同步設(shè)備400、從時鐘同步域900中的主時鐘同 步設(shè)備500、從時鐘同步域1000中的主時鐘同步設(shè)備600通過構(gòu)建環(huán)形同
步網(wǎng)絡(luò),進(jìn)行各個時鐘同步域中的主時鐘同步設(shè)備之間的同步,主時鐘同
步設(shè)備300發(fā)送同步偏差檢測消息,同步偏差檢測消息按照環(huán)形流向依次 經(jīng)過主時鐘同步設(shè)備400、主時鐘同步設(shè)備500、主時鐘同步設(shè)備600,最 終返回到主時鐘同步設(shè)備300,各個主時鐘同步設(shè)備向同步偏差檢測消息 返回各自的時間偏差,主時鐘同步設(shè)備300檢測同步偏差檢測消息中攜帶 的其余時鐘同步域中的各主時鐘同步設(shè)備的時間偏差,確定整個時鐘同步 系統(tǒng)是否偏差在允許范圍內(nèi)。
第五步,當(dāng)同步偏差檢測消息按照環(huán)形流向依次經(jīng)過主時鐘同步設(shè)備 時,假定經(jīng)過作為主時鐘同步設(shè)備的內(nèi)核的個數(shù)為M,在同步偏差檢測消 息中記錄下各主時鐘同步設(shè)備當(dāng)前時鐘,由于每個內(nèi)核激活啟動時間不一 定相同,不能按照絕對時鐘tick數(shù)比較各主時鐘同步設(shè)備,應(yīng)比較各主時 鐘同步設(shè)備的相對時間間隔。計(jì)算各時間同步偏差的方法為按照同步偏 差檢測消息流向,依次記錄每個時鐘同步域中主時鐘同步設(shè)備的當(dāng)前時鐘 tick,相對流向上的前一個主時鐘同步設(shè)備,當(dāng)前主時鐘同步設(shè)備的時間 偏差為」Tn (n二O, 1…M-1), JTn二Tn-Tn-1, M為主時鐘同步設(shè)備數(shù)目,Tn 為同步偏差檢測消息流向上第n個主時鐘同步設(shè)備當(dāng)前系統(tǒng)時鐘tick。時 鐘偏差從第二次發(fā)送同步偏差檢測消息開始計(jì)算。
第七步,當(dāng)該同步偏差檢測消息回到主時鐘同步域時,計(jì)算每個時鐘 同步域與主時鐘同步域700的偏差值,當(dāng)偏差值大于允許誤差時,需要由 主時鐘同步域700的主時鐘同步設(shè)備300對所有時鐘同步域的主時鐘同步 設(shè)備進(jìn)行修正,并由該主時鐘同步設(shè)備300發(fā)布經(jīng)過修正后的時間,在下 一個同步偏差檢測消息中攜帶每個時鐘同步域中主時鐘同步設(shè)備所需的調(diào) 整量;
第八步,對每個時鐘同步域的調(diào)整量絕對值在設(shè)定的次數(shù)范圍內(nèi)進(jìn)行 加權(quán)平均計(jì)算,例如可以通過5次調(diào)整量絕對值的計(jì)算結(jié)果來確定該時鐘 同步域的優(yōu)先級別,調(diào)整量絕對值的計(jì)算結(jié)果的數(shù)值越小,表示時間精度 要求越高。時間同步域的優(yōu)先級別與時間精度要求正相關(guān),即時間精度要 求越高,則優(yōu)先級別越高。當(dāng)內(nèi)核應(yīng)用對時鐘精度要求發(fā)生變化或激活新 的內(nèi)核應(yīng)用時,可根據(jù)需要使各從時鐘同步設(shè)備在不同時鐘同步域之間進(jìn) 行調(diào)整;例如將對時間精度不敏感的一組內(nèi)核應(yīng)用劃分在一個較低優(yōu)先級 的時鐘同步域內(nèi),將對時間精度要求較高的一組內(nèi)核應(yīng)用劃分在較高優(yōu)先
級的時鐘同步域內(nèi)。當(dāng)系統(tǒng)中的時鐘同步設(shè)備增加時,例如系統(tǒng)中由于負(fù) 荷升高,需要激活新內(nèi)核時,考慮該內(nèi)核應(yīng)用以及對時鐘精度的要求,將 其劃分到現(xiàn)有對應(yīng)級別的時鐘同步域中作為從時鐘同步設(shè)備,當(dāng)激活的內(nèi) 核數(shù)量增加到超過該級別的時鐘同步域可容納的時鐘同步設(shè)備門限值時, 則可以拆分對應(yīng)級別的時鐘同步域并發(fā)送消息到主時鐘同步域,將該時鐘 同步域內(nèi)的主、備時鐘同步設(shè)備分別作為兩個時鐘同步域中的主時鐘同步 設(shè)備,新時鐘同步域中的備時鐘同步設(shè)備在新的時鐘同步域內(nèi)重新競爭獲 得,并向主時鐘同步域發(fā)送注冊消息,這樣可有效避免由于系統(tǒng)規(guī)模擴(kuò)大 造成的誤差。
第九步,主時鐘同步區(qū)域的主時鐘同步設(shè)備監(jiān)測系統(tǒng)時鐘tick增加是 否正確,保證每個tick間隔內(nèi)至少對該內(nèi)核上運(yùn)行的操作系統(tǒng)tick數(shù)值 采樣兩次以上,監(jiān)測tick累加值,發(fā)現(xiàn)主時鐘同步區(qū)域的主時鐘同步設(shè)備 tick丟失立即更正;丟失判定原則如圖5所示,在每個tick間隔內(nèi)需要
采樣兩次以上,當(dāng)采樣間隔超過一個tick的累加間隔時,可確認(rèn)tick丟 失,例如在Cn+l時刻采樣tick為k,考慮到軟件或中斷延時誤差,Cn+3、 Cn+4時刻不確認(rèn)當(dāng)前tick是否丟失,只記錄當(dāng)前tick采樣值,當(dāng)在Cn+5 時刻采樣時,與Cn+1間隔大于1個tick,當(dāng)監(jiān)測到tick數(shù)值仍未增加時, 確認(rèn)tick丟失,修正當(dāng)前主時鐘同步設(shè)備的tick數(shù)值。
本發(fā)明具體實(shí)施方式
的時間同步系統(tǒng),包括至少一個時鐘同步域,多 核系統(tǒng)的各個內(nèi)核分別被配屬到各個時鐘同步域,在各個時鐘同步域中, 負(fù)載最低的內(nèi)核為本時鐘同步域的主時鐘同步設(shè)備,其他內(nèi)核為本時鐘同 步域的從時鐘同步設(shè)備;各主時鐘同步設(shè)備中負(fù)載最低的主時鐘同步設(shè)備 所在時鐘同步域?yàn)橹鲿r鐘同步域,其他時鐘同步域?yàn)閺臅r鐘同步域;
主時鐘同步域用于向各從時鐘同步域發(fā)送同步偏差檢測消息,計(jì)算各 從時鐘同步域與主時鐘同步域的時間偏差值,并在所述時間偏差值大于允 許偏差時,計(jì)算出各從時鐘同步域的時間調(diào)整量并向各從時鐘同步域發(fā)布。
本發(fā)明由主時鐘同步域作為所有時鐘同步域的控制管理域,可以均衡 系統(tǒng)的處理負(fù)載,避免由于運(yùn)行規(guī)模的增加而導(dǎo)致的系統(tǒng)軟件處理延時, 并可定時調(diào)整上層軟件定時器隨著系統(tǒng)的運(yùn)行時間增加導(dǎo)致的偏差,有效 實(shí)現(xiàn)了多核系統(tǒng)的時鐘同步,提高了系統(tǒng)運(yùn)行的可靠性和穩(wěn)定性。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說
明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對于本發(fā)明所屬技術(shù) 領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若 干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種多核系統(tǒng)的時間同步方法,其特征在于,包含如下步驟A、建立至少一個時鐘同步域,將所述多核系統(tǒng)的各個內(nèi)核分別配屬到各個時鐘同步域;B、在各個時鐘同步域中,選擇負(fù)載最低的內(nèi)核作為本時鐘同步域的主時鐘同步設(shè)備,其他內(nèi)核為本時鐘同步域的從時鐘同步設(shè)備;以各主時鐘同步設(shè)備中負(fù)載最低的主時鐘同步設(shè)備所在時鐘同步域?yàn)橹鲿r鐘同步域,其他時鐘同步域?yàn)閺臅r鐘同步域;C、主時鐘同步域向各從時鐘同步域發(fā)送同步偏差檢測消息,計(jì)算各從時鐘同步域與主時鐘同步域的時間偏差值;D、當(dāng)所述時間偏差值大于允許偏差,主時鐘同步域計(jì)算出各從時鐘同步域的時間調(diào)整量并向各從時鐘同步域發(fā)布,各從時鐘同步域根據(jù)各自的時間調(diào)整量進(jìn)行調(diào)整,完成時鐘同步。
2. 如權(quán)利要求1所述的時間同步方法,其特征在于,所述步驟B中 還包括如下處理在各個時鐘同步域中,選擇負(fù)載次低的內(nèi)核作為本時鐘 同步域的備時鐘同步設(shè)備,當(dāng)主時鐘同步設(shè)備的內(nèi)核負(fù)載高于備時鐘同步 設(shè)備的內(nèi)核負(fù)載,或主時鐘同步設(shè)備發(fā)生異常,發(fā)生主備倒換。
3. 如權(quán)利要求1所述的時間同步方法,其特征在于,所述步驟C具 體包括如下處理Cl、將主時鐘同步域與各從時鐘同步域構(gòu)建成環(huán)形同步網(wǎng)絡(luò),各從時 鐘同步域向主時鐘同步域注冊;C2、主時鐘同步域發(fā)送同步偏差檢測消息,同步偏差檢測消息按各從時鐘同步域的注冊順序流經(jīng)各從時鐘同步域后返回主時鐘同步域,各從時鐘同步域向同步偏差檢測消息返回各自的相對時間偏差,所述相對時間偏 差為每一從時鐘同步域相對同步偏差檢測消息流向的上一個從時鐘同步域的時間偏差;C3、主時鐘同步域根據(jù)返回的同步偏差檢測消息計(jì)算各從時鐘同步域 與主時鐘同步域的時間偏差值。
4. 如權(quán)利要求l所述的時間同步方法,其特征在于,所述步驟C中, 主時鐘同歩域向各從時鐘同步域發(fā)送同步偏差檢測消息采用定時發(fā)送方 式。
5. 如權(quán)利要求4所述的時間同步方法,其特征在于,所述步驟D還包括如下處理對每一從時鐘同步域的時間調(diào)整量絕對值在預(yù)定次數(shù)范圍內(nèi)進(jìn)行加權(quán)平均計(jì)算;通過所述加權(quán)平均計(jì)算結(jié)果確定各從時鐘同步域優(yōu)先級別;按內(nèi)核應(yīng)用的時間精度使各從時鐘同步設(shè)備在各從時鐘同步域之間進(jìn) 行調(diào)整,將時間精度要求高的從時鐘同步設(shè)備調(diào)整到優(yōu)先級高的從時鐘同 步域,將時間精度要求低的從時鐘同步設(shè)備調(diào)整到優(yōu)先級低的從時鐘同步 域。
6. 如權(quán)利要求5所述的時間同步方法,其特征在于,如果新增內(nèi)核, 將新增內(nèi)核加入到對應(yīng)優(yōu)先級的時鐘同步域,如果新增內(nèi)核數(shù)量超過對應(yīng) 優(yōu)先級的時鐘同步域的設(shè)備容納門限值,將該時鐘同步域進(jìn)行拆分。
7. 如權(quán)利要求1所述的時間同步方法,其特征在于,內(nèi)核負(fù)載按如下 方式計(jì)算確定內(nèi)核負(fù)載計(jì)算關(guān)聯(lián)因子,所述內(nèi)核負(fù)載計(jì)算關(guān)聯(lián)因子包括內(nèi)核當(dāng) 前占用率、內(nèi)核負(fù)載歷史、內(nèi)核掛接終端設(shè)備類型、內(nèi)核掛接中斷源數(shù)量、 內(nèi)核應(yīng)用類型;選擇上述內(nèi)核負(fù)載計(jì)算關(guān)聯(lián)因子中的至少一種進(jìn)行加權(quán)運(yùn)算,以加權(quán) 運(yùn)算結(jié)果作為內(nèi)核負(fù)載。
8. 如權(quán)利要求1至7任一所述的時間同步方法,其特征在于,所述時 間同步方法還包括系統(tǒng)時鐘tick監(jiān)測處理主時鐘同步域的主時鐘同步設(shè)備在每個系統(tǒng)tick間隔內(nèi)至少對系統(tǒng)tick采樣兩次,累加系統(tǒng)tick采樣值;按預(yù)定原則判定系統(tǒng)tick是否丟失,如果丟失,修正當(dāng)前系統(tǒng)tick值。
9. 一種多核系統(tǒng)的時間同步系統(tǒng),其特征在于,包括至少一個時鐘同步域,所述多核系統(tǒng)的各個內(nèi)核分別被配屬到各個時鐘同步域,在各個時 鐘同步域中,負(fù)載最低的內(nèi)核為本時鐘同步域的主時鐘同步設(shè)備,其他內(nèi)核為本時鐘同步域的從時鐘同步設(shè)備;各主時鐘同步設(shè)備中負(fù)載最低的主 時鐘同步設(shè)備所在時鐘同步域?yàn)橹鲿r鐘同步域,其他時鐘同步域?yàn)閺臅r鐘 同步域;所述主時鐘同步域用于向各從時鐘同步域發(fā)送同步偏差檢測消息,計(jì) 算各從時鐘同步域與主時鐘同步域的時間偏差值,并在所述時間偏差值大 于允許偏差時,計(jì)算出各從時鐘同步域的時間調(diào)整量并向各從時鐘同步域 發(fā)布。
10.如權(quán)利要求9所述的時間同步系統(tǒng),其特征在于,所述主時鐘同 步域外接有外部同步源。
全文摘要
本發(fā)明公開了一種多核系統(tǒng)的時間同步方法及系統(tǒng),所述時間同步方法包含如下步驟A.建立至少一個時鐘同步域,將各個內(nèi)核分別配屬到各個時鐘同步域;B.在各個時鐘同步域中,選擇負(fù)載最低的內(nèi)核作為本時鐘同步域的主時鐘同步源,以各主時鐘同步源中負(fù)載最低的主時鐘同步源所在時鐘同步域?yàn)橹鲿r鐘同步域,其他時鐘同步域?yàn)閺臅r鐘同步域;C.主時鐘同步域向各從時鐘同步域發(fā)送同步偏差檢測消息,計(jì)算各從時鐘同步域與主時鐘同步域的時間偏差值;D.當(dāng)時間偏差值大于允許偏差,主時鐘同步域計(jì)算出各從時鐘同步域的時間調(diào)整量并向各從時鐘同步域發(fā)布,各從時鐘同步域根據(jù)各自的時間調(diào)整量進(jìn)行調(diào)整。本發(fā)明有效解決了多核系統(tǒng)的時間同步問題。
文檔編號G06F1/12GK101359238SQ200810142169
公開日2009年2月4日 申請日期2008年9月2日 優(yōu)先權(quán)日2008年9月2日
發(fā)明者理 肖, 陽 趙 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
那坡县| 鹤岗市| 沁阳市| 普定县| 英超| 霍城县| 江津市| 东乡| 梁平县| 西乡县| 英超| 紫阳县| 宜黄县| 海林市| 定远县| 珲春市| 嘉禾县| 望江县| 集贤县| 云安县| 资中县| 成安县| 舞阳县| 广南县| 兰州市| 股票| 同仁县| 和龙市| 呼伦贝尔市| 西峡县| 阳曲县| 繁峙县| 丰原市| 泽普县| 南华县| 东丰县| 湘阴县| 巩留县| 长阳| 张掖市| 仁寿县|