高性能工作站和PC技術的發展運用以及高性能網絡技術的出現和發展,使得計算機集群系統在性能價格比、可擴展性、可用性、可靠性等方面都具有傳統的大型機和對稱多處理系統所無法比擬的優勢。
計算機集群系統就是指將一系列的同構或異構的計算機通過高速網絡連接在一起,來協同完成特定任務的功能更加強大的計算機系統。集群系統采用的操作系統主要有VMS、UNIX、WindowsNT和Linux。集群是一種并行或分布式的處理系統,由多臺互聯的獨立計算機(稱為節點)整合而成,像一個單獨的計算資源一樣協同工作。集群的節點可以是PC、工作站或者對稱多處理機(SMP),每個節點都擁有自己的CPU、內存、I/0設備和操作系統,可以提供大量的冗余設備來保證集群系統的高可用性。集群的計算能力隨著節點數量的增加而線性增加(如圖1)。
1 網絡存儲器技術的產生
隨著基于計算機集群系統的應用的不斷擴大,對整個系統性能的要求也就越來越高,越來越復雜的計算任務常常需要用到大量的數據,因此數據的I/0操作性能就成了影響計算機集群系統整體性能的一個重要指標。根據系統平衡設計原理,系統使用最快部件所能達到的加速比受限制于最慢的系統部件,而目前限制計算機集群系統整體性能的主要因素就來自于計算機系統中的磁盤的I/O瓶頸。因此,提高計算機系統中磁盤的I/O性能就成了提高計算機集群系統整體性能所需要解決的首要問題。
通過分析計算機集群系統的資源優勢,我們發現:一方面,由于網絡技術的高速發展,網絡通訊延遲越來越小,網絡訪問比本地磁盤訪問的速度快得多。另一方面,整個計算機集群系統內部的全部內存是一個容量很大的資源。如果利用計算機集群內其它節點的空閑內存來作為本地節點的虛擬內存或文件緩存,可以大幅度節省磁盤訪問時間,從而緩解磁盤的I/0瓶頸所帶來的問題。這種使用計算機集群系統內的節點的主存提高計算機系統I/0性能的技術就稱為網絡存儲器技術。
伴隨著高性能網絡技術的出現和普及,計算機系統在傳統的存儲器層次中增加了一個新的層次一網絡存儲器(Net—work Memory)。計算機的性能依賴于系統內處理器與存儲器之間數據交換的速度,網絡存儲器正是通過提高處理器與存儲器之間的數據交換的速度來提高計算機系統性能的,并進而提高整個計算機集群系統的性能。
2 計算機存儲結構的變化
在計算機存儲結構當中,存儲器的用途是多種多樣的,如寄存器、高速緩存、主存儲器和磁盤等。憑借高速緩存和操作系統對存儲器的管理與分配等技術,使得整個存儲系統的速度接近于系統內速度最快的那個存儲器,容量接近于容量最大的那個存儲器。存儲結構的性能由各層次的有效存取時間決定,它依賴于相鄰層次的命中率、訪問頻率和存取速度比。命中率越高,訪問頻率越低,則性能越高。在命中率和訪問頻率一定的情況下,下一層次的存儲器的訪問速度越快,則性能越高。
2.1 傳統的計算機存儲結構
在傳統的計算機存儲結構中(如圖2),以主存儲器為分界線,主要可以分為上下兩層,上層是由外部高速緩存和主存儲器構成的高速緩存存儲系統,下層則是由磁盤或磁帶等大容量存儲設備構成的存儲系統。
隨著集群技術的普及與廣泛應用,低速磁盤與高速內存之間的速度瓶頸問題就顯得尤為突出,有必要尋找一種辦法來緩解內存與磁盤之間的速度不匹配問題。
要緩解這個矛盾,有三種辦法。第一,提高磁盤自身的存取速度。而這需要大量的資金與精力的投入,在目前看來,是不現實的,也是不可取的。第二,像解決高速處理器與內存的速度瓶頸問題一樣,在本地主存儲器和本地磁盤之間也插入一種類似于高速緩存的存儲介質。第三,使用網絡空閑內存代替本地磁盤,與本地主存儲器進行數據交換。目前高速發展的網絡互聯技術使得后兩種辦法成為可能,那就是網絡存儲器。
2.2 具有網絡存儲器的計算機存儲結構
應用了網絡存儲器的計算機存儲結構發生了改變,如圖3所示,對于第二種解決方法,網絡存儲器在主存儲器和磁盤之間充當了一個緩存的角色,這樣可以有效地緩解內存和磁盤之間速度瓶頸的問題。對于第三種解決方法,網絡存儲器在計算機存儲結構中的位置會有相應的變化。
3 網絡存儲器的可行性分析
為了考查實際情況下的網絡存儲器,可以考查一個工作站集群,這個集群有100個工作站,每個工作站各有一個處理器,內存為64MB或128MB,硬盤為 2GB或4GB。工作站以155Mb/s的ATM連接,典型的延遲是20微秒,帶寬為15Mb/s。這種環境下,很多工作站上裝載了用戶的應用程序以及正在使用的集群資源(CPU、內存、硬盤、網絡)。根據統計情況,在給定的時間內,仍有相當多的資源沒有被利用。在夜間,甚至有80%~90%的工作站都被閑置著,即使在一天中最忙的時候,仍有三分之一的工作站完全未用,通常晚上有超過l千兆字節的存儲器空閑。在任何時間,在50臺機器的網絡中有30臺是空閑的。
圖4是希臘計算機科學學院(ICS)計算機結構與VLSI系統小組提出的模型,該模型是一個由16臺工作站組成的共800M主存的集群。由圖4可以看出,絕大多數時間集群內空閑內存都超過了700MB,尤其在夜間和周末。
盡管網絡存儲器由可變的存儲器組成,但由于它分布在許多獨立的工作站上,所以能提供較好的數據可靠性,如果一臺工作站崩潰了,存在其他工作站內存中的數據依然完整,通過某種形式的冗余,如數據復制,可以重構崩潰工作站內存中的數據。
4 網絡存儲器的性能分析
網絡存儲器有杰出的性價比。表l是一個有100臺工作站、20微秒延遲和15兆字節/秒帶寬的工作站網絡的存儲器各層次性能表。假設集群中至少有50%的網絡存儲器是空閑的,可看出網絡存儲器比硬盤性能好得多,比本地內存甚至硬盤容量大得多,而實際上幾乎沒有什么成本。這種性價比使得網絡存儲器成為一個非常好地解決計算機系統I/O性能瓶頸的可行方案。
5 網絡存儲器的設計方法
根據網絡存儲器的不同應用形式,網絡存儲器的設計方法可以分為以下三種:
1)網絡存儲器調頁:由于網絡存儲器性能介于硬盤與本地內存之間,因此在存儲器層次關系中,可以看作是硬盤和本地內存之間的一個中間層。這個附加的存儲層將給應用程序帶來好處,因為網絡存儲器的頁交換速度比硬盤快,所以總的訪問內存時間就會小很多。
2)網絡存儲器文件系統
a)網絡存儲器作為文件緩存:在集群工作站中,網絡文件系統在多個工作站上運行,當許多工作站通過文件系統如VFS訪問相同文件時,文件就會被高速緩沖到多個客戶機上,形成多個緩沖副本,浪費了緩存空間。為了提高文件緩存的調度,在各個工作站已有一個本地文件緩存的情況下,創建一個全局網絡存儲文件系統緩存相當重要。這種本地緩存統一成為一個全局緩存,增強文件緩存性能的技術叫做協作緩存。采用協作緩存技術,緩存所有本地協調交換信息,從而可以消除緩存文件副本,在必要時也可以共享內容。
b)網絡存儲器作為存儲設備:另一種解決磁盤I/0性能問題的方法是使用可靠的網絡存儲器來直接存儲臨時文件。采用這種方法的設備,稱為網絡隨機磁盤 Network RamDisk(NRD)。NRD是塊設備,它通過虛擬磁盤接口統一了N0W中所有空閑的主存,它像一個傳統磁盤,允許在上面創建文件和文件系統,由于它是在主存RAM中實現的,因而提供了比大多數傳統磁盤低的延遲和高的帶寬。
3)網絡存儲器數據庫:網絡存儲器可以作為一個大的(分布式的)數據庫高速緩存和作為一個快速的非易變數據緩存來存放數據庫敏感數據。事務處理雖然在原子性和可恢復性方面已得到好的評價,但由于大多數基于事務處理的系統要存儲大量的數據,因此性能受到限制。使用網絡存儲器能將基于事務的系統性能與磁盤性能分開,從而增強系統性能。對事務處理系統的開發原型進行實驗測試顯示:網絡存儲器的應用可以提高兩個數量級的性能。
6 結束語
網絡存儲器設計方法的基本思想就是盡量使用網絡存儲器來代替磁盤訪問,用以提高系統I/O性能。這些設計方法可在一般硬件上用軟件來開發。除此之外,有許多硬件組件,如SCI、Telegxaphs和SHRIMP,提供了特別的原始操作,增強了網絡存儲器系統的性能。網絡存儲器技術使用網絡空閑內存作為存儲介質,改變了傳統的計算機系統I/O訪問的層次結構,提供了遠遠高于磁盤的訪問速度,具有良好的應用前景。
責任編輯:gt
-
存儲器
+關注
關注
38文章
7528瀏覽量
164340 -
計算機
+關注
關注
19文章
7536瀏覽量
88638 -
操作系統
+關注
關注
37文章
6892瀏覽量
123742
發布評論請先 登錄
相關推薦
評論