分布式共享記憶體兩種實現方式

2021-09-25 23:09:12 字數 565 閱讀 4703

分布式共享記憶體

這裡,我們介紹兩種分布式共享記憶體,一種是分布式共享記憶體,另外一種是*****分布式共享記憶體

簡單的分布式共享記憶體 

所有的程序去訪問乙個共享記憶體,這個共享記憶體是虛擬的,他可能分布在不同的物理機上,其實可以理解為一種抽象,他整合了所有的儲存資源,然後所有的排程、分配、讀寫都對程式設計師是隱藏的,他提供給程式設計師的就是乙個虛擬的記憶體塊(或者記憶體管理平台),程式設計師就可以向操作一塊磁碟一樣去在上進行程式設計或者其他的行為,這有點類似於雲計算的思想。

*****分布式共享記憶體 

每乙個機器都有乙個儲存內容的本地副本,讀取操作我們可以從本地記憶體進行讀取,寫入操作我們可以先在本地下寫入之後,再通過廣播向其他的記憶體塊傳送update訊息。

我們可以看到*****方式的共享記憶體速度是非常快的,因為他不需要去跟其他的使用者進行交流,省去了通訊的消耗。

分布式的兩種演算法

這種演算法非常的簡單,就是根據伺服器台數的餘數進行分散,求得整數值的hash值,再除以伺服器的台數,根據其餘數來選擇伺服器,將server的hash值與server的總台數進行求餘,即hash n。但是在這種演算法對快取命中率的影響下 我們假設有8臺伺服器,執行中突然down了一台,則求餘的底數變成...

共享的兩種方式

共享有兩種,這裡的共享可以理解為復用,分為時間上的復用和空間上的復用,時間上的復用的乙個典型的例子就是分時系統分時使用cpu,cpu將所有時間分成若干個段,每個程序使用一段時間,然後讓出cpu,之後排程邏輯會挑選另外乙個程序來使用cpu的接下來的時間段 空間上的復用的乙個典型的例子就是早期的多道程式...

基於scrapy redis的兩種分布式爬蟲

redis分布式部署 1.scrapy框架是否可以自己實現分布式?不可以。原因有二。其一 因為多台機器上部署的scrapy會各自擁有各自的排程器,這樣就使得多台機器無法分配start urls列表中的url。多台機器無法共享同乙個排程器 其二 多台機器爬取到的資料無法通過同乙個管道對資料進行統一的資...