2014-10-09 603 views
0

所以我試圖解決這個有關伯克利算法的練習:伯克利算法 - 分佈式系統

說明Berkeley算法在以下情況下如何工作。有一組計算機需要內部同步。一臺主計算機S和另外五臺從計算機P1,P2,P3,P4和P5。主計算機定期輪詢從屬計算機並從從屬設備接收時間戳。 Master在11:11:5.129(hr:min:sec:ms)上向slave發送請求,所有slave的往返時間S爲10ms,P2爲12ms,P3爲16ms,P4爲20ms,16ms爲P5。 P1攜帶的時間戳是11:11:3.200,P2是11:11:1.500,P3是11:11:5.600,P4是11:11:10.000,P5是11:11:22.200。 Master S將丟棄錯誤時鐘的時間戳,這些時鐘的讀數與其他時鐘的讀數相差10秒以上。平均時間S是什麼計算的?這五個從節點各自的偏移量是多少?

這是我可以基於一些講義,我發現在互聯網上做什麼:

平均=(5.129 + 3.2 + 1.5 + 5.6 + 10)/ 5 = 5.0658 偏移: S: - 0.0632 P1:1.8658 P2:3.5658 P3:-0.5342 P4:-4.9342 P5:-17.1342

講座一無所知RTT倍不說,所以我想知道我是否應該使用它們解決這個練習。那麼,我該怎麼做?

回答

0

如果您從另一臺計算機收到時間戳記,您需要考慮承載它的數據包所花費的時間。在沒有任何其他信息的情況下,您可能無法做得比假設這次是往返時間的一半還要好。

作爲比較,http://en.wikipedia.org/wiki/Network_Time_Protocol詳細描述了NTP的等效計算。通過在兩個方向上獲得接收和傳輸的服務器和客戶端時間戳,獲得服務器和客戶端時間戳,並且計算的時鐘偏移量theta是接收減去傳輸和傳輸減去接收的平均值,其嘗試平衡傳輸延遲 - 但是隻有兩個方向上的傳輸延遲是相等的,這相當於假設同一事物,並且文章確實說非對稱分組延遲會產生系統性偏見。