IBM、Spectra Logic

不同於刻版印象,磁帶的速度其實並不慢,單論持續循序傳輸速率來說,磁帶其實還勝過機械式硬碟一籌。問題在於,一旦遇上隨機、離散的存取應用,磁帶的存取速度便會大幅降低,大量時間將耗費在反覆的讀寫頭重新定位上。

而從IBM 3592系列磁帶應用的「建議存取順序(RAO)」技術,正是為了解決磁帶離散存取效能的問題而誕生,透過重新排列分散資料的存取順序,可以大幅減少讀寫頭重新定位的時間,進而顯著改善磁帶存取分散資料的效率。

現在,這項技術也被應用到使用最普遍的LTO磁帶上,最新一代的LTO-9磁帶,引進了建議存取順序(RAO)技術的開放版本:開放建議存取順序(oRAO)技術,讓當前兩大主流磁帶規格——LTO與IBM 3592,都具備同樣的離散檔案存取順序最佳化功能,對於大量依靠磁帶的備份與歸檔應用來說,都能帶來相當大的助益,可有效提高資料還原或歸檔檢索作業速度。

磁帶存取效能的優勢與劣勢

磁帶存取離散資料效能低落的問題,源自磁帶的先天架構。

磁帶是以條捲型式,收納在卡匣內轉軸上的帶狀磁性儲存媒體,透過轉軸帶動磁帶,來與讀寫頭的磁頭接觸,利用磁頭以線性或螺旋的方式掃描磁帶,在磁帶的磁軌上記錄與讀取資料。

由於磁帶是一條連續的帶狀磁性物質,因然也讓磁帶的存取作業具備循序的特性——隨著磁帶的捲動,讓磁頭依序地在磁帶上讀取與寫入資料,而這樣的特性,也給磁帶存取效能帶來制約。

磁帶的優勢

由於磁帶的存取機制,先天上便是循序性的,因此最適合磁帶發揮的場合,便是連續資料的循序寫入與讀取,也就是每一筆資料的存取順序與存取位置,是依序且連續的,磁帶機只需簡單地順向捲動磁帶,就能讓磁頭持續地存取資料。在這種連續循序存取情境下,當前的主流磁帶規格,效能並不遜於機械式硬碟,甚至更勝一籌。

舉例來說,當前機械式硬碟的循序持續傳輸速率,最高大約在250MB/s~300MB/s之間,大部分機械式硬碟產品的持續傳輸速率都在200MB/s上下,而兩大主流磁帶規格——LTO與IBM 3592,早在7、8年以前便已超過了這個速度。

以LTO來說,LTO-7未壓縮傳輸率為300MB/s,LTO-8提高到360MB/s,到了LTO-9,更達到400MB/s。

在IBM 3592系列方面,2014年推出的第5代機型TS1150,達到360MB/s,最新第6代機型TS1160,達到400MB/s。

雖然說前述磁帶傳輸速率,都是官方規格數字,與實際表現存在一些落差。以磁帶匣供應商Fujifilm簡報中提供的數據為例,以寫入1GB檔案為基準時,LTO-8的實際寫入速率只達到216MB/s,IBM 3592的實際寫入速率則為280MB/s,相當於官方規格數字(360MB/s與400MB/s)的6、7成。

但另一方面,機械式硬碟的實際傳輸速度,其實也達不到規格數字(只有在存取碟片最外圈資料時,才能達到接近規格數字的最大傳輸率),前面同一份Fujifilm的簡報也指出,以寫入1GB檔案為基準時,最大傳輸速率規格216 MB/s的硬碟,實際寫入速率只有84MB/s,只達到規格數字的4成。

所以,無論就規格數字還是實際表現來說,較新款的磁帶機的連續循序存取速度,都已超過多數機械式硬碟產品。

磁帶的劣勢

當磁帶的循序存取架構,遇上了離散或隨機存取情境時,便會出現大麻煩。

