平行處理是一種正快速發展的程序方式。在多處理機系統上發展平行處理是多數人所 採用的辦法。 在同一系統上加入多個處理機固然可以達到部份平行處理的效果,但是系統通道以及 系統記憶體的頻寬將會限制加入系統的處理機的數目,否則多加入的處理機會因通道 的擁擠而空閒下來。因此有人試圖在每個處理機上加一個區域性的快速隱藏式記憶體 ,希望能因而減少系統通道的流量及存取系統記憶體的次數。 但是當兩個處理機都可以寫到某些共同的區域時,如果只有改變區域性快速記憶體時 ,會產生同一區域但不同資料的版本問題。如何有效地解決這種版本不一致的情況就 稱作“多處理機隱藏式記憶體一致性問題”。本篇論文就是針對此問題提出二種“處 理機之間的協定”,使得所有區域性隱藏式記憶體的資料都能維持在同一最新的版本 。 當一個處理機寫到某共同的區域時,有兩種方法可以通知存在其它隱藏式記憶體上的 複本。第一是通知所有存有複本的處理機將存於該記憶體上的複本取消,於是只有更 改該共同區域的處理機擁有一份複本。第二是通知所有存有複本的處理更新版本的最 新資料。這兩種方法都可以使得存在快速記憶體的所有共用區域的資料是一致的。這 兩個處理機之間的協定就是結合這兩種方法,而採取消去其它的版本或更新所有的複 本的決定,是依照所有曾經存取過此一共用區域的處理機的存取頻率而定。若有某一 處理機對於共用區域的使用率效其它處理機高出很多,則採用取消其它複本的方法。 若是每個處理機的使用頻率都很相近,就採用更新其它版本的方法。運用這種觀念所 提出的兩個協定可以大量地減少系統通道的擁擠程度。
|