一种面向高性能计算的分布式数据组织方法与流程

文档序号:12063896阅读:509来源:国知局
本发明涉及高性能计算领域以及分布式存储系统领域;更具体地,本发明涉及一种面向高性能计算的分布式数据组织方法。
背景技术
::在高性能计算机系统上普遍使用分布式文件系统构建集中共享的存储环境以满足应用数据存储和访问的需求。典型系统如Lustre、GPFS、PVFS、Panasas等均为通用分布式共享文件系统,遵循POSIX存储语义进行存储空间的组织和数据访问,系统功能完备,设计复杂,在应对高性能计算环境海量数据存储、高并发数据访问时存在很大的局限性,主要表现在以下方面:(1)层次式的目录结构在组织海量文件时效率低下,元数据操作语义复杂,存在元数据性能瓶颈;(2)数据访问与单机文件系统相同,在高性能计算环境中传统文件系统接口存在冗余,并且其在实现上与内核VFS紧耦合,在接口描述、数据块大小、缓存策略、数据一致性等方面受限颇多,不够灵活。随着互联网和大数据的发展,以AmazonS3、OpenstackSwift等为代表的对象存储逐渐发展起来。它是一种通过网络提供数据访问的对象存储服务,目前作为一种面向多租户的公共云存储服务被广泛应用。对象存储采用扁平化的数据组织方式并提供键值(Key-Value)的数据索引和元数据访问,极大程度减轻了系统元数据管理开销,提高了元数据性能和数据访问效率。目前的对象存储服务在接口和应用场景等方面与高性能计算有很大的不同,因此无法直接用于构建高性能计算机海量存储系统。技术实现要素:针对现有技术中存在上述缺陷,本发明借鉴了对象存储在数据组织、元数据管理以及数据访问效率等方面的优势,将其和文件系统有机结合,提出了一种面向高性能计算的分布式数据组织方法,实现高性能计算环境海量数据的高效组织和访问。根据本发明,提供了一种面向高性能计算的分布式数据组织方法,包括:由部署在计算节点的客户端将来自应用程序的I/O请求转发给相应的服务器端;服务器端接收并解析来自计算节点的I/O请求,最终将I/O请求交给I/O节点的本地文件系统或者远程I/O节点来处理。优选地,在接口层将数据访问和数据管理分离开来;其中,在计算节点端,客户端仅向应用程序提供精简的数据访问接口,支持对应用完全透明的POSIX形式的文件访问操作;数据管理服务运行在服务节点,对外提供数据管理工具,由此将POSIX文件访问语义划分为数据访问和数据管理两个平面,并且将数据访问和数据管理两个平面解耦。优选地,将系统的数据对象分散在各个I/O节点上,每个I/O节点上的数据存储均采用对象存储中的扁平化数据组织方式,使用对象模型对传统文件系统层次式的目录树结构进行弱化。优选地,客户端向应用程序提供虚拟挂载点,应用程序通过虚拟挂载点访问该系统的服务,将应用数据最终全部布置在I/O节点上的存储服务输出目录下。在I/O节点上的存储服务输出目录下设置用于放置数据对象的数据桶。优选地,根据对象标识,通过哈希取模的方式,将数据对象均匀分布在各个数据桶中。优选地,通过统一存储模块实现了多个I/O节点存储空间的聚合,并提供本地I/O和远程I/O两种模式以实现对象的全局访问。优选地,采用本地优先的数据布局策略,其中计算节点创建对象时优先选择本地存储。优选地,对象的元数据既包括传统POSIX类型的元数据,又支持用户自定义元数据。优选地,使用Redis内存数据库集中存储对象元数据信息,一条对象元数据信息对应Redis内存数据库中的一个哈希键,其中键名是对象标识,键值为对象元数据。本发明针对高性能计算应用的数据存储需求,对POSIX文件系统访问语义进行了精简,解耦数据访问和数据管理,为应用程序提供高效、轻量级的编程接口;采用分布式对象存储技术进行数据组织,突破传统文件系统数据组织限制,实现更为高效的数据访问协议,进一步提升系统可扩展能力;提出基于内存的元数据管理方式,首次将高性能非关系键值数据库引入高性能计算机系统,利用其优良特性对外提供高效可扩展的元数据服务。附图说明结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:图1示意性地示出了根据本发明优选实施例的面向高性能计算的分布式数据组织方法的示意图。图2示意性地示出了根据本发明优选实施例的面向高性能计算的分布式数据组织方法的底层数据组织。图3示意性地示出了根据本发明优选实施例的面向高性能计算的分布式数据组织方法的对象元数据示例。图4a和图4b示意性地示出了基于8块SSD的COSS和Lustre聚合带宽对比。图5a和图5b示意性地示出了COSS和Lustre文件创建/删除性能对比。需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。具体实施方式为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。高性能计算机的发展即将迈入E级时代,计算子系统规模不断壮大,核心数目突破千万量级,同时支撑的应用规模和复杂度也在不断提升,海量数据存储和超大规模并发访问对存储子系统的I/O带宽、元数据性能、可扩展能力、数据可管理性等方面提出了更高的要求。传统以分布式共享文件系统为核心的存储系统在数据组织、访问接口等方面存在诸多限制,对整个高性能计算机存储系统的可扩展能力、I/O性能产生了不利影响。本发明将互联网行业新兴的对象存储技术应用于高性能计算领域,提出一种面向高性能计算的分布式数据组织方法,用于解决传统文件系统组织海量文件数据时面临的问题。基于本发明提出的分布式数据组织方法,设计实现了原型系统,软件架构如图1所示。(1)系统组成该系统主要由部署在计算节点10的客户端11、部署在I/O节点20的服务器端21、部署在元数据节点30的元数据服务31(例如,基于键值的元数据服务)、部署在服务节点40的数据管理工具41和数据管理接口42等关键模块组成。由部署在计算节点10的客户端11将来自应用程序12的I/O请求转发给相应的服务器端21;服务器端21接收并解析来自计算节点的I/O请求,最终将I/O请求交给I/O节点的本地文件系统或者远程I/O节点20来处理。(2)应用程序接口针对高性能计算环境的特点,该系统在接口层将数据访问和数据管理分离开来。在计算节点端,客户端仅向应用程序提供精简的数据访问接口(简单访问接口),支持对应用完全透明的POSIX(可移植操作系统接口,PortableOperatingSystemInterface)形式的文件访问操作;数据管理服务则运行在单独的节点上,称为服务节点,对外提供了一套数据管理工具。如此,该系统将POSIX文件访问语义划分为数据访问和数据管理两个平面,并且将数据访问和数据管理两个平面解耦,向应用程序提供更加高效、轻量级的编程接口。(3)数据组织该系统的数据对象分散在各个I/O节点20上,每个I/O节点20上的数据存储均采用对象存储中的扁平化数据组织方式,使用对象模型对传统文件系统层次式的目录树结构进行弱化。如图2所示,客户端向应用程序提供虚拟挂载点,应用程序通过虚拟挂载点访问该系统的服务,应用数据最终全部位于I/O节点20上的存储服务输出目录下。该目录下将设置数据桶(Bucket0、Bucket1、…Bucket*、BucketN),数据桶的数量可配置,“数据桶”用于放置数据对象(OB0、OB1、…OB*、OBN)。该系统根据对象标识,即文件路径名,通过哈希取模的方式将数据对象均匀分布在各个数据桶中。扁平化的数据组织相比传统文件系统的目录树结构索引层更加简洁,文件访问协议更加高效,利于解决元数据性能瓶颈,进一步提高了系统的可扩展性。该系统通过统一存储模块实现了多个I/O节点存储空间的聚合,并提供本地I/O和远程I/O两种模式以实现对象的全局访问,利于计算节点间的数据共享。为了更好的支持数据访问局部性,该系统采用本地优先的数据布局策略,即计算节点创建对象时优先选择本地存储,相比数据任意分布的布局策略访问效率更高。(4)元数据管理对象的元数据既包括传统POSIX类型的元数据,又支持用户自定义元数据,如对象所在的I/O节点、计算阶段号等。该系统使用Redis内存数据库集中存储对象元数据信息,一条对象元数据信息对应着Redis内存数据库中的一个哈希键,键名是对象标识,即文件路径名,键值为对象元数据,图3是其中的一个示例。基于内存缓存的Key-Value元数据管理使得系统元数据性能得到很大提升。【有益效果】(1)针对高性能计算应用的数据存储需求,对POSIX文件系统访问语义进行了精简,解耦数据访问和数据管理,为应用程序提供更加高效、轻量级的编程接口;(2)采用分布式对象存储技术进行数据组织,突破传统文件系统数据组织限制,实现更为高效的数据访问协议,进一步提升系统可扩展能力;(3)提出基于内存的元数据管理方式,首次将高性能非关系键值数据库引入高性能计算机系统,利用其优良特性对外提供高效可扩展的元数据服务。下面给出上述原型系统(为方便说明,称为COSS)与Lustre文件系统在I/O聚合带宽和元数据性能对比的情况:(1)实验环境实验在51台SugonI620-G20服务器上进行,其中10台用于构建COSS存储环境(1个元数据节点,1个服务节点,8个I/O节点),9台用于构建Lustre存储环境(1个元数据节点,8个数据服务节点),其余32台作为计算节点。实验中所有数据存储均使用SSD,节点间通信网络使用InfiniBand网络。服务器各项参数如表1中所示。表1:实验服务器的配置(2)聚合带宽测试实验中使用MPI-tiotest进行I/O聚合带宽的测试。MPI-tiotest是文件系统带宽标准测试工具Tiobench并行化版本。实验结果如图4a(写操作)和图4b(读操作)所示。(3)元数据性能测试测试内容主要是文件创建/删除的性能,该项测试使用的测试工具为Mdtest,实验结果如图5a(文件创建操作)和图5b(文件删除操作)所示。总之,本发明借鉴了对象存储在数据组织、元数据管理以及数据访问效率等方面的优势,将其和文件系统有机结合,提出了一种面向高性能计算的分布式数据组织方法,实现高性能计算环境海量数据的高效组织和访问。此外,需要说明的是,除非特别指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1