在這種情境下,所要存取的每一筆資料,是分散位於磁帶上不同位置,且存取順序也不是依序的,因而磁帶機必須不斷將磁帶捲動到不同位置,重新定位磁頭,才能分別存取不同位置上的資料,因而必須在捲動磁帶、重新定位磁頭等作業上,耗費大量機械動作的時間,也造成存取效率的大幅降低。

利於寫入、不利於讀取

在當前的企業IT環境中,磁帶最主要的應用場合,是資料備份與長期歸檔。而磁帶長於循序、連續存取,短於離散、隨機存取的特性,反映到實際應用環境時,便會形成有利於備份、歸檔寫入作業,不利於還原與檢索讀取作業。

備份或歸檔資料的寫入,大都是將連續的資料區塊,有序、持續的寫入磁帶,正好對應磁帶的循序記錄特性,可以發揮較高的傳輸效能。

然而當要從備份或歸檔的磁帶中,還原或檢索資料時,很少會有需要把整卷磁帶資料倒出來的連續區塊讀取情境,更常見的,是對於特定歸檔資料的檢索,或是還原某些個別的備份檔案,這類讀取作業,往往就不是循序的,而是隨機、離散性的。

當要從磁帶中還原與檢索特定的個別資料時,這些資料往往是分散存放在磁帶上不同位置,將會導致磁帶機必須不斷地來回捲動磁帶,以便讓磁頭讀取不同的磁帶位置,更進一步,這些資料可能位於彼此相距很遠的磁帶區段,當磁頭讀取上一筆資料後,接著磁帶必須捲動很長的距離,才能讓磁頭讀取下一個檔案,如此一來,也導致磁帶讀取效率的嚴重低落,大量時間都耗費在搜尋資料與磁帶頭重新定位上。

解決離散讀取效率低落的老問題

建議存取順序(RAO)問世,正是為了解決磁帶離散讀取效率低落老問題。

RAO這項技術,最初是由IBM 3592磁帶家族的第4代產品TS1140率先引進,目的是透過讀取排序的最佳化,來改善磁帶讀取離散分布檔案的效率。

如同前面提到的,磁帶機同時讀取磁帶上多個離散分布的檔案時,將耗費大量時間重新定位磁頭,導致整體效率的嚴重低落,所以要改善離散讀取多個檔案的效率,著眼點便在於如何減少磁頭重新定位的時間。

而RAO技術的基本概念,便是藉由重新排列多個檔案的讀取順序,藉此將移動磁頭重新定位所需的時間,降到最小,進而達到縮短讀取時間的目的。

建議存取順序(RAO)技術原理

RAO技術的原理,是在磁帶讀取多個檔案的時後,藉由讀取順序的最佳化,來縮短磁頭重新定位的時間。

而為實現縮短磁頭重新定位時間的目的,RAO採取這3項機制:

(1)透過用戶資料區段(UDS)格式,記錄個別檔案在磁帶的區塊實體位置。

(2)基於UDS位置,透過演算法估算磁頭定位每個檔案移動時間。

(3)針對用戶端所要讀取的多個檔案,藉由加權計算,重新排列讀取每一個檔案時的先後次序,計算出可以在最短時間內,移動磁頭讀取所有檔案的「建議存取順序」。

而在實際運作上,RAO的運作是透過GRAO指令(Generate RAO),以及RRAO指令(Receive RAO)來運作。

當用戶端應用程式要讀取同一卷磁帶上多個離散分布的檔案時,可以透過GRAO指令,向磁帶機發送所要存取檔案的UDS列表,接著,磁帶機便會估計磁頭移動定位每個檔案所在區段所需的時間,藉由調整檔案間的讀取順序,算出一個可以在最短時間內讀取所有檔案的「建議存取順序」。

RAO計算檔案存取順序時,考量的因素包括檔案的大小、在磁帶上的位置(位於磁帶的哪個線帶(Wrap)、哪個條帶(Band)等),以及磁帶機的特性(傳輸速率等),給予這些因素不同加權,計算出個別檔案存取順序優先度。

