并行文件系统I/O特征

2013-08-20 01:54赵铁柱
网络安全技术与应用 2013年8期
关键词:可扩展性可用性条带

赵铁柱

(东莞理工学院工程技术研究院 广东 523808)

0 引言

文件系统是基于操作系统的,用于存储程序和数据,向用户提供统一的,抽象的接口。文献[1]指出将文件系统划分为四个层次,即单处理器单用户的本地文件系统;多处理器单用户的本地文件系统;多处理器单用户的本地文件系统和多处理器多用户的分布式文件系统。文件系统按照底层数据分析和管理的范围可分为本地文件系统和分布式文件系统。

并行文件系统是一种特殊的分布式文件系统。所谓并行文件系统是指应用于多机环境的网络文件系统,单个文件的数据采用分条等形式存放于不同的I/O节点之上,支持多机多个进程的并发存取,同时支持元数据和数据的分布存放,并提供单一的目录空间。而要实现一个完整的并行文件系统,需要实现如下两个方面:第一,实现单一的文件映像,并行文件存放在盘阵上的具体分布情况对于用户来说是透明的,并行文件系统在用户看来是一完整的树型结构,在调用时只要给出文件名即可;第二,采用条带(Stripe)和分区(Partition)技术,支持一个文件数据在多个磁盘之上和多个进程之间的分布,即多个进程并发读写多个磁盘上的数据。

随着高性能计算技术的发展,大规模并行科学计算的应用范围也在不断拓宽。为了适应I/O密集型应用的需要,高性能计算技术的系统设计更着重于提高并行I/O能力,即支持并发读/写。现在,越来越多的并行计算系统由于同时采用多个CPU,使计算能力与I/O速度的不匹配问题变得更加严重。除了RAID阵列等技术外,高吞吐量,高I/O带宽,可扩展的并行文件系统提供了一种更好的I/O瓶颈的解决途径。它可以将多个结点上的磁盘组织成为全局的存储系统,提供更大的存储容量和聚集的I/O带宽,并可以随系统规模扩大而扩展。

目前国内外有各种各样的并行文件系统主要分为两类:商业并行文件系统和研究型并行文件系统。商业并行文件系统有GPFS(general parallel file system)[2],GFS(global file system)[3],Lustre[4]等。这类系统可以提供高性能I/O,但往往依赖于特定的平台以及特定的设备。研究型并行文件系统有PVFS(parallel virtual file system)[5],HDFS(Hadoop Distributed File System)[6],pNFS(pNFS File System)[7]等,它们往往侧重某一方面。

虽然文件系统种类繁多,但是不存在一种文件系统拥有十全十美的优点,他们在都拥有各自的特色,在不同的领域能够体现自己的优势。对于并行文件系统来说,高性能,高可用,和高扩展性是衡量一个文件系统优秀性的三个重要指标。随着硬件技术的发展,对高可用和扩展性的需求逐渐超过了对文件系统高性能的要求。并行文件系统通常考虑3类问题:①透明性。并行文件系统所管理的存储资源分布在服务器系统内的若干节点上,但用户在使用这些资源时,希望其如同单机文件系统一样方便;②可靠性。分布式系统环境通常要求具有高可靠性,而数据的高可靠性是整个系统可靠性的基础;③动态性。由于分布式系统的节点数量可能随时随地变化,因此并行文件系统管理的文件对象也是随时变化的。

并行文件系统是高性能系统的基石,它的I/O性能研究是一个十分热门的领域。I/O瓶颈越发成为高性能系统发展的重要因素,而并行文件系统正是减轻I/O瓶颈性价比最高的方法。本文系统地研究并行文件系统的I/O特征和关键技术。对并行系统性能优化有很大的指导作用,同时给并行文件系统的设计和性能评估提供重要的参考价值。

1 并行文件系统I/O

