京準(zhǔn)電鐘:NTP網(wǎng)絡(luò)授時(shí)服務(wù)器在分布式網(wǎng)絡(luò)內(nèi)的應(yīng)用
京準(zhǔn)電鐘:NTP網(wǎng)絡(luò)授時(shí)服務(wù)器在分布式網(wǎng)絡(luò)內(nèi)的應(yīng)用
NTP服務(wù)器外觀
因?yàn)榉植际较到y(tǒng)使用分布式算法,所以它的同步機(jī)制比集中式系統(tǒng)更為復(fù)雜。在集中式系統(tǒng)中能夠做到的,在某一位置上能集收到系統(tǒng)的所有信息,然后由某些進(jìn)程檢測(cè)這些信息,再做出同步?jīng)Q策,而這在分布式系統(tǒng)中常常是不可能做到的。分布式算法一般有以下特點(diǎn):
1)相關(guān)信息分布在多臺(tái)機(jī)器上。
2)進(jìn)程只根據(jù)本地可用的信息做出決策。
3)應(yīng)避免系統(tǒng)中單機(jī)失效。
4)沒(méi)有公共時(shí)鐘或其他精確的全局時(shí)間源。
前面三點(diǎn)都是說(shuō)在處理過(guò)程中的單個(gè)點(diǎn)上無(wú)法收集到系統(tǒng)的所有信息。例如,在做資源分配(以不會(huì)出現(xiàn)死鎖的方式分配I/O設(shè)備)時(shí),通常不應(yīng)將所有的IO請(qǐng)求發(fā)送給一個(gè)管理進(jìn)程.管理進(jìn)程檢查所有的I/O請(qǐng)求,根據(jù)其設(shè)備表中的信息決定滿(mǎn)足請(qǐng)求或拒絕請(qǐng)求。在大系統(tǒng)中,將所有的請(qǐng)求發(fā)送給單個(gè)管理進(jìn)程,會(huì)使這個(gè)進(jìn)程的負(fù)擔(dān)過(guò)重。而且象這樣的單機(jī)失效會(huì)使整個(gè)系統(tǒng)變得不可靠。理想情況下,分布式系統(tǒng)應(yīng)該比單機(jī)更可靠。如果分布式系統(tǒng)中某臺(tái)機(jī)器停止工作,剩余的機(jī)器應(yīng)該能夠繼續(xù)完成系統(tǒng)功能。最不希望看到的是,由于某臺(tái)機(jī)器的失敗(如資源分配器)導(dǎo)致許多其他機(jī)器(如它的客戶(hù))終止工作。為了在沒(méi)有集中控制的情況下實(shí)現(xiàn)同步,需要采取與傳統(tǒng)操作系統(tǒng)不同的方式。
上面列出的第4點(diǎn)也很重要。在集中式系統(tǒng)中,時(shí)間是很明確的。每個(gè)進(jìn)程要知道當(dāng)前時(shí)間,只要執(zhí)行一個(gè)系統(tǒng)調(diào)用,操作系統(tǒng)內(nèi)核就會(huì)返回當(dāng)前系統(tǒng)時(shí)間給進(jìn)程。如果進(jìn)程A查詢(xún)了系統(tǒng)時(shí)間,稍后進(jìn)程B也去查詢(xún)系統(tǒng)時(shí)間,那么進(jìn)程B得到的時(shí)間將在進(jìn)程A得到的時(shí)間值之后(也可能相等),肯定不會(huì)在此之前。分布式系統(tǒng)中,要達(dá)到這種時(shí)間的一致性不是件簡(jiǎn)單的事。
作為一個(gè)簡(jiǎn)單例子,考慮一下缺乏全局一致的時(shí)間對(duì)UNIX中make程序的意義。在UNIX中,大型程序通常分割成多個(gè)源文件,這樣在修改某個(gè)文件時(shí)只要編譯這一個(gè)文件,而不是編譯所有的文件。如果程序有一百個(gè)文件,則不需因?yàn)橛幸粋€(gè)文件發(fā)生了較大的變化而重新編譯所有文件,從而大大加快了程序員工作的速度。
通常,make程序的工作方式很簡(jiǎn)單。程序員在修改源文件后,啟動(dòng)nla~e。Make程序檢查源文件及與它相應(yīng)的目標(biāo)文件的最后修改時(shí)間。如果源文件input.C的最后修改時(shí)間為2151,而相應(yīng)目標(biāo)程minput.o的最后修改時(shí)間為2150,make程序就可以確定在創(chuàng)建input.o后,修改了源文件input.C,因此要重新編譯源文件input.C。相反,如果output.c的最后修改時(shí)間為2144,而output,o的最后改時(shí)間為2145,就不需要重新編譯output,c了。Make程序遍歷所有的源文件,找
出需要重新編譯的文件,調(diào)用編譯器編譯這些文件。
現(xiàn)在,想象在沒(méi)有全局—致時(shí)間的分布式系統(tǒng)中執(zhí)行make程序。假設(shè)ouput.o的最后修改時(shí)間還是2144,隨即修改了源文件output.c,但是由于編輯output.c的機(jī)器的時(shí)鐘慢,所以修改后output.c的最后時(shí)間被指定為2143,如圖11-1所示.這時(shí),make程序就不會(huì)重新編譯output.c結(jié)果,生成的可執(zhí)行文件就包括由舊的源文件生成的目標(biāo)文件和新的源文件產(chǎn)生的目標(biāo)文件。 這樣,程序的運(yùn)行就會(huì)存在問(wèn)題,而程序員要在代碼中找到問(wèn)題的出處,也是大傷腦筋的事。
上面我們看到,時(shí)間是人們考慮問(wèn)題的基礎(chǔ),時(shí)鐘之間的不同步會(huì)產(chǎn)生戲劇性的結(jié)果。因此,以“分布系統(tǒng)中的所有時(shí)鐘可能同步嗎?”這樣一個(gè)簡(jiǎn)單問(wèn)題開(kāi)始研究同步是比較合適的。
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9568瀏覽量
86913 -
分布式
+關(guān)注
關(guān)注
1文章
969瀏覽量
75056 -
NTP
+關(guān)注
關(guān)注
1文章
207瀏覽量
14263
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
京準(zhǔn)電鐘守護(hù)時(shí)鐘防線(xiàn):北斗網(wǎng)絡(luò)授時(shí)服務(wù)器構(gòu)建安全堡壘

