一种基于rdma机制的并行输入输出方法
【技术领域】
[0001 ]本发明涉及计算机技术领域,更具体地说,本发明涉及一种基于RDMA(RemoteDirect Memory Access,指远程直接内存访问)机制的并行输入输出方法。
【背景技术】
[0002]为了提高1/0(输入输出)性能,分布式处理系统基本都采用并行文件系统,对分布在集群内各节点上的所有文件、设备和网络资源进行全局访问,并且为用户呈现出单一系统映像。并行文件系统具有分布式、高性能、高扩展等特点,非常适合数据共享需求和高性能计算需求,但它也有一定的局限性,通常并行文件系统的稳定性随着规模的增加而逐步下降,对小文件不太适合,高可扩展也有一定的局限性,有可能成为系统或应用的瓶颈。
[0003]目前主流气象格式在新版中已经支持并行I/O功能,例如NetCDF,通过非阻塞1/0,在并发读写的基础上,能够聚合多个客户端请求,实现更好的I/o性能。但科学与工程计算类应用类型广泛,很多都有自己专用的数据格式,或者采用无格式数据格式,因此很有必要研发一个面向一般科学与工程计算类应用、支持一般数据格式的并行I/O中间件,与应用课题相对独立,以减少用户研发的难度和复杂度。
[0004]也就是说,虽然并行文件系统适合数据共享需求和高性能计算需求,但它的稳定性通常会随着规模的增加而逐步下降,同时也不太适合处理小文件的读写,在某些应用中可能会成为性能瓶颈。气象数据格式虽然支持并行I/o功能,但其不具有通用性,无法应用到其它的科学与工程计算类应用课题中。
【发明内容】
[0005]本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种基于RDMA机制的并行输入输出方法,其面向一般的科学与工程计算类应用课题,支持一般数据格式,主要用于解决大规模情况下应用课题的I/O瓶颈问题。
[0006]为了实现上述技术目的,根据本发明,提供了一种基于RDMA机制的并行输入输出方法,所述并行输入输出方法基于客户端-服务器架构,所述并行输入输出方法包括:客户端通过套接字端口向服务器发送输入输出操作信息;客户端通过InfiniBand端口向服务器传送输入输出操作数据;服务器根据接收到的输入输出操作信息和输入输出操作数据统一进行输入输出操作。
[0007]优选地,所述输入输出操作是写操作。
[0008]优选地,所述输入输出操作信息和所述输入输出操作数据不具有固定数据格式。
[0009]优选地,所述输入输出操作信息和所述输入输出操作数据具有由客户端定义的数据格式。
[0010]根据本发明,还提供了一种基于RDMA机制的并行输入输出方法,所述并行输入输出方法基于客户端-服务器架构,而且所述客户端-服务器架构包括多个客户端和一个服务器;其特征在于所述并行输入输出方法包括:所述多个客户端中的两个或多个客户端同时进行通过套接字端口向服务器发送输入输出操作信息并通过InfiniBand端口向服务器传送输入输出操作数据的操作;服务器根据从各个客户端接收到的输入输出操作信息和输入输出操作数据统一进行各个输入输出操作。
[0011]优选地,所述输入输出操作是写操作。
[0012]优选地,所述输入输出操作信息和所述输入输出操作数据不具有固定数据格式。
[0013]优选地,所述输入输出操作信息和所述输入输出操作数据具有由客户端定义的数据格式。
[0014]本发明的优点在于:某些科学与工程计算类应用课题在大规模情况下存在I/O瓶颈问题,如WRF,在高分辨率预报大规模运行时,I/O时间与计算时间相当,I/O已严重影响到其性能;通过采用本发明,可避免这种I/O瓶颈问题,同时本发明对数据格式没有特定要求,用户可自定义自己需要的数据格式;对于某些专用的数据格式,如果采用本发明的I/O技术,可将并行I/O功能扩展到该专用数据格式,潜在应用场景广泛。
【附图说明】
[0015]结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0016]图1示意性地示出了根据本发明优选实施例的基于RDMA机制的并行输入输出方法的流程图。
[0017]图2示意性地示出了根据本发明优选实施例的基于RDMA机制的并行输入输出方法的通信示意。
[0018]图3示意性地示出了根据本发明优选实施例的基于RDMA机制的并行输入输出方法的系统不意图。
[0019]需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
【具体实施方式】
[0020]为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
[0021]多数科学与工程计算类应用课题在迭代若干次后会输出一次中间结果,且基本都是调用系统自带的阻塞性写操作,I/O性能有时对课题的计算速度有较大影响,甚至成为瓶颈。本发明旨在解决大规模情况下某些科学与工程计算类课题的I/O瓶颈问题,以提升应用课题的性能。
[0022]图1示意性地示出了根据本发明优选实施例的基于RDMA机制的并行输入输出方法的流程图。图2示意性地示出了根据本发明优选实施例的基于RDMA机制的并行输入输出方法的通?目不意。
[0023]如图2所示,根据本发明优选实施例的基于RDMA机制的并行输入输出方法基于客户端-服务器架构。例如,本发明的应用课题为客户端,I/O服务程序为服务器端。
[0024]如图1所示,根据本发明优选实施例的基于RDMA机制的并行输入输出方法包括依次执行的下述步骤:
[0025]第一步骤S1:客户端通过套接字(socket)端口向服务器发送输入输出操作信息;
[0026]第二步骤S2:客户端通过InfiniBand(无限带宽)端口向服务器传送输入输出操作数据;
[0027]第三步骤S3:服务器根据接收到的输入输出操作信息和输入输出操作数据统一进行输入输出操作。
[0028]例如,所述输入输出操作是写操作。
[0029]所述输入输出操作信息和所述输入输出操作数据不具有固定数据格式。
[0030]优选地,所述输入输出操作信息和所述输入输出操作数据具有由客户端定义的数据格式。
[0031]而且,进一步地,服务器与客户端之间是一对多的逻辑关系,如图3所示,服务器具备并发处理能力,可同时动态处理多个客户端(多个用户应用)的多个I/O服务请求;S卩,多个客户端(多个用户应用)可同时向服务器发送I/o请求,由服务器进行动态调度处理。
[0032]S卩,所述客户端-服务器架构包括多个客户端和一个服务器;而且其中所述多个客户端中的两个或多个客户端同时进行通过套接字端口向服务器发送输入输出操作信息并通过InfiniBand端口向服务器传送输入输出操作数据的操作;服务器根据从各个客户端接收到的输入输出操作信息和输入输出操作数据统一进行各个输入输出操作。
[0033]本发明提供了一种具有普适性的并行I/O方法,可并发处理有格式/无格式的I/O操作,而且其中并发处理能力主要是由服务器端的动态调度方法来完成。本发明覆盖应用级并行I/o中间件领域,采用了
[0034]面向一般数据格式的并行I/O接口以及I/O服务请求的动态调度方法。
[0035]本发明的优点在于:某些科学与工程计算类应用课题在大规模情况下存在I/O瓶颈问题,如WRF,在高分辨率预报大规模运行时,I/O时间与计算时间相当,I/O已严重影响到其性能;通过采用本发明,可避免这种I/O瓶颈问题,同时本发明对数据格式没有特定要求,用户可自定义自己需要的数据格式;对于某些专用的数据格式,如果采用本发明的I/O技术,可将并行I/O功能扩展到该专用数据格式,潜在应用场景广泛。
[0036]此外,需要说明的是,除非特别说明或者指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
[0037]可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
【主权项】
1.一种基于RDMA机制的并行输入输出方法,所述并行输入输出方法基于客户端-服务器架构,其特征在于所述并行输入输出方法包括: 客户端通过套接字端口向服务器发送输入输出操作信息; 客户端通过InfiniBand端口向服务器传送输入输出操作数据; 服务器根据接收到的输入输出操作信息和输入输出操作数据统一进行输入输出操作。2.根据权利要求1所述的基于RDMA机制的并行输入输出方法,其特征在于,所述输入输出操作是写操作。3.根据权利要求1或2所述的基于RDMA机制的并行输入输出方法,其特征在于,所述输入输出操作信息和所述输入输出操作数据不具有固定数据格式。4.根据权利要求1或2所述的基于RDMA机制的并行输入输出方法,其特征在于,所述输入输出操作信息和所述输入输出操作数据具有由客户端定义的数据格式。5.—种基于RDMA机制的并行输入输出方法,所述并行输入输出方法基于客户端-服务器架构,而且所述客户端-服务器架构包括多个客户端和一个服务器;其特征在于所述并行输入输出方法包括:所述多个客户端中的两个或多个客户端同时进行通过套接字端口向服务器发送输入输出操作信息并通过InfiniBand端口向服务器传送输入输出操作数据的操作;服务器根据从各个客户端接收到的输入输出操作信息和输入输出操作数据统一进行各个输入输出操作。6.根据权利要求5所述的基于RDMA机制的并行输入输出方法,其特征在于,所述输入输出操作是写操作。7.根据权利要求5或6所述的基于RDMA机制的并行输入输出方法,其特征在于,所述输入输出操作信息和所述输入输出操作数据不具有固定数据格式。8.根据权利要求5或6所述的基于RDMA机制的并行输入输出方法,其特征在于,所述输入输出操作信息和所述输入输出操作数据具有由客户端定义的数据格式。
【专利摘要】本发明提供了一种基于RDMA机制的并行输入输出方法。所述并行输入输出方法包括:客户端通过套接字端口向服务器发送输入输出操作信息;客户端通过InfiniBand端口向服务器传送输入输出操作数据;服务器根据接收到的输入输出操作信息和输入输出操作数据统一进行输入输出操作。
【IPC分类】G06F3/06
【公开号】CN105487815
【申请号】CN201510828200
【发明人】房田文, 徐金秀, 漆锋滨, 周明忠, 陈德训
【申请人】无锡江南计算技术研究所
【公开日】2016年4月13日
【申请日】2015年11月24日