Abstract
訊息傳導是分散式記憶體系統最常用的程式間通訊模式,使用這種方式, 程式設計者必須自己管理各個程式之間流動的資料,這種工作很煩雜而且 容易導致錯誤的產生。相反地,當程式設計者使用虛擬或實體共享記憶體 撰寫共時執行程式時,程式設計者不需要親自管理共用的資料,因此可以 較容易地發展平行程式。為了在分散式記憶體系統上提供共享記憶體環境 ,分散式共享記憶體概念便被提出,而且很快地受到矚目。目前 分散式 共享記憶體的製作大都集中於硬體及/或作業系統上,使用這種實作方式 的困難處在於不易支援異質分散式系統,發展所需的代價很高,而且不易 移植到不同的電腦架構上。在本論文中,我們提出一個建構分散式共享記 憶體的新觀念,稱作"以資料結構為基礎"之方法,在這個方法中,共享記 憶體包含許多共用的物件,每個物件則是由一些具有邏輯上相關的資料結 構單元所組成。以資料結構為基礎的分散式共享記憶體可以被製作在較高 的層級上,例如製作成為程式庫的形式。它有許多的優點,包括可與較底 層的系統無關、容易移植、製作成本低、可提供程式設計者較具彈性的使 用方式、及容易支援異質系統。我們實際製作了一個以資料結構為基底的 分散式共享記憶體,稱作ADSMITH,它是建立在PVM上的一個傳統C的程式 庫。本論文中,我們將檢視不同的設計考量並且討論不同的發展策略,系 統的使用和製作方式及初步的效應評估結果將於文中分段說明。由該結果 我們可觀察發現雖然 ADSMITH是製作於PVM上層,但使用其設計之程式仍 可達到與純粹使用PVM設計的程式有相當的效率。