本論文主要在敘述一個建立在微算機網路上的分散式共用記憶體系統,稱 為 Cohesion 。Cohesion 的記憶體一致性是採用透明性最好的嚴格一致 型( Strict consistency )演算法來維持。為了提高此種演算法的效率, 本系統設計了延遲要求( Time window or Delta T )的機構,配合程式的 區域性( Locality )來改善一般分散式共用記憶體系統所共有的 Page threshing 之問題。此外,為了充份利用處理機在等記憶頁的閒置( Idle )時間,本系統在核心部份提供Upcalling 核心支援,以便處理機在 等待記憶頁時,可以用來執行另一個 Thread ,加快平行程式的執行。在 設計 Cohesion 的過程中我們遇到許多問題,如 (1)一致性演算法要實現 在核心階層,還是使用者階層。(2) 要採用嚴格一致型演算法還是非嚴格 一致型( Non-strict consistency )演算法。(3) 採用Time window 的 演算法還是 Non-time wondow 的演算法。(4) 採用現有的通信協定,還 是另外設計適合系統的高效率協定。(5) 採用現有的 Thread system 還 是自行設計一個 Thread system。這些問題將在本論文中詳細討論。 Cohesion 目前已經可以在 PC 所組成的網路上運作。我們在系統中提供 一個平行程式設計環境,給使用者發展平行程式。透過此環境的協助,使 用者很容易撰寫共用記憶體型態的平行程式,再由系統將程式分配到所有 處理機上同時執行。本論文將集中在介紹 Cohesion 的系統架構與討論系 統設計所遇到的問題。
|