產(chǎn)品搜索
請輸入產(chǎn)品關(guān)鍵字:
聯(lián)系方式
地址:上海市翔殷路128號上海理工大學(xué)國家科技園1號樓
郵編:200433
聯(lián)系人:魏元棟
電話:86-021-51816732
傳真:86-021-51816733
手機:13918107979
留言:發(fā)送留言
個性化:www.shoushishebei.com
手機站:m.shoushishebei.com
網(wǎng)址:www.ruicheng-china.cn/
商鋪:http://sorrent.com.cn/st198384/
郵編:200433
聯(lián)系人:魏元棟
電話:86-021-51816732
傳真:86-021-51816733
手機:13918107979
留言:發(fā)送留言
個性化:www.shoushishebei.com
手機站:m.shoushishebei.com
網(wǎng)址:www.ruicheng-china.cn/
商鋪:http://sorrent.com.cn/st198384/
技術(shù)文章
NTP時間服務(wù)器在分布式系統(tǒng)時鐘同步的重要性
點擊次數(shù):7618 發(fā)布時間:2011-8-19
NTP時間服務(wù)器在分布式系統(tǒng)時鐘同步的重要性
因為分布式系統(tǒng)使用分布式算法,,所以它的同步機制比集中式系統(tǒng)更為復(fù)雜。在集中式系統(tǒng)中能夠做到的,,在某一位置上能集收到系統(tǒng)的所有信息,,然后由某些進程檢測這些信息,再做出同步?jīng)Q策,,而這在分布式系統(tǒng)中常常是不可能做到的,。分布式算法一般有以下特點:
1)相關(guān)信息分布在多臺機器上。
2)進程只根據(jù)本地可用的信息做出決策,。
3)應(yīng)避免系統(tǒng)中單機失效,。
4)沒有公共時鐘或其他的全局時間源,。
前面三點都是說在處理過程中的單個點上無法收集到系統(tǒng)的所有信息。例如,,在做資源分配(以不會出現(xiàn)死鎖的方式分配I/O設(shè)備)時,,通常不應(yīng)將所有的UO請求發(fā)送給一個管理進程.管理進程檢查所有的I/O請求,根據(jù)其設(shè)備表中的信息決定滿足請求或拒絕請求,。在大系統(tǒng)中,,將所有的請求發(fā)送給單個管理進程,會使這個進程的負擔(dān)過重,。而且象這樣的單機失效會使整個系統(tǒng)變得不可靠,。理想情況下,分布式系統(tǒng)應(yīng)該比單機更可靠,。如果分布式系統(tǒng)中某臺機器停止工作,,剩余的機器應(yīng)該能夠繼續(xù)完成系統(tǒng)功能。zui不希望看到的是,,由于某臺機器的失?。ㄈ缳Y源分配器)導(dǎo)致許多其他機器(如它的客戶)終止工作。為了在沒有集中控制的情況下實現(xiàn)同步,,需要采取與傳統(tǒng)操作系統(tǒng)不同的方式,。
上面列出的第4點也很重要。在集中式系統(tǒng)中,,時間是很明確的,。每個進程要知道當(dāng)前時間,只要執(zhí)行一個系統(tǒng)調(diào)用,,操作系統(tǒng)內(nèi)核就會返回當(dāng)前系統(tǒng)時間給進程,。如果進程A查詢了系統(tǒng)時間,稍后進程B也去查詢系統(tǒng)時間,,那么進程B得到的時間將在進程A得到的時間值之后(也可能相等),,肯定不會在此之前。分布式系統(tǒng)中,,要達到這種時間的一致性不是件簡單的事,。
作為一個簡單例子,考慮一下缺乏全局一致的時間對UNIX中make程序的意義,。在UNIX中,,大型程序通常分割成多個源文件,這樣在修改某個文件時只要編譯這一個文件,,而不是編譯所有的文件,。如果程序有一百個文件,則不需因為有一個文件發(fā)生了較大的變化而重新編譯所有文件,,從而大大加快了程序員工作的速度,。
通常,,make程序的工作方式很簡單。程序員在修改源文件后,,啟動nla~e,。Make程序檢查源文件及與它相應(yīng)的目標(biāo)文件的zui后修改時間。如果源文件input.C的zui后修改時間為2151,,而相應(yīng)目標(biāo)程minput.o的zui后修改時間為2150,,make程序就可以確定在創(chuàng)建input.o后,修改了源文件input.C,,因此要重新編譯源文件input.C,。相反,如果output.c的zui后修改時間為2144,,而output,o的zui后改時間為2145,,就不需要重新編譯output,c了,。Make程序遍歷所有的源文件,,找
出需要重新編譯的文件,調(diào)用編譯器編譯這些文件,。
現(xiàn)在,,想象在沒有全局—致時間的分布式系統(tǒng)中執(zhí)行make程序。假設(shè)ouput.o的zui后修改時間還是2144,,隨即修改了源文件output.c,但是由于編輯output.c的機器的時鐘慢,,所以修改后output.c的zui后時間被為2143.這時,,make程序就不會重新編譯output.c結(jié)果,生成的可執(zhí)行文件就包括由舊的源文件生成的目標(biāo)文件和新的源文件產(chǎn)生的目標(biāo)文件,。 這樣,,程序的運行就會存在問題,而程序員要在代碼中找到問題的出處,,也是大傷腦筋的事,。
上面我們看到,時間是人們考慮問題的基礎(chǔ),,時鐘之間的不同步會產(chǎn)生戲劇性的結(jié)果,。因此,以“分布系統(tǒng)中的所有時鐘可能同步嗎?”這樣一個簡單問題開始研究同步是比較合適的,。
因為分布式系統(tǒng)使用分布式算法,,所以它的同步機制比集中式系統(tǒng)更為復(fù)雜。在集中式系統(tǒng)中能夠做到的,,在某一位置上能集收到系統(tǒng)的所有信息,,然后由某些進程檢測這些信息,再做出同步?jīng)Q策,,而這在分布式系統(tǒng)中常常是不可能做到的,。分布式算法一般有以下特點:
1)相關(guān)信息分布在多臺機器上。
2)進程只根據(jù)本地可用的信息做出決策,。
3)應(yīng)避免系統(tǒng)中單機失效,。
4)沒有公共時鐘或其他的全局時間源,。
前面三點都是說在處理過程中的單個點上無法收集到系統(tǒng)的所有信息。例如,,在做資源分配(以不會出現(xiàn)死鎖的方式分配I/O設(shè)備)時,,通常不應(yīng)將所有的UO請求發(fā)送給一個管理進程.管理進程檢查所有的I/O請求,根據(jù)其設(shè)備表中的信息決定滿足請求或拒絕請求,。在大系統(tǒng)中,,將所有的請求發(fā)送給單個管理進程,會使這個進程的負擔(dān)過重,。而且象這樣的單機失效會使整個系統(tǒng)變得不可靠,。理想情況下,分布式系統(tǒng)應(yīng)該比單機更可靠,。如果分布式系統(tǒng)中某臺機器停止工作,,剩余的機器應(yīng)該能夠繼續(xù)完成系統(tǒng)功能。zui不希望看到的是,,由于某臺機器的失?。ㄈ缳Y源分配器)導(dǎo)致許多其他機器(如它的客戶)終止工作。為了在沒有集中控制的情況下實現(xiàn)同步,,需要采取與傳統(tǒng)操作系統(tǒng)不同的方式,。
上面列出的第4點也很重要。在集中式系統(tǒng)中,,時間是很明確的,。每個進程要知道當(dāng)前時間,只要執(zhí)行一個系統(tǒng)調(diào)用,,操作系統(tǒng)內(nèi)核就會返回當(dāng)前系統(tǒng)時間給進程,。如果進程A查詢了系統(tǒng)時間,稍后進程B也去查詢系統(tǒng)時間,,那么進程B得到的時間將在進程A得到的時間值之后(也可能相等),,肯定不會在此之前。分布式系統(tǒng)中,,要達到這種時間的一致性不是件簡單的事,。
作為一個簡單例子,考慮一下缺乏全局一致的時間對UNIX中make程序的意義,。在UNIX中,,大型程序通常分割成多個源文件,這樣在修改某個文件時只要編譯這一個文件,,而不是編譯所有的文件,。如果程序有一百個文件,則不需因為有一個文件發(fā)生了較大的變化而重新編譯所有文件,,從而大大加快了程序員工作的速度,。
通常,,make程序的工作方式很簡單。程序員在修改源文件后,,啟動nla~e,。Make程序檢查源文件及與它相應(yīng)的目標(biāo)文件的zui后修改時間。如果源文件input.C的zui后修改時間為2151,,而相應(yīng)目標(biāo)程minput.o的zui后修改時間為2150,,make程序就可以確定在創(chuàng)建input.o后,修改了源文件input.C,,因此要重新編譯源文件input.C,。相反,如果output.c的zui后修改時間為2144,,而output,o的zui后改時間為2145,,就不需要重新編譯output,c了,。Make程序遍歷所有的源文件,,找
出需要重新編譯的文件,調(diào)用編譯器編譯這些文件,。
現(xiàn)在,,想象在沒有全局—致時間的分布式系統(tǒng)中執(zhí)行make程序。假設(shè)ouput.o的zui后修改時間還是2144,,隨即修改了源文件output.c,但是由于編輯output.c的機器的時鐘慢,,所以修改后output.c的zui后時間被為2143.這時,,make程序就不會重新編譯output.c結(jié)果,生成的可執(zhí)行文件就包括由舊的源文件生成的目標(biāo)文件和新的源文件產(chǎn)生的目標(biāo)文件,。 這樣,,程序的運行就會存在問題,而程序員要在代碼中找到問題的出處,,也是大傷腦筋的事,。
上面我們看到,時間是人們考慮問題的基礎(chǔ),,時鐘之間的不同步會產(chǎn)生戲劇性的結(jié)果,。因此,以“分布系統(tǒng)中的所有時鐘可能同步嗎?”這樣一個簡單問題開始研究同步是比較合適的,。
NTP 協(xié)議全稱網(wǎng)絡(luò)時間協(xié)議(Network Time Procotol),,它的目的是在互聯(lián)網(wǎng)上傳遞統(tǒng)一、標(biāo)準(zhǔn)的時間,。具體的實現(xiàn)方案是在網(wǎng)絡(luò)上某個時鐘源設(shè)備(即NTP時間服務(wù)器),,為網(wǎng)絡(luò)中的計算機提供授時服務(wù),,通過這個時鐘源產(chǎn)品可以使網(wǎng)絡(luò)中的眾多電腦和網(wǎng)絡(luò)設(shè)備都保持時間同步。具體參考:http://www.ruicheng-china.cn/,。
銳呈NTP時間服務(wù)器以GPS信號作為時間源,,同時可選北斗、CDMA,、B碼等時間源,,內(nèi)嵌流行的NTP/SNTP協(xié)議,同步網(wǎng)絡(luò)中的所有計算機,、控制器等設(shè)備,,實現(xiàn)網(wǎng)絡(luò)授時, 廣泛應(yīng)用于金融、通信,、電力,、交通、廣電,、安防,、水利、石化,、冶金,、國防、醫(yī)療,、教育,、*、IT等領(lǐng)域,。
公司名稱:上海銳呈電氣有限公司
地址:上海市翔殷路128號上海理工大學(xué)國家科技園1號樓
:200433
:,,51816732
:魏元棟
:1078860159