簡易檢索 / 詳目顯示

研究生: 林欣德
Lin, Hsin-Te
論文名稱: 增進硬碟效能之大型檔案配置方法於混合性儲存系統上之設計與實作
Design and Implementation of a Large File Allocation Method to Improve Disk Performance for Hybrid Storage Systems
指導教授: 張大緯
Chang, Da-Wei
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 英文
論文頁數: 80
中文關鍵詞: TridentFS非揮發性記憶體檔案系統擴展性檔案碎裂
外文關鍵詞: TridentFS, Non-Volatile RAM, File Systems, Scalability, File Fragmentation
相關次數: 點閱:50下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著非揮發性記憶體 (NVRAM) 及快閃記憶體 (NAND flash memory) 的出現,為了提供較佳傳輸效能,促使許多混合式存儲系統被研究開發出來。然而,現有的混合式存儲系統都無法收縮運作於小容量的NVRAM。為了解決這個問題,我們提出了一個結合NVRAM、硬碟及固態硬碟的混合式存儲檔案系統,稱作TridentFS。依據資料的存取模式,每個裝置儲存的資料型態也不相同。具體來說,因為後資料 (metadata) 和小型檔案具有被頻繁存取的特性,他們適合被存在具有資料持久性的NVRAM之中。因為大型檔案傾向於被連續存取,他們適合被存在具有大容量特性的硬碟之中。當NVRAM容量不敷使用時,固態硬碟就被拿來當作NVRAM的延伸空間使用。藉由這種資料區分的方法,整體效能便可以獲得顯著的提升。
    在本篇論文中,我們提出了幾種硬碟區塊的配置方法,來提升在TridentFS中存取大型檔案的效能。我們提出了一種基於日誌文件 (log) 的檔案配置方法,對同一目錄建立的新檔案,如同日誌般的配置。並提出一種基於連續實體區塊 (extent) 的配置方法,當要求配置新區塊時,儘量能夠連續地分配。另外,基於厚塊 (chunk) 的配置方法、每個檔案的預先區塊配置方法、延遲配置方法,這些都是用來降低檔案碎裂的可能性。在存取大檔案的實驗中,說明了這些方法使得TridentFS相對於Ext2檔案系統而言,在效能上獲得了1.8倍的提升,並改善了百分之八十的碎裂性。

    The emergence of NVRAM and NAND flash memory motivates research of developing hybrid storage systems for better I/O performance. However, existing hybrid storage systems cannot scale down to small-sized NVRAM. To address this problem, we propose a hybrid storage file system, called TridentFS, which comprises three kinds of device: NVRAM, a hard disk drive and a SSD. Each device stores different type of data according to the data access patterns. Specifically, the NVRAM is used as a persistent storage for both metadata and small files since they are most frequently accessed. The hard disk is taken as a high volume storage device for large files since they tend to be accessed sequentially. The SSD is used as an extension of NVRAM when the free space of NVRAM is not enough. With this data separation, the overall performance can be significantly improved.
    In this paper, we propose several disk block allocation methods for improving the performance of large file accesses under TridentFS. A log-based file placement method is proposed for placing a new file within a directory like a log. An extent-based allocation method is proposed for allocating new blocks as contiguously as possible. In addition, the chunk-based allocation, the per-file pre-allocation and the delay allocation are all proposed for reducing the possibility of file fragmentation. The experiments of large file accesses show that it allows TridentFS to have a 1.8x speedup in performance and an 80% improvement in fragmentation against the Ext2 file system.

    Chapter 1 Introduction 1 Chapter 2 Background and Related Works 5 2.1 Class of Storage Devices 5 2.2 Related Works 7 2.2.1 RAM Disks and RAM File systems 7 2.2.2 Hybrid Storage Systems 7 2.2.3 File Placement and Mapping Schemes 9 2.2.4 Reducing File Fragments 10 Chapter 3 Design and Implementation 13 3.1 Architecture Overview 13 3.2 System Design 17 3.2.1 Metadata Handling 18 3.2.1.1 Handling Metadata in NVRAM 18 3.2.1.2 Evicting Metadata from NVRAM 20 3.2.2 Small File Handling 22 3.2.2.1 Handling Small Files in NVRAM 22 3.2.2.2 Handling Small Files in Flash Storage 23 3.2.3 Large File Handling 24 3.2.3.1 Managing Metadata of Large Files 24 3.2.3.1.1 Extent-based Mapping 24 3.2.3.1.2 Metadata Eviction 27 3.2.3.1.3 Handling Hard Disk Bitmap in Flash storage 28 3.2.3.2 Transferring File Data of Large Files 29 3.2.3.3 Reducing File Fragmentation 29 3.2.3.3.1 Chunk-based Allocation 29 3.2.3.3.2 Log-based File Placement 30 3.2.3.3.3 Extent-based Allocation 32 3.2.3.3.4 Per-file Pre-allocation 34 3.2.3.3.5 Delayed Allocation 35 3.2.4 NVRAM Depletion 36 3.3 Implementation of Large File Management 37 3.3.1 Transferring File Data of Large Files 41 3.3.2 Log-based File Placement 44 3.3.3 Extent-based Allocation 49 Chapter 4 Performance Experiments 54 4.1 Experiment Setup 54 4.2 File System Benchmarks 55 4.2.1 IOzone 56 4.2.2 Postmark 56 4.2.3 FileBench 56 4.3 Experiments 57 4.3.1 Sequential I/O Comparison 57 4.3.2 Random I/O Comparison 61 4.3.3 Performance and Fragmentation Comparison 64 4.3.3.1 Fragmentation Measurement 64 4.3.3.2 Performance Comparison (Postmark) 66 4.3.3.3 Performance Comparison (FileBench) 68 4.3.3.4 Relationship between Fragmentation and Chunk Sizes 71 4.3.4 Migration Overhead 73 Chapter 5 Conclusions 75

    [R1] S. Ames, N. Bobb, K. M. Greenan, O. S. Hofmann,M. W. Storer, C. Maltzahn, E. L. Miller, and S. A. Brandt. “LiFS: An attribute-rich file system for storage class memories,” In Proceedings of the 23rd IEEE / 14th NASA Goddard Conference on Mass Storage Systems and Technologies (MSST 2006), College Park, MD, May 2006.
    [R2] H. Boeve, C. Bruynseraede, J. Das, K. Dessein, G. Borghs, J. De Boeck, R. Sousa, L. Melo, and P. Freitas. “Technology Assessment for the Implementation of Magnetoresistive Elements with Semiconductor Components in Magnetic Random Access Memory (MRAM) Architectures,” IEEE Transactions on Magnetics 35, 5, pp. 2820-2825, 1999
    [R3] R. Bryant, R. Forester, and J. Hawkes. “Filesystem performance and scalability in Linux 2.4.17,” In Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference, pp. 259–274, 2002
    [R4] R. Bez, E. Camerlenghi, A. Modelli, and A. Visconti. “Introduction to flash memory,” Proceedings of the IEEE, vol. 91, no. 4, pp. 489-502, April 2003.
    [R5] J. Bonwick and B. Moore. “ZFS: The Last Word in File Systems,” http://opensolaris.org/os/community/zfs/docs/zfs_last.pdf, 2007.
    [R6] R. Card, T. Ts’o and S. Tweedle. “Design and Implementation of the Second Extended Filesystem,” First Dutch International Symposium on Linux, 1994, ISBN 90-367-0385-9, also available at http://web.mit.edu/tytso/www/linux/ext2intro.html.
    [R7] J. Cobert. “The Orlov block allocator,” November 2002, http://lwn.net/Articles/14633/.
    [R8] M. Cao, T. Y. Ts’o, B. Pulavarty, S. Bhattacharya. “State of the Art: Where We Are with the Ext3 Filesystem,” Proceedings of 2005 Linux Symposium, pp. 69-96, July 2005.
    [R9] I. H. Doh, J. Choi, D. Lee, and S. H. Noh. “Exploiting Non-Volatile RAM to Enhance Flash File System Performance,” In Proceedings of the 7th ACM & IEEE International Conference on Embedded Software (EMSOFT’07), pp. 164-173, 2007.
    [R10] O. Diedrich. “Tuning the Linux file system Ext3,” October 2008, http://www.h-online.com/open/features/Tuning-the-Linux-file-system-Ext3-746480.html
    [R11] K. M. Evans and G. K. Kuenning. “A Study of Irregularities in File-Size Distributions,” Proceedings of the 2002 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS). San Diego, CA, July 2002
    [R12] M. K. KcKusick, W. N. Joy, S. J. Jeffler, R. S. Fabry. “A Fast File System for UNIX,” ACM Transactions on Computer, vol. 2, no. 3, pp. 181-197, August 1984.
    [R13] J. Katcher. “Postmark: A New File System Benchmark,” Technical Report TR-3022, Network Appliance Inc., October 1997.
    [R14] S. Kongshøj. “Filesystem performance tweaking with XFS on Linux,” July 2003, http://everything2.com/index.pl?node_id=1479435
    [R15] R. Konishi, Y. Amagai, K. Sato, H. Hifumi, S. Kihara, and S. Moriai. “The Linux implementation of a log-structured file system,” ACM SIGOPS Operating Systems Review, vol. 40, issue 3, pp. 102-107, July 2006.
    [R16] J. K. Kim, H. G. Lee, S. Choi, and K. I. Bahng. “A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems,” In Proceedings of the 7th ACM International Conference on Embedded Software (EMSOFT'08), pp. 31-40, 2008
    [R17] M. K. McKusick, M. J. Karels, and K. Bostic. “A pageable memory based filesystem,” In Proceedings of the Summer 1990 USENIX Technical Conference, pp. 137-144, June 1990.
    [R18] K. Muller and J. Pasquale. “A high performance multi-structured file system design,” In Proc. of 13th ACM Symposium on Operating Systems Principles, pp. 56-67, October 1991.
    [R19] E. L. Miller, S. A. Brandt, D. D. E. Long. “HeRMES: High-Performance Reliable MRAM-Enabled Storage,” Proceedings of the 8th IEEE Workshop on Hot Topics in Operating Systems (HotOS-VIII), pp. 83-87, Schloss Elmau, Germany, May 2001.
    [R20] R. McDougal. “FileBench: A Prototype Model Based Workload for File Systems, Work in Progress,” 2004 http://www.solarisinternals.com/si/tools/filebench/filebench_nasconf.pdf.
    [R21] A. Mathur, M. Cao and S. Bhattacharya.“The New Ext4 File System: Current Status and Future Plans,” Proceedings of the Linux Symposium, pp. 21-34, June 2007.
    [R22] B. Martin. “Use xfs_fsr to keep your XFS filesystem optimal,” July 18, 2008
    http://www.linux.com/archive/feature/141404
    [R23] W. Norcutt. “IOZONE benchmark program,” http://www.iozone.org.
    [R24] J. Piernas, T. Cortes , J. M. García. “DualFS: a new journaling file system without meta-data duplication,” Proceedings of the 16th international conference on Supercomputing, pp. 137-146, June 22-26, 2002, New York, New York, USA
    [R25] Y. Park, S.-H. Lim, C. Lee, and K. H. Park. “PFFS: A Scalable Flash Memory File System for the Hybrid Architecture of Phase-change RAM and NAND Flash,” In Proceedings of the 2008 ACM symposium on Applied computing (SAC'08), pp. 1498–1503, 2008
    [R26] M. Rosenblum, J. K. Ousterhout. “The Design and Implementation of a Log-Structured File System,” ACM Transactions on Computer Systems (TOCS), vol. 10, no. 1, pp. 26-52, February 1992.
    [R27] D. Roselli, J. Lorch, and T. Anderson. “A comparison of file system workloads,” 2000 USENIX Technical Conference, pp. 41–54, 2000.
    [R28] H. Reiser. “Reiser4 Transaction Design Document,” Technical Report, Namesys, 2002. http://lwn.net/2001/1108/a/reiser4-transaction.php3
    [R29] R. Rebe. “Linux filesystem benchmark,” December 2008, http://www.t2-project.org/zine/4/
    [R30] D. Roberts, T. Kgil, and T. Mudge. “Integrating NAND flash devices onto servers,” Communications of the ACM, vol. 52, no. 4, pp. 98-106, April 2009.
    [R31] K. Smith, M. Seltzer. “File Layout and File System Performance,” Harvard Division of Applied Sciences Technical Report, 1994.
    [R32] A. Sweeney, D. Doucette, W. Hu, C. Anderson, M. Nishimoto, and G. Peck. “Scalability in the XFS File System,” Proceedings of the USENIX 1996 Annual Technical Conference, pages 1-14, January 1996.
    [R33] T. Sato. “ext4 online defragmentation,” in Proceedings of the Linux Symposium, vol. 2, pp. 179–186, June 2007
    [R34] J. Suk and J. No. “Performance Analysis of NAND Flash-Based SSD for Designing a Hybrid Filesystem,” Proceedings of the 2009 11th IEEE International Conference on High Performance Computing and Communications (HPCC), pp. 539-544, 2009.
    [R35] AIA. Wang, G. Kuenning, P. Reiher, G. Popek. “The Conquest file system: Better performance through a disk/persistent-RAM hybrid design,” ACM Transactions on Storage (TOS), vol. 2, no. 3, pp. 309-348, August 2006
    [R36] Z. Zhang and K. Ghose. “hfs: A hybrid file system prototype for improving small file and metadata performance,” In Proceedings of EuroSys 2007, pp. 175-187, March 2007.
    [R37] Everspin Technologies. “MR2A16A Series 256K-bit x 16 Asynchronous Magnetoresistive RAM,” July 2009, http://www.futureelectronics.com/.
    [R38] Intel. “X25-M 160GB SATA MLC flash SSD,” July 2009, http://computers.pricegrabber.com/.
    [R39] Seagate. “Momentus 7200.4 500GB Hard Drive ST9500420AS,” July 2009, http://computers.pricegrabber.com/.
    [R40] SPECsfs2008, http://www.spec.org/sfs2008/
    [R41] The SGI XFS project. http://oss.sgi.com/projects/xfs/.

    無法下載圖示 校內:2020-12-31公開
    校外:不公開
    電子論文尚未授權公開,紙本請查館藏目錄
    QR CODE