|
本論文主要描述如何為Cohesion加入動態延展能力。Cohesion是一個 用於個人電腦網路上的多引線分散式共享記憶體系統。具備了動態延展能 力之後, Cohesion便能動態地增加或減少節點數目。在增加節點時, 我們 將一些引線及其相關記憶頁(page)從其他節點送至此節點, 這樣才能利用 到這個節點的能力。如果我們只是複製這些記憶頁的話, 這些多出的複製 記憶頁將會加重系統在維持記憶體一致性的通訊負擔, 甚至拖垮系統效能 。為了減少通訊負擔, 我們將記憶頁送至目的節點並且刪除來源節點上的 記憶頁。這樣除去了不必要的複製記憶頁而使系統能得到新加入節點的計 算能力。當除去節點時, 我們必須將此節點上的引線和記憶頁搬到其他節 點上。 記憶頁和最近一次存取它的引線搬往同一個節點。如此一來, 這 個引線便可以在本地節點上存取此記憶頁。這不僅減少了不必要的複製記 憶頁, 並且降低了因記憶頁錯誤(page fault)所造成的系統負擔。在運用 了我們的重新分配方案後, 系統達成了良好的延展性。 Cohesion 能在程 式執行期間重組系統節點組態並具備延展性。 我們的測試環境是八部連 在獨立10Mb/s以太網路上的Pentium-90個人電腦。我們使用了MM, SOR, N-BODY, AC這四個應用程式。 我們在程式執行期間加入或減少節點以觀 察在重組節點組態後的系統效能。結果顯示效能良好並且隨著節點組態而 延展。
|