隨後用戶端應用程式再透過RRAO指令(Receive RAO),接收磁帶機計算出的「建議存取順序」(RAO)結果,只要依據RAO的指示執行,便能在最短時間內完成多個檔案的讀取。

在RAO的實際成效方面,一些文件給出了可減少40~60%搜尋時間的數據。從RAO的運作概念來說,要從磁帶上讀取的檔案數量越多時,需要移動磁頭、重新定位的次數也越多,此時透過RAO的最佳化讀取排序,所能得到的存取加速效果,理應也會更為顯著。

LTO磁帶匣供應商Fujifilm提供的測試結果,也證實了這樣的趨勢。以開啟小量資料(2或3個檔案)為基準時,相較於傳統的循序存取,RAO技術可以加快20%的速度;而在開啟平均大小為10GB的15個檔案時,RAO技術則可以加快30%的速度。Fujifilm引用的測試資料還指出,在極為密集、頻繁的存取環境下,RAO技術還能讓磁帶機節省多達50%的磁頭定位時間。所以說,若要讀取的檔案數量越多,則RAO技術能發揮的加速效益也越大。

不過在另一方面,RAO技術中所需要的檔案位置紀錄、讀取順序排列計算等功能,都是由磁帶機的嵌入式微處理器與記憶體來承擔,所以只有特定款式、型號的磁帶機,才能支援這項功能。

RAO技術的擴散應用

繼IBM 3592磁帶,Oracle的T10000磁帶也含相似的「建議存取順序」功能,接著磁帶設備大廠Spectra Logic在自身自動化磁帶設備提供類似功能。

Spectra Logic的存取排序功能稱作「基於時間的存取順序系統(TAOS)」,Spectra Logic旗下包括T950與TFinity ExaScale系列磁帶櫃都支援這項功能,基本原理與運作方式都與IBM的RAO相同,但TAOS技術提供了更深度的磁頭定位時間估算,與讀取順序計算能力。

對於RAO這類技術來說,要實現將磁頭搜尋資料時間縮到最短目的,關鍵在於須盡可能精確估算磁頭在讀取多個檔案時,重新定位每一個檔案所需時間,如此才能得出正確的讀取順序排列。

Spectra Logic特別針對該公司磁帶櫃搭配使用的3種磁帶機;LTO-7、LTO-8與IBM TS1155,收集了超過10萬個磁頭讀取移動作業的資料點,每個資料點都包括11個參數(包括磁頭移動的起始條帶(Band)位置、目的地條帶位置、移動所需的線性距離、操作時間、磁帶機是否需要倒轉等),然後透過機器學習模型的幫助,建立一個模型,可以預測磁頭在磁帶上任意2點移動所需的時間。

Spectra Logic宣稱,他們透過機器學習所產生的模型,所估算出的磁頭移動定位時間,與實際定位時間之間的平均誤差只有44.54毫秒(ms)。以此為基礎,TAOS技術再結合最鄰近搜索演算法(Nearest Neighbor algorithm),計算出磁頭移動讀取每個檔案的最短路線,得出讀取多個檔案時,最佳的讀取順序。

Spectra Logic提供的實測結果顯示(100MB檔案隨機讀取,最多500個檔案),TAOS可以縮短4倍的讀取時間,並縮短13倍的磁帶移動距離。

不過Spectra Logic的TAOS技術,須配合磁帶機內整合的專屬磁帶櫃處理器來運作,所以也只適用於該公司的磁帶櫃產品,而不適用於一般的LTO磁帶機。

至於使用最普遍的LTO磁帶方面,一直沒有RAO之類的功能,直到新近推出的LTO-9,才正式引進開放建議存取順序(oRAO)功能,讓一般LTO磁帶機也具備離散資料存取排序最佳化技術。

依據IBM的LTO磁帶機操作文件(IBM除了自身專屬的3592磁帶以外,也是LTO磁帶機的主要供應商之一),oRAO基本上可視為IBM 3592系列磁帶的RAO功能,移植到LTO上的「開放」版本,運作原理與操作指令都相同,IBM宣稱藉由oRAO技術,可讓存取時間減少73%之多。

