Chapter 4 EXPERIMENT RESULT
4.2 Using Different Host Workloads
不同的 Workload 會對 wear leveling 有不同的影響,所以我們的實驗選擇了 NB,
IOmeter[17],Multimedia,這三種特性相差甚大的 workload,來囊括所有快閃記 憶體在使用時可能會遭受到的各種存取案例。
不同的 Workload 因為存取的特性不同,所以會在快閃記憶體上所造成的現象也 不同,下圖(9)是三種 Workload 在沒有 wear leveling 干涉下,造成的快閃記憶體 上 block 的 erase count 分布圖。IOmeter 是一個非常隨機的 access pattern,它會 非常分散但是帄均的將資料寫入不同的位置,所以會讓快閃記憶體各個 block 的 erase count 分布呈現常態分布的現象,沒有 block 的 erase count 會特別高或是特 別低。
NB trace 有明顯的 locality,所以有些位置會一直重複的被寫入,而有些位置都沒 有被寫到,因此會有 erase count 分布非常不帄均的現象。Multimedia 則是一個比 較循序的 access pattern,除了一些因為作業系統所造成的少數一直寫入的 hot data 和一部分沒有被寫到的區塊之外,在沒有 wear leveling 的介入下,它幾乎呈現非 常帄均且集中的 erase cycle 分布。
AVG
AVG
AVG
圖(9)不同 workload 的 erase count 分布圖
17
4.2.2 Workload Experiment Result
在本節中,我們先討論不同的 access pattern 會對 wear leveling 的效果產生不同的 影響以及比較不同的實驗結果。下圖(10)是我們使用 K-estimation 所模擬出的成 本-TH 的關係圖和暴力法的比較。
Trace RSS of K-estimation
NB 13.4399
Multimedia 1.967 IOmeter 163.167
表(5)K-estimation 的 RSS 值
可以看出,K-estimation 所模擬出的成本-TH 曲線在直接觀察下,其實和暴力法 的曲線看起來並沒有相差太多,造成的 RSS 也數值也很小,見表(5),唯一差距 較大的是 IOmeter,但是我們之前有提過當 Threshold 值很小時,K-estimation 所 估計的 overhead 會偏大,此部分所佔的誤差佔了全體誤差的 75%以上,所以捨 去端點部分不看,K-estimation 的模擬結果依舊是相當接近。
0
18
圖(11.a)NB 圖(11.b)Multimedia 圖(11.c) IOmeter
Trace RSS of Stepping(4G)
NB 0.41
Multimedia 17591 IOmeter 0.33 右,Stepping - 4G 幾乎不具有實用的價值。第二,Stepping 對於循序檔案的測量 效果表現得很差,從圖(11.b)中就可以看出它的曲線跟實際情況根本嚴重失真,
造成如此結果的原因就在於 Stepping 是在執行中連續測量 Threshold 值,所以前 一個 Threshold 值的測量結果就有可能會影響到下一個 Threshold 值的結果。這 個現象在 Multimedia 中特別的嚴重,因為 Multimedia 的寫入是很循序的,所以 大部分的 block 它的 erase count 都是很均勻的一起上升著,就算是有 wear leveling 的介入也不會改變這個趨勢,而且之前見圖(9)就已經看到 Multimedia 它 的 erase count 分布非常集中,所以隨著 Stepping 測量的 Threshold 值越來越小,
當測量的 Threshold 值進入 erase count 分布很集中的地帶時,反而會造成 wear leveling 太容易引發而產生高 overhead。
19
最後是使用 Partition 所得到的實驗結果。
從實驗的圖表中,可見 Partition 在 Multimedia 時依舊延續了上一段所提到的缺 點,所以 Partition 在 Multimedia 上幾乎有和 Stepping 一樣情況的誤差。Partition 在 NB 時我們從圖(12.a)中可以看到,當我們將快閃記憶體切成越多部分,測量 出的曲線誤差就越大,原因就在於因為 NB 這個 trace 具有高度 locality,當切成 越多等份測量時,就越容易受到 NB 的 locality 影響,造成每個 Threshold 值的測 量環境差異很大,失去公帄性。同理,因為 IOmeter 完全沒有 locality 的問題,
所以測量出來的結果不管將快閃記憶體切成多少等份結果都相差不大。
再來表(7)是我們使用 K-estimation 在不同 worload 下所得到的 Threshold 值。
以使用暴力法測量 IOmeter,Multimedia,和 NB 所測量到的成本-TH 關係圖以及 標準差-TH 關係圖 ,見圖(13)。
圖(12.a)NB 圖(12.b) Multimedia 圖(12.c)IOmeter
Workload K Threshold
NB 1.0268 23
Multimedia 1.0092 23
Iometer 2.06 32
20 leveling 對帄均的定義有關,所以基本上 Threshold 值越小的話,block 之間的 erase count 分布也就越帄均。
從圖(13.a)中,可以看到 IOmeter 的 wear leveling 成本是高於另外兩者的,原因 就在於在上節所提到的,IOmeter 的 erase count 的分布幾乎是呈現常態分布,所 以 erase count 高於帄均值加上標準差的比例約為 17%,所以很容易就可以引發 wear leveling。但是 IOmeter 並沒有所謂 hot cold data 的分別,所以 wear leveling 很難介入這麼帄均的隨機寫入,做了效果沒有很好,反而造成很高的成本,因此 K-estimation 所測量出的 K 值較大,找出的 Threshold 值也偏大如表(7)所列,如 此可避免引發過的無謂的 wear leveling。
NB trace 有明顯的 locality 而非常不帄均,但是在 trace 中其實 hot data 佔的比例 是比較少的的,所以會引發 wear leveling 的區塊跟 IOmeter 比起來較少,又它的 hot cold data 是很明顯的,因此不需付出太多成本,wear leveling 的效果就很好,
所以 K-estimation 找出的理想 Threshold 值約為 23,正好是處在成本暴增之前的 點。
至於 Multimedia trace,因為他的 erase cycle 分布很集中且帄均,所以太大的 Threshold 值並不會啟動 wear leveling ,而太小的 Threshold 值則會大幅引發 wear leveling 。他大部分為循序寫入,只有少部分的 hot data,所以 hot data 很容易 辨識,原本 wear leveling 應該會很好做,但是 Multimedia 常常會有大範圍的循序 寫入,因此又會破壞了之前 wear leveling 的將 hot cold 資料交換的結果,,因此 整體的效果和 NB 看起來差不多。
21