簡介
計算機系統的一個重要組成部分是 I/O 系統。在I/O 系統中,最頻繁是進行輸入輸出操作,這也是I/O 系統最重要的功能。並行輸入輸出一般是指設備能同時進行輸入輸出操作。這裡並行輸入輸出並不是只指外存設備實現輸出輸入操作的並行,在記憶體上也可以實現並行輸入輸出,例如,雙連線埠DRAM(動態隨機存取存儲器)有兩個獨立的數據連線埠,可以分別進行數據的輸入和輸出,其中一個可以直接由CPU存取,另一個連線埠可以獨立地被其他部件經過直接存取,這樣雙連線埠DRA可以實現並行輸入輸出。並行輸入輸出在一定程度上提高了系統效率,把主機從繁雜的 I/O 控制事務中解脫出來,以便更多地去完成數據處理任務。
並行性
並行性是指計算機系統具有可以同時進行運算或操作的特性,在同一時間完成兩種或兩種以上工作。它包括同時性與並發性兩種含義。同時性指兩個或兩個以上事件在同一時刻發生。並發性指兩個或兩個以上事件在同一時間間隔發生。
計算機中提高並行性的措施多種多樣,就是基本思想而言,可以歸納為如下3條途徑:
(1)時間重疊。相鄰處理過程在時間上錯開,輪流重疊使用同一套硬體的各部分。
(2)資源重複。重複設定硬體資源提高可靠性和性能。
(3)資源共享。讓多個用戶按照一定的時間順序輪流使用同一套資源,提高資源利用率。
廉價磁碟冗餘陣列
廉價磁碟冗餘陣列(RAID, Redundant Array of Inexpensive Disk)是 1987 年由美國加利福尼亞大學伯克萊分校提出的,現在已開始廣泛地套用於大、中型計算機系統和計算機網路中。它是利用一台磁碟陣列控制器,來統一管理和控制一組(幾台到幾十台)磁碟驅動器,組成一個高度可靠的、快速的大容量磁碟系統。
並行交叉存取
為了提高對磁碟的訪問速度,已把在大、中型機中套用的交叉存取(Interleave)技術套用到了磁碟存儲系統中。在該系統中,有多台磁碟驅動器,系統將每一盤塊中的數據分為若干個子盤塊數據,再把每一個子盤塊的數據分別存儲到各個不同磁碟中的相同位置上。在以後,當要將一個盤塊的數據傳送到記憶體時,採取並行傳輸方式,將各個盤塊中的子盤塊數據同時向記憶體中傳輸,從而使傳輸時間大大減少。例如,在存放一個檔案時,可將該檔案中的第一個數據子塊放在第一個磁碟驅動器上;將檔案的第二個數據子塊放在第二個磁碟上;……;將第 N 個數據子塊,放在第 N 個驅動器上。以後在讀取數據時,採取並行讀取方式,即同時從第 1~N 個數據子塊讀出數據,這樣便把磁碟 I/O 的速度提高了 N-1 倍。
RAID 的分級
RAID 在剛被推出時,是分成 6 級的,即 RAID 0 級至 RAID 5 級,後來又增加了 RAID6 級和 RAID 7 級。
(1) RAID 0 級。本級僅提供了並行交叉存取。它雖能有效地提高磁碟 I/O 速度,但並無冗餘校驗功能,致使磁碟系統的可靠性不好。只要陣列中有一個磁碟損壞,便會造成不可彌補的數據丟失,故較少使用。
(2) RAID 1 級。它具有磁碟鏡像功能,例如,當磁碟陣列中具有 8 個盤時,可利用其中 4 個作為數據盤,另外 4 個作為鏡像盤,在每次訪問磁碟時,可利用並行讀、寫特性,將數據分塊同時寫入主盤和鏡像盤。故其比傳統的鏡像盤速度快,但其磁碟容量的利用率只有 50%,它是以犧牲磁碟容量為代價的。
(3) RAID 3 級。這是具有並行傳輸功能的磁碟陣列。它利用一台奇偶校驗盤來完成數據的校驗功能,比起磁碟鏡像,它減少了所需要的冗餘磁碟數。例如,當陣列中只有 7 個盤時,可利用 6 個盤作數據盤,一個盤作校驗盤。磁碟的利用率為 6/7。RAID 3 級經常用於科學計算和圖像處理。
(4) RAID 5 級。這是一種具有獨立傳送功能的磁碟陣列。每個驅動器都各有自己獨立的數據通路,獨立地進行讀/寫,且無專門的校驗盤。用來進行糾錯的校驗信息,是以螺旋(Spiral)方式散布在所有數據盤上。RAID 5 級常用於 I/O 較頻繁的事務處理中。
(5) RAID 6 級和 RAID 7 級。這是強化了的 RAID。在 RAID 6 級的陣列中,設定了一個專用的、可快速訪問的異步校驗盤。該盤具有獨立的數據訪問通路,具有比 RAID 3 級及RAID 5 級更好的性能,但其性能改進得很有限,且價格昂貴。RAID 7 級是對 RAID 6 級的改進,在該陣列中的所有磁碟,都具有較高的傳輸速率和優異的性能,是目前最高檔次的磁碟陣列,但其價格也較高。
RAID 的優點
RAID 自 1988 年問世後,便引起了人們的普遍關注,並很快地流行起來。這主要是因為 RAID 具有下述一系列明顯的優點:
(1) 可靠性高。RAID 最大的特點就是它的高可靠性。除了 RAID 0 級外,其餘各級都採用了容錯技術。當陣列中某一磁碟損壞時,並不會造成數據的丟失,因為它既可實現磁碟鏡像,又可實現磁碟雙工,還可實現其它的冗餘方式。所以此時可根據其它未損壞磁碟中的信息,來恢復已損壞的盤中的信息。它與單台磁碟機相比,其可靠性高出了一個數量級。
(2) 磁碟 I/O 速度高。由於磁碟陣列可採取並行交叉存取方式,故可將磁碟 I/O 速度提高 N-1 倍(N 為磁碟數目)。或者說,磁碟陣列可將磁碟 I/O 速度提高數倍至數十倍。
(3) 性能/價格比高。 利用 RAID 技術來實現大容量高速存儲器時, 其體積與具有相同容量和速度的大型磁碟系統相比,只是後者的 1/3,價格也只是後者的 1/3,且可靠性高。換言之,它僅以犧牲 1/N 的容量為代價,換取了高可靠性;而不像磁碟鏡像及磁碟雙工那樣,須付出 50%容量的代價。