研究生: |
曾建凱 Tseng, Chien-Kai |
---|---|
論文名稱: |
實作檔案可靠度架構並以GPU協同加速之檔案系統 A GPU-Accelerated File System Using File-wise Reliability Scheme |
指導教授: |
許雅三
Hsu, Yarsun |
口試委員: |
許雅三
李政崑 梁婷 |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
論文出版年: | 2011 |
畢業學年度: | 100 |
語文別: | 中文 |
論文頁數: | 74 |
中文關鍵詞: | 檔案系統 、可靠度 、檔案可靠度架構 、GPU加速 |
外文關鍵詞: | File System, Reliability, File-wise Reliability Scheme, GPU Acceleration |
相關次數: | 點閱:4 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
摘要
在本論文中,我們修改了之前提出的檔案可靠度架構以符合現今儲存裝置中較大儲存單位的情形,將原本的512位元組(byte)提高成4KB。此外,我們亦將其實作在CRSFS檔案系統上。CRSFS共有四層:GPU運算之CRS編碼、CrystalGPU架構層、CRS編碼層和AFS FUSE層。
CRSFS中預設有四種程度的檔案可靠度,全部皆是由實作藉由實作柯西里德所羅門(Cauchy Reed-Solomon, CRS)錯誤檢查碼來達到對應的可靠度需求。CRSFS並採用CUDA程式來協助運算CRS錯誤檢查碼的編碼和解碼。此外,CRSFS亦整合了運作在使用者模式下的檔案系統架構(Filesystem in Userspace, FUSE)和延伸遠端呼叫協定(extended remote procedure call, Rx)以提供儲存系統高度彈性的配置空間。
在CRSFS中有三個角色,分別是伺服器端、用戶端和儲存端,根據這三個角色在實體機器上的配置可以再把伺服器端區分成傳統伺服器、叢集檔案伺服器和運算伺服器。其中,只有伺服器端需要具備運算能力足夠的GPU做CRS運算並實際存取儲存端上的資料。而用戶端則在AFS FUSE層中提供標準的POSIX檔案系統的介面供外部程式存取,故大多數的程式都可在不修改其存取介面下而從CRSFS提供的高彈性檔案可靠度架構中受益。
最後,在本論文中,經由GPU協同加速,我們從AFS FUSE層中經由效能實測得到了相較於CPU有24.5倍的效能增益。這說明了柯西里德所羅門(Cauchy Reed-Solomon, CRS)錯誤檢查碼的編碼和解碼已不再是效能瓶頸。
Bibliography
[1] D. A. Patterson, G. Gibson, and R. H. Katz, “A case for redundant arrays of inexpensive disks (RAID),” in SIGMOD ’88: Proceedings of the 1988 ACM SIGMOD international conference on Management of data. New York, NY, USA: ACM, 1988, pp. 109–116.
[2] H. P. Anvin, “The mathematics of raid-6,” Tech. Rep., October 2007.
[3] B. Schroeder and G. A. Gibson, “Disk failures in the real world: what does an mttf of 1,000,000 hours mean to you?” in Proceedings of the 5th USENIX conference on File and Storage Technologies. Berkeley, CA, USA: USENIX Association, 2007. [Online]. Available: http://dl.acm.org/citation.cfm?id=1267903.1267904
[4] E. Pinheiro, W.-D. Weber, and L. A. Barroso, “Failure trends in a large disk drive population,” in Proceedings of the 5th USENIX conference on File and Storage Technologies. Berkeley, CA, USA: USENIX Association, 2007, pp. 2–2. [Online]. Available: http://dl.acm.org/citation.cfm?id=1267903.1267905
[5] T.-T. Tseng and Y. Hsu, “A flexible and cost-effective file-wise reliability scheme for storage systems,” in Proceedings of the 2010 IEEE 12th International Conference on
70

High Performance Computing and Communications, ser. HPCC ’10. Washington, DC, USA: IEEE Computer Society, 2010, pp. 427–433. [Online]. Available: http://dx.doi.org/10.1109/HPCC.2010.28
[6] M. Curry, A. Skjellum, H. Ward, and R. Brightwell, “Accelerating reed-solomon coding in raid systems with gpus,” in Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on, april 2008, pp. 1 –6.
[7] ——, “Arbitrary dimension reed-solomon coding and decoding for extended raid on gpus,” in Petascale Data Storage Workshop, 2008. PDSW ’08. 3rd, nov. 2008, pp. 1 –3.
[8] M. Curry, H. Ward, A. Skjellum, and R. Brightwell, “A lightweight, gpu-based software raid system,” in Parallel Processing (ICPP), 2010 39th International Conference on, sept. 2010, pp. 565 –572.
[9] A. Brinkmann and D. Eschweiler, “A microdriver architecture for error correcting codes inside the linux kernel,” in Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, ser. SC ’09. New York, NY, USA: ACM, 2009, pp. 35:1–35:10. [Online]. Available: http://doi.acm.org/10.1145/1654059.1654095
[10] A. Gharaibeh, S. Al-Kiswany, S. Gopalakrishnan, and M. Ripeanu, “A gpu accelerated storage system,” in Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing, ser. HPDC ’10. New York, NY, USA: ACM, 2010, pp. 167–178. [Online]. Available: http://doi.acm.org/10.1145/1851476.1851497
71

[11] T. Steinke, K. Peter, and S. Borchert, “Efficiency considerations of cauchy reed-solomon implementations on accelerator and multi-core platforms,” in Application Accelerators in High Performance Computing, 2010 Symposium, Papers, July 2010.
[12] I. S. Reed and G. Solomon, “Polynomial Codes Over Certain Finite Fields,” Journal of the Society for Industrial and Applied Mathematics, vol. 8, no. 2, pp. 300–304, 1960. [Online]. Available: http://dx.doi.org/10.1137/0108018
[13] J. S. Plank, “A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like sys- tems,” Software – Practice & Experience, vol. 27, no. 9, pp. 995–1012, September 1997.
[14] J. S. Plank and Y. Ding, “Note: Correction to the 1997 tutorial on reed-solomon cod- ing,” University of Tennessee, Tech. Rep. CS-03-504, April 2003.
[15] W. W. Peterson and J. E. J. Weldon, Error-Correcting codes, Second Edition. The MIT Press, 1972.
[16] J. Blo ̈mer, M. Kalfane, M. Karpinski, R. M. Karp, M. Luby, and D. Zuckerman, “An xor-based erasure-resilient coding scheme,” ICSI, Tech. Rep. TR-95-048, August 1995.
[17] J. S. Plank, “Optimizing Cauchy Reed-Solomon codes for fault-tolerant storage appli- cations,” University of Tennessee, Tech. Rep. CS-05-569, December 2005.
[18] ——, “Enumeration of optimal and good Cauchy matrices for Reed-Solomon coding,” University of Tennessee, Tech. Rep. CS-05-570, December 2005.
72

[19] J. S. Plank, J. Luo, C. D. Schuman, L. Xu, and Z. Wilcox-O’Hearn, “A performance eval- uation and examination of open-source erasure coding libraries for storage,” in FAST- 2009: 7th Usenix Conference on File and Storage Technologies, February 2009.
[20] J. S. Plank, S. Simmerman, and C. D. Schuman, “Jerasure: A library in C/C++ facil- itating erasure coding for storage applications - Version 1.2,” University of Tennessee, Tech. Rep. CS-08-627, August 2008.
[21] “NVIDIA CUDA.” [Online]. Available: http://developer.nvidia.com/category/zone/ cuda-zone
[22] D. B. Kirk and W.-m. W. Hwu, Programming Massively Parallel Processors: A Hands- on Approach, 1st ed. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2010.
[23] S. Ryoo, C. I. Rodrigues, S. S. Baghsorkhi, S. S. Stone, D. B. Kirk, and W.-m. W. Hwu, “Optimization principles and application performance evaluation of a multithreaded gpu using cuda,” in Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, ser. PPoPP ’08. New York, NY, USA: ACM, 2008, pp. 73–82. [Online]. Available: http://doi.acm.org/10.1145/1345206.1345220
[24] A. Gharaibeh, S. Al-Kiswany, and M. Ripeanu, “CrystalGPU: Transparent and Efficient Utilization of GPU Power,” Networked Systems Lab, University of British Columbia, Tech. Rep. NetSysLab-TR-2010-01, 2010.
[25] W. Krier and E. Liska, “FUSE Design Document,” Sun Microsystems, Tech. Rep., 2009. 73

[26] “Rx: Extended remote procedure call.” [Online]. Available: http://rmitz.org/rx/Rx.pdf
[27] R. Nath, S. Tomov, and J. Dongarra, “An improved magma gemm for fermi graphics processing units,” Int. J. High Perform. Comput. Appl., vol. 24, pp. 511–515, November 2010. [Online]. Available: http://dx.doi.org/10.1177/1094342010385729
[28] S. Singh, “Develop your own filesystem with fuse,” February 2006. [Online]. Available: http://www.ibm.com/developerworks/linux/library/l-fuse/
[29] S. Ghemawat, H. Gobioff, and S.-T. Leung, “The google file system,” SIGOPS Oper. Syst. Rev., vol. 37, pp. 29–43, October 2003. [Online]. Available: http://doi.acm.org/10.1145/1165389.945450