|
在分散式系統中, 同步及容錯問題是最常被列入考慮之因素. 這兩者均與 訊息傳送順序有關, 但現今作業系統在此方面之支援甚少. ISIS為 Cornell University所開發的分散式系統程式發展工具, 對此問題, ISIS 提出一種虛擬同步 (Virtual Synchrony)模型解決. 虛擬同步藉由原子性 廣播(atomic multicast), 訊息遞送順序語意及虛擬失敗(virtu- al failure) 來協調網路中訊息傳送不一致之現象, 如此在應用程式的觀點 言, 網路上任何事件的發生都是同步的, 此模式可簡化分散式系統的設 計. 本論文藉由在ISIS上實作一資訊伺服機(Information Server)來探討 分散式系統中訊息遞送語意與容錯之常見問題與解決對策.論文主題分成 完全一致順序訊息遞送(Total Ordering), 因果律 (Causality) 及容錯 三方面. 完全一致之順序遞送之環境較易於一般程式設計, 然而此種完全 同步之語意效率較差. 因果關係遞送則是放鬆完全一致性, 改以只保證 "因果相關的訊息" 才按其因果關係順序做一致的遞送. 因果律遞送語意 之效率較佳, 然而在同時性 (Concurrent) 情況下無法保證一致性順序. 在ISIS之傳統廣播函式(multicast function)中, 此兩種遞送語意彼此並 不相容, 本論文利用字符 (token)擁有者作為順序遞送順序之基準擴展傳 統ISIS之因果關係遞送, 使其具有一致性但並不喪失因果關係, 我們亦討 論及解決在錯誤 (fault)發生時, 如何保持分散複製資料改寫順序之相 同, 及讀/寫之因果關係不被破壞.
|