高性能并行文件系统以其存储容量大、高聚合I/O性能、高数据容错性、高可扩展性等特点,成为了应对海量数据管理的最有效方法。并行文件系统是高性能系统的基础,并行文件系统的性能直接高性能系统的性能,故并行文件系统的I/O性能是一个重要评价指标。通过研究并行文件系统的系统架构和性能因素,并行文件系统I/O性能研究可分为以下几个方面:

1.1 优化数据分布策略

并行文件系统基本思想是利用并行计算机丰富的硬件资源将数据分布到多个I/O节点,利用磁盘数据的并行访问和并行通道传输来获得较大的I/O带宽。因而文件在I/0节点上的组织形式和散布形式是决定文件访问并行度的关键因素之一。并行文件系统的组织方式有简单的一维分段方式,也有按二维乃至多维方式来组织的。常见文件散布方式有:①循环放置;②条带化方式;③Hash方式;④用户自定义方式。选择合适的文件散布方式对I/O节点的负载平衡、获得较好的I/O性能有着较大的影响,目前的研究主要集中在优化存储组织架构和优化条带化分配算法。

1.2 优化元数据管理

用户在访问数据前必须事先访问元数据服务器获得访问数据的位置信息。很多并行文件系统的元数据服务器都是限制系统可扩展性的瓶颈。元数据服务器有集中式和分布式两种结构。在集中式元数据服务器结构中,用户访问数据前都必须先请求元数据服务器,由元数据服务器查询访问对象的位置,然后再将请求转发到访问数据所在的I/O节点。在分布式元数据服务器结构中,元数据服务器的功能分散到各个计算节点和I/O节点上。集中式结构实现较为简单,但可扩展性较差。分布式结构的元数据服务器功能分散且性能较高,但会增加计算节点的计算量,增加复杂度。因此究竟采用哪种结构要对应用需求进行详细的分析,需综合权衡。另外,能否将集中式与分布式两种结构结合起来,也是一个值得探讨的课题。元数据的管理也是提高并行文件性能的一个重要因素,目前也有很多研究者正在研究一些有效的元数据管理策略如二级元数据管理[8]。

1.3 优化数据访问路径

图1所示是Lustre文件系统的中Client和Storage节点的层次结构。目前一些文献通过优化数据访问路径来还到优化整个并行文件系统性能的目的,主要以以下两个方面:①基于用户空间的RDMA策略;②采取各种RDMA优化方法,减少通信与处理时间。

图1 Lustre中Client和Storage节点的层次结构

在存储节点和客户端节点在同一个节点上时,文献[9]提出了一个在用户空间上的活动存储方案,这种方法使得存储节点能访问文件系统中的所有文件和本地的文件,相对于传统的基于核的实现方案,能显著的减少存储节点和计算节点间的网络流量,提高文件系统的访问性能。

1.4 写分割和层次化条带策略

许多并行文件系统具有文件条带法功能,通过文件条带化提高并行聚合I/O,提高数据的可用性,同时有些文件也具有合并文件分块的功能,文献[10]发现较宽的条带宽度有时会带来性能的下降,即条带化粒度应该保持在某个平衡点,太粗或太细都会影响I/O性能。作者提出了两种技术:写分割和层次化条带策略来减少条带化的负载,提高聚合I/O性能。

1.5 并行文件系统容错性与可靠性

在并行系统或网络计算中,可靠性是一个重要的考虑因素。在并行I/O子系统设计中,RAID设计的不同策略为可靠性提供了很好的模式,建立在RAID上的系统,如在PIOUS中,基于事务日志的方式对文件进行操作,在故障时可以从原来的保存点继续执行。不同的应用,不同体系结构的机器对并行文件系统有着不同的要求,应根据不同的实际要求、应用环境的特点和应用的侧重点等方面,对上述各种存在的问题,进行有针对性的解决,以求达到系统的最佳性能。并行文件系统通过将文献分块存储到各个存储节点,来获取较高的I/O 吞吐量,然而文件系统的可靠性和可用性将大打折扣,文献[11]提出了一种基于LMR(Logic Mirror Ring)的方法来提高并行文件系统的可靠性和可用性,LMR在不改变原有系统的拓扑结构的基础上,通过在现在IO节点之间建立镜像和Failover来提高可靠性和可用性。在并行文件系统研究中,依靠存储分布提高I/O性能的一个重要技术是冗余磁盘阵列,使用许多小磁盘集合在一起提高磁盘性能和数据的可用性。并行文件系统使用多个客户可以并发地存取网络存储节点中的数据,通常采用条带化的策略来并行化数据存取,提供了更高的I/O性能和可扩展性。