京準(zhǔn)電鐘:NTP網(wǎng)絡(luò)時(shí)間服務(wù)器如何設(shè)置?教您簡(jiǎn)單兩步法

京準(zhǔn)電鐘:NTP北斗時(shí)鐘服務(wù)器助力生物制藥
京準(zhǔn)電鐘:關(guān)于北斗授時(shí)服務(wù)器技術(shù)應(yīng)用方案
京準(zhǔn)電鐘:NTP時(shí)間服務(wù)器在智能交通系統(tǒng)中應(yīng)用
京準(zhǔn)電鐘:NTP網(wǎng)絡(luò)時(shí)鐘服務(wù)器應(yīng)用石油化工行業(yè)

京準(zhǔn)電鐘科普:NTP網(wǎng)絡(luò)時(shí)間服務(wù)器技術(shù)概念

京準(zhǔn)電鐘:ntp網(wǎng)絡(luò)授時(shí)服務(wù)器助力智慧機(jī)場(chǎng)

京準(zhǔn)電鐘,GPS北斗衛(wèi)星授時(shí)服務(wù)器助力智慧水利系統(tǒng)

NTP網(wǎng)絡(luò)時(shí)間服務(wù)器——智慧系統(tǒng)的首選方案-京準(zhǔn)電鐘

京準(zhǔn)電鐘:GPS時(shí)鐘服務(wù)器(NTP授時(shí)服務(wù)器)資料詳細(xì)介紹書(shū)
京準(zhǔn)電鐘 | NTP網(wǎng)絡(luò)時(shí)間同步協(xié)議原理及其應(yīng)用介紹

安徽京準(zhǔn) NTP授時(shí)服務(wù)器(北斗授時(shí)設(shè)備)在分布式系統(tǒng)中的重要性

京準(zhǔn)電子、NTP網(wǎng)絡(luò)授時(shí)服務(wù)器工作原理及應(yīng)用領(lǐng)域分析

評(píng)論