當LTO-9引進oRAO功能,也讓LTO與IBM 3592兩大主流磁帶規格,都具備了同樣的離散資料存取最佳化功能。

但要注意的是,若RAO、oRAO或TAOS這類技術需發揮效用,主機端應用程式(備份或歸檔管理軟體)須支援GRAO、RRAO等指令,才能啟用磁帶機上的RAO或oRAO功能。

 磁帶的基本構造 

資料來源:iThome整理,2022年5月

磁帶離散存取效能低落源自磁帶先天架構,所以若要理解RAO技術如何解決這問題,須先認識磁帶基本構造。

以LTO-8磁帶為例,磁帶上下兩端邊緣被用於磁頭定位的伺服帶(servo band)占用,在伺服帶中間共含用於記錄資料的6,656條資料磁軌(track),這些磁軌分為208條線帶(Wrap),其中104條是由前往後正向記錄資料,其餘是由後往前反向記錄資料。而磁帶讀寫磁頭一次只能覆蓋讀取1/4寬度的磁帶,也就是52條線帶(Wrap),這樣一個讀取單位被稱為條帶(Band),整個磁帶一共分為4個條帶,讀寫頭必須上下移動覆蓋寬度,才能讀取到整個磁帶寬度。

由於磁帶是以線性方式,捲動磁帶到讀寫頭的位置上存取,所以,當讀寫頭從一條線帶(Wrap)移動到相同方向的另一線帶時,由於不需要倒轉捲動磁帶,因而要比移動到另一方向的線帶更快。而在同一條帶(Band)內的線帶(Wrap)之間移動時,由於都在讀寫頭覆蓋範圍內,不需要移動讀寫頭覆蓋的範圍,因而也比移動到另一條帶時更快。

 磁帶離散存取效能低落的問題 

資料來源:iThome整理,2022年5月

當應用程式要讀取離散磁帶中的多個檔案時,若用傳統的線性循序存取方式,將會遭遇嚴重的效率低落問題。

以上圖為例子,依序讀取A到F這6個分散檔案,首先須耗費時間T1捲動幾乎整個磁帶的長度(960公尺),才能讀取到檔案A,接著又要耗費T2時間,倒轉幾乎整個磁帶的長度來讀取檔案B,然後又須倒帶捲動大半個磁帶長度來讀取檔案C,依此類推。若讀取6個檔案在搜尋與定位耗費的總體時間,約等於捲動5千公尺長度磁帶的時間。

 ​透過最佳化排序來存取離散檔案 

資料來源:iThome整理,2022年5月

透過RAO、oRAO、TAOS這些技術,可以算出存取離散檔案的最佳順序,從而大幅縮短資料搜尋與重新定位的時間。

以上圖為例,耗時最短的存取順序,應先讀取檔案F、然後是檔案B,再來依序是D、C、E、A,總計只要耗費略多於捲動1000公尺磁帶的時間。比起從A到F的線性順序讀取方式,改用這個調整後的存取順序,同樣能讀取全部檔案,但總體時間至少節省70%以上。

率先引進RAO技術的IBM 3592家族
IBM 3592磁帶機家族的第4代產品TS1140,率先引進「建議存取順序(RAO)」技術,可以顯著改善讀取多個離散分布檔案的效率,這個磁帶機家族接下來的TS1150、TS1155與TS1160等產品,也都支援這個功能。
圖片來源/IBM

 

提供專屬TAOS技術的Spectra Logic磁帶設備
Spectra Logic的磁帶櫃產品T950,以及TFinity ExaScale系列,內含「基於時間的存取順序系統(TAOS)」技術,可以提供與RAO技術相同的多重檔案存取排序最佳化功能。
圖片來源/Spectra Logic

導入oRAO技術的LTO-9磁帶
在使用最普遍的LTO磁帶方面,到了最新一代的LTO-9,也終於引進「開放建議存取順序(oRAO)」技術,與IBM 3592系列具備同樣的多重檔案存取加速能力。
圖片來源/IBM


熱門新聞

Advertisement