2 结束语

研究现在并行文件系统架构和性能影响因素,分析并行环境下的工作I/O负载特性,能对实际的并行文件系统的设计,调优和评估起到积级的指导作用。总的来说,并行文件系统I/O研究难点和热点包括5个方面:①并行文件系统I/O架构和性能影响因素;②不同工作负载下的I/O特性和并行文件系统性能表现,分析与预测I/O行为;③具有自适应性的并行文件系统I/O性能模型;④具有针对系统类型特性的并行文件系统I/O性能预测模型;⑤并行文件系统I/O参数估计和参数调优策略。

并行文件系统性能的进一步研究包括以下几个方面:①建立具有自适应性的并文件系统性能评估模型,该模型能适合各种工作负载。能根据工作负载的实际场景来调优性能参数,提高并行文件系统的聚合I/O。同时提高模型的可用性和可扩展性,在性能和复杂度上达到较优级的平衡;②设计一个并文件系统性能预测模型,该预测模型具有针对系统类型的特性。根据不同的文件系统特点预测相应的性能表现,指导并行文件系统的设计,减少成本;③性能模型和性能预测模型在参数估计和调优方面,也应具有针对系统类型的特点。能根据具体的文件系统框架,场景需求来提高预测的准确度。

[1]Satyanarayanan M.A Survey of Distributed File Systems[J].Annual Review of Computer Science, 1989,4:73-104.

[2]IBM Corp.General Parallel File System[EB/OL].http://www-03.ibm.com/systems/software/gpfs/.

[3]Google Corp.Google File System[EB/OL].http://labs.google.com/papers/gfs.html.

[4]Oracle Corp.Lustre File System[EB/OL].http://wiki.lustre.org/index.php/Main_Page.

[5]Clemson University and NASA Lab.Parallel Virtual File System[EB/OL].http://www.pvfs.org/.

[6]Apache Software Foundation.Hadoop Distributed File System[EB/OL].http://hadoop.apache.org/hdfs/.

[7]The Internet Engineering Steering Group.pNFS File System[EB/OL].http://www.pnfs.com/.

[8]Wang F, Yue Y L, Feng D.High Availability Storage System Based on Two-level Metadata Management [C] // the Proceedings of the 2007 Japan-China Joint Workshop on Frontier of Computer Science and Technology (FCST 2007), 2007:41-48.

[9] Piernas J, Nieplocha J, Felix E J.Evaluation of Active Storage Strategies for the Lustre Parallel File System [C] // the 2007 ACM/IEEE Conference on Supercomputing (SC’07), 2007:1-10.

[10]Yu W, Vetter J S, Canon R S.Exploiting Lustre File Joining for Effective Collective IO [C] // the Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid2007),2007:267-274.

[11] Zhang H, Wu W, Dong X.A High Availability Mechanism for Parallel File System [C] // the 6th International Workshop on Advanced Parallel Processing Technologies (APPT 2005), LNCS 3756, 2005:194-203.

猜你喜欢
可扩展性可用性条带
基于辐射传输模型的GOCI晨昏时段数据的可用性分析
华北地区地震条带的统计分析
采用变分法的遥感影像条带噪声去除
恩智浦推出全新i.MX 8X 处理器,为工业应用带来更高的安全性、可靠性和可扩展性
电力监控软件的可扩展性设计
医疗器械的可用性工程浅析
可用性差距阻碍数字化转型
基于微软技术的高可扩展性中小企业系统解决方案研究
构建高可扩展性的物流装备管理系统
基于条带模式GEOSAR-TOPS模式UAVSAR的双基成像算法