分布式系統可以建立精確的數學模型,其上的演算法與性質都是可以證明的,這是最近看一本分布式演算法的專著的感受。其中在論及分布式系統的時間概念時,談到其邏輯時鐘是整個系統上的乙個序關係
φ,這個序關係可以把系統中的事件序列對映到乙個自然數集合上:φ(
event)=
除因果事件外,則還有平行事件的存在。故這種對映關係也不是唯一的。這樣乙個淺顯的性質,在做分布式演算法模擬的時候,是要給予考慮的。
記得2004
年畢業設計時曾做路由演算法的模擬,當時的重點雖然定在路由模擬與演化計算路由演算法的設計兩點上,可實際做的時候,精力還是放在了後者。雖然也比較了與傳統演算法的時間效率,但並不是建立在真正的「路由模擬」的概念上,所以說那個畢業設計做的有點不合格(至少應該把題目改了)。
最近有朋友找路由模擬的材料,又提起了
04年的那個東西,所以順便提一提。而巧的是,
5-1前乙個朋友也是因著這個途徑找到了我,讓幫忙做乙個工控網路中的路由模擬。因逢
5-1而答應了,又想了一下這個問題。
首先,對於乙個分布式系統的活動,可以抽象為乙個事件的集合(暫時不考慮其中種種的關係,所以稱之為集合)。比如路由計算的過程,也就是傳送資料、等待資料、接收資料、叫傳中繼路由表、計算路由表等事件的集合。這樣做的話,模擬系統模擬的主要物件,以及模擬資料的**,都是這個事件集合。
事實上,對於乙個分布式演算法,其自身是無法計算得到系統的邏輯時鐘所對映的自然數標號集的。所以如果不是實驗觀察資料,而是通過模擬的話,模擬系統自然需要這種監控事件的計算能力。
然後,則需要根據實際網路的特點,定義各種引數,以及事件的型別、事件之間的關係和事件的發生機制。
因為這個朋友要做的是工控網路的路由模擬,而不是計算機網路,這其中有一些其自身的特點。比如,乙個網路中有乙個大功率的裝置(集中器),它可以與大多數的小計算裝置(表記)進行聯絡,而表記之間進行聯絡則困難的多(更多的時候是呼叫不到的);另外,因為網路頻寬的原因,傳輸線上任意時刻至多只能有乙個訊號(資料報),這一特點也就使得這個網路中沒有了平行事件發生的可能性;還有一些其它的資料,不再列舉。
做完了這些,才到了路由演算法的考慮,並模擬這個路由演算法,獲得模擬資料。
如果04
年沿著這樣乙個思路去做,我想才勉強過關:)。當然,當時我沒有找到比較權威的模擬方案,直到現在這些想法也都是自己琢磨的,畢竟沒有系統學過模擬或**系統的設計,所以今日的帖子僅作參考。歡迎批評與討論。
分布式計算
定義 研究如何把乙個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。什麼是分布式系統 分布式系統 distributed system 是由多台計算機和通訊的軟體通過計算機網路連線組成 本地區域網或者廣域網 分布...
分布式計算概述
分布式系統 在 網 絡 計 算 平台 上 開 發 部 署 管 理 和 維 護 以 資 源 共 享 和 協 同 工 作 為 主 要 應 用 目 標 的 分 布 式 應 用 系 統。分布式系統的主要特徵 包含任意個數的系統程序和使用者程序 體系結構模組化,它由數目可變的多個處理部件組成 通過共享通訊結構...
分布式計算誤區
今天看hbase官網文件有翻到有周海漢整理和翻譯的中文文件,雖然沒有完全翻譯完,但是看還是可以加快理解hbase的內容了。如題,hbase不是這篇文章的重點,重點是文件中有乙個分布式計算誤區的鏈結 裡面有一些總結寫的很好,翻譯下共勉 分布式計算誤區 1.網路是可靠的 2.沒有延遲 3.頻寬用之不盡 ...