分布式文件系统中元数据操作的优化

更新时间:2024-01-30 作者:用户投稿原创标记本站原创 点赞:21343 浏览:95427

摘 要:分析了PVFS2中的元数据操作流程,以remove操作为例,通过测试发现其瓶颈之处,提出一种将判断过程放置到怎么写作器端来减少通信次数的优化方法,这些方法同样可以应用于其他元数据操作.在PVFS2中实现了该优化方法,并将其同原来的remove操作耗时进行了对比,结果表明,该元数据操作的性能提高了10%左右.

关 键 词 :分布式文件系统;元数据操作;优化处理;PVFS2

中图分类号: TP316.4

文献标志码:A

Metadata processing optimization in distributed file systems

LIU Lian, ZHENG Biao, GONG Yi-li*

School of Computer Science, Wuhan University, Wuhan Hubei 430072, China

tract:

This paper analyzed the metadata processing in PVFS2, and took the remove operation as an example. To find out the bottlenecks in the remove operation, the time of each step was tested. And an optimization method to reduce the munication number by placing judgmental process on the server side was proposed, which is also suitable for other metadata operations. The optimization method was implemented in PVFS2. Compared with the original remove operation, this proposed method shows about 10% improvement in performance.

英文关 键 词  Key words:

distributed file system; metadata operation; processing optimization; PVFS2

0 引言

随着网络应用的迅速发展,网络时代数据规模越来越大,海量数据存储和大规模并发的I/O成为了分布式系统中的瓶颈.单机环境下的文件系统已经不能满足当前网络时代的大容量、高可靠性、高性能、高扩展性等需求.为了有效解决这一问题,工业界和学术界开发出基于各种设计架构和理念的分布式文件系统[1-5].


元数据的管理是分布式文件系统中一个重要的研究内容[6].元数据是描述文件系统组织结构、文件属性和文件数据的数据,在分布式文件系统中,与元数据有关的操作占到了所有操作的60%以上[7].元数据处理的有效性和高效性将影响整个系统的正确性、可靠性、可扩展性和性能提升[8-9].

1.相关工作

PVFS2是由Clemson大学开发的一个能在Linux机群上进行并行I/O和并行文件系统研究的实验平台.PVFS2是一个开源的、可扩展的并行文件系统,内部各个部件的模块化程度很高[10].PVFS2支持多个数据怎么写作器和元数据怎么写作器.在文件系统内部进行元数据处理时,包含对以下4种类型对象的操作[11]:

1)元数据文件对象(Metafile Objects).存放文件的所有者和权限,以及对应的所有数据文件对象的句柄,数据文件分布情况,数据文件句柄和数据文件的个数.

2)数据文件对象(Datafile Objects).存放文件的实体数据.

3)目录对象(Directory Objects).存放所有者和权限等信息,也存放目录数据对象的句柄.

4)目录数据对象(Directory Data Objects).以“文件名:元数据文件句柄”这样的格式存放一个文件的信息,来区分文件和目录.

可以通过图1来说明PVFS2文件系统内各个对象的关系.在文件系统根目录下有一个目录dir,路径为/dir.dir的目录下有一个文件File1,路径为/dir/File1.检测设每一个方块代表一个对象.File1被条带化(striping)分成3块部署到3个数据怎么写作器上[12],其中,前两块的大小是PVFS2中默认的64KB.另外,从用户的角度看,目录对象和目录数据对象是相同的,因此只用一个图表示.系统通过句柄来访问这些对象,每一个对象都由唯一的句柄来标识.

句柄是系统中唯一的、类似于整型的标识符,用来标识PVFS2文件系统中的对象.系统中每一个文件、目录都有一个句柄.在客户端与怎么写作器通信时,指明句柄即可处理相应的对象.句柄在本质上就是一个非常大的整数,系统指定句柄值的范围来把句柄空间划分成各个子集.这个子集就是所谓的句柄范围(Handle ranges).下面的代码段是句柄范围在源码中的定义,它在文件系统创建时被静态地分配[13].

每个怎么写作器上的PVFS2文件系统负责一部分的句柄空间.在整个系统中,每个怎么写作器上的PVFS2文件系统都有一个唯一的标识符,即文件系统ID.文件系统ID在文件系统创建时由管理工具设定.当发送一个元数据操作请求时,通常需要指定文件系统ID和句柄.句柄范围定义的数据结构如下所示:

参考文献:

[1] MENON J, PEASE D A, REES R, et al. IBM storage tank: A heterogeneous scalable SAN file system[J]. IBM Systems Journal,2003,42(2):250-267. [2] KARAMANOLIS C, LIU L, MAHALINGAM M, et al. An architecture for scalable and manageable file services[R]. Palo Alto: Hewlett-Packard Labs, 2001.

[3] 钱迎进. 大规模Lustre集群文件系统关键技术的研究[D].长沙:国防科学技术大学,2011.

[4] 李晖,范志华,熊劲,等. 机群文件系统 DCFS2 的高可用性研究与实现[J]. 计算机工程,2006,32(7):69-71.

[5] WEIL S A, POLLACK K T, BRANDT S A, et al. Dynamic metadata management for petabyte-scale file systems[C]// IEEE Computer Society 2004 Conference-Bridging Communities. New York: IEEE, 2004:523-534.

[6] 杨德志,许鲁,张建刚. 蓝鲸分布式文件系统元数据怎么写作[J]. 计算机工程,2008,34(7):4-6, 9.

[7] ROSELLI D, LORCH J R, ANDERSON T E. A parison of file system workloads[C]// Proceedings of 2000 USENIX Annual Technical Conference. Berkeley: USENIX Association, 2000:4.

[8] 胡雨壮. 分布式文件系统吞吐率优化研究[D]. 北京:中国科学院研究生院,2002.

[9] 陈欢,范志华,熊劲,等. 影响文件系统性能的若干因素的实验[J]. 计算机工程,2007,33(8):74-76.

[10] PVFS2 Development Team. Parallel virtual file system, version2[EB/OL].[2012-05-20]. http://.pvfs./cvs/pvfs-2-7-branch.build/doc/pvfs2-guide/pvfs2-guide.php.

[11] KUHN M, KUNKEL J, LUDWIG T. Directory-based metadata optimizations for all files in PVFS[C]// Proceedings of 14th International Euro-Par Conference on Parallel Processing. Berlin: Springer, 2008: 90-99.

[12] 赵铁柱. 分布式文件系统性能建模及应用研究[D]. 广州:华南理工大学, 2011.

[13] DEVULAPALLI A, OHIO P W. File creation strategies in a distributed metadata file system[C]// Proceedings of the 21st International Parallel and Distributed Processing Symposium. Washington, DC: IEEE Computer Society, 2007:1-10.

[14] 王梅,罗秋明. PVFS 代码结构及并行Meta 怎么写作研究[J]. 微计算机信息,2006,22(16):292-294.

[15] LIAO W K, CHING A, COLOMA K, et al. An implementation and evaluation of client-side file caching for MPI-IO[C]// Proceedings of the 21st International Parallel and Distributed Processing Symposium. Washington, DC: IEEE Computer Society,2007:1-10.

[16] KUNKEL J M. Towards automatic load balancing of a parallel file system with subfile based migration[D]. Heidelberg: Ruprecht-Karls-Universit Heidelberg, 2007.

[17] CARNS P H, LIGON III W B, ROSS R B, et al. PVFS: A parallel file system for Linux clusters[C]// Proceedings of the 4th Annual Linux Showcase and Conference. Berkeley: USENIX Association, 2000:28-28.