Flashcache的實現(xiàn)原理與優(yōu)化研究
發(fā)布時間:2018-10-16 19:25
【摘要】:隨著固態(tài)盤的興起,主流的存儲系統(tǒng)都逐漸采用固態(tài)盤與機(jī)械硬盤混合的分層存儲方式。固態(tài)盤的隨機(jī)I/O(Input/Output)性能很好但價格貴,機(jī)械硬盤則容量大價格便宜,這兩種存儲設(shè)備相互補(bǔ)充,可以提供更好的存儲方案。閃存緩存(Flashcache)就是其中之一,它的設(shè)計與實現(xiàn)均基于Linux設(shè)備映射器(DM)框架,原型來自DM緩存,是一個通用的塊設(shè)備緩存模塊,利用固態(tài)盤隨機(jī)讀寫性能好的特點,將固態(tài)盤作為磁盤的緩存,用于加速塊設(shè)備的訪問。但是當(dāng)前的Flashcache的設(shè)計與實現(xiàn)尚存在一些問題,可以進(jìn)一步優(yōu)化改進(jìn)。 一方面,F(xiàn)lashcache本身在實現(xiàn)的時候沒有考慮到并行性,所有請求全部是串行化處理。然而固態(tài)盤有很好的并行性,將串行I/O改為并行I/O則可以有效地提高其I/O性能。采用現(xiàn)代多線程編程方法將串行I/O改為并行I/O,采用細(xì)粒度的同步鎖機(jī)制增加I/O過程的并行性,從而改善I/O性能。另一方面,F(xiàn)lashcache在緩存磁盤數(shù)據(jù)的時候并未區(qū)分I/O的類型,它緩存所有請求,不管是隨機(jī)I/O還是順序I/O。事實上固態(tài)盤的順序I/O性能與磁盤或,特別是多個磁盤組成的RAID性能相比優(yōu)勢并不明顯,緩存這類順序I/O對性能的提升有限,相反的浪費了大量的固態(tài)盤存儲空間,增加了固態(tài)盤的負(fù)擔(dān)。通過在I/O過程中判別其特征,,對于順序I/O則不采用固態(tài)盤緩存,直接讀寫磁盤或RAID,僅對較為隨機(jī)的I/O請求采用固態(tài)盤進(jìn)行緩存,進(jìn)一步優(yōu)化了Flashcache的性能。實驗結(jié)果證明采用增加并行性和根據(jù)I/O特性有選擇的進(jìn)行緩存可以有效地提高Flashcache的性能。
[Abstract]:With the rise of solid-state disk, the mainstream storage system gradually adopts the layered storage mode of solid-state disk and mechanical hard disk. The random I / O (Input/Output) of solid-state disk is very good but expensive, while the mechanical hard disk has large capacity and low price. These two storage devices complement each other and can provide better storage scheme. Flash memory cache (Flashcache) is one of them. Its design and implementation are based on (DM) framework of Linux device mapper. Its prototype comes from DM cache. It is a universal block device cache module, which makes use of the good performance of random read and write of solid state disk. A solid-state disk is used as a cache to speed up access to block devices. However, there are still some problems in the design and implementation of Flashcache, which can be further optimized and improved. On the one hand, Flashcache itself is implemented without considering parallelism, and all requests are serialized. However, solid state disk has good parallelism. Changing serial I / O to parallel I / O can effectively improve the performance of I / O. The serial I / O is changed to parallel I / O by modern multithreading programming method, and the parallelism of I / O process is increased by using fine-grained synchronous locking mechanism, thus improving the performance of I / O. Flashcache, on the other hand, does not distinguish between I / O types when caching disk data; it caches all requests, whether random or sequential. In fact, the sequential I / O performance of solid-state disks is not much better than disk or, in particular, multi-disk RAID performance. Caching this sort of sequential I / O has limited performance gains, and on the contrary wastes a lot of solid-state disk storage space. By judging its characteristics in the process of I / O, the sequential I / O does not use solid disk cache, and the disk directly read and write or RAID, only uses solid state disk to cache random I / O requests, which further optimizes the performance of Flashcache.
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2013
【分類號】:TP333
本文編號:2275394
[Abstract]:With the rise of solid-state disk, the mainstream storage system gradually adopts the layered storage mode of solid-state disk and mechanical hard disk. The random I / O (Input/Output) of solid-state disk is very good but expensive, while the mechanical hard disk has large capacity and low price. These two storage devices complement each other and can provide better storage scheme. Flash memory cache (Flashcache) is one of them. Its design and implementation are based on (DM) framework of Linux device mapper. Its prototype comes from DM cache. It is a universal block device cache module, which makes use of the good performance of random read and write of solid state disk. A solid-state disk is used as a cache to speed up access to block devices. However, there are still some problems in the design and implementation of Flashcache, which can be further optimized and improved. On the one hand, Flashcache itself is implemented without considering parallelism, and all requests are serialized. However, solid state disk has good parallelism. Changing serial I / O to parallel I / O can effectively improve the performance of I / O. The serial I / O is changed to parallel I / O by modern multithreading programming method, and the parallelism of I / O process is increased by using fine-grained synchronous locking mechanism, thus improving the performance of I / O. Flashcache, on the other hand, does not distinguish between I / O types when caching disk data; it caches all requests, whether random or sequential. In fact, the sequential I / O performance of solid-state disks is not much better than disk or, in particular, multi-disk RAID performance. Caching this sort of sequential I / O has limited performance gains, and on the contrary wastes a lot of solid-state disk storage space. By judging its characteristics in the process of I / O, the sequential I / O does not use solid disk cache, and the disk directly read and write or RAID, only uses solid state disk to cache random I / O requests, which further optimizes the performance of Flashcache.
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2013
【分類號】:TP333
【參考文獻(xiàn)】
相關(guān)期刊論文 前3條
1 周可,張江陵,馮丹;Cache對磁盤陣列性能的影響[J];電子學(xué)報;2003年09期
2 李潔瓊,馮丹,張熳;提高磁盤陣列小寫性能的方法研究[J];計算機(jī)工程;2003年18期
3 李明,唐志敏;一種新的Cache優(yōu)化方法──部分Cache局部性方法[J];計算機(jī)學(xué)報;1997年01期
本文編號:2275394
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2275394.html
最近更新
教材專著