一种集群文件系统客户端多核并发负载实现方法技术方案

技术编号:11513084 阅读:151 留言:0更新日期:2015-05-27 20:06
本发明专利技术特别涉及一种集群文件系统客户端多核并发负载实现方法。该集群文件系统客户端多核并发负载实现方法,包括客户端元数据请求模块,客户端元数据接收模块,客户端元数据处理模块,驱动扩展模块和网卡驱动。该集群文件系统客户端多核并发负载实现方法,通过用户进程请求分发表,将集群应答分发到请求等待核,减少或避免了核间的切换,有效的提高了客户端多核并发处理文件请求的效率,特别是大量文件请求的场景性能有明显的提高,实现了集群客户端大量文件情况的多核负载平衡。

【技术实现步骤摘要】
一种集群文件系统客户端多核并发负载实现方法
本专利技术涉及集群文件系统客户端
,更确切的说是文件系统的内核客户端,特别涉及一种集群文件系统客户端多核并发负载实现方法。
技术介绍
集群技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。采用集群技术的目的包括如下几点:1提高性能一些计算密集型应用,如:天气预报、核试验模拟等,需要计算机要有很强的运算处理能力,现有的技术,即使普通的大型机其计算也很难胜任。这时,一般都使用计算机集群技术,集中几十台甚至上百台计算机的运算能力来满足要求。提高处理性能一直是集群技术研究的一个重要目标之一。2降低成本通常一套较好的集群配置,其软硬件开销要超过100000美元。但与价值上百万美元的专用超级计算机相比已属相当便宜。在达到同样性能的条件下,采用计算机集群比采用同等运算能力的大型计算机具有更高的性价比。3提高可扩展性用户若想扩展系统能力,不得不购买更高性能的服务器,才能获得额外所需的CPU和存储器。如果采用集群技术,则只需要将新的服务器加入集群中即可,对于客户来看,服务无论从连续性还是性能上都几乎没有变化,好像系统在不知不觉中完成了升级。4增强可靠性集群技术使系统在故障发生时仍可以继续工作,将系统停运时间减到最小。集群系统在提高系统的可靠性的同时,也大大减小了故障损失。随着互联网时代的到来,数据存储成为当前不可缺少的基础设施,集群文件系统的应用也越来越广泛。集群客户端大量的文件操作请求时,传统的用户态多线程并行处理方式,虽然实现比较简单且能够提升系统的批处理能力,但由于线程调度、核间切换、Cache性能、线程锁、多CPU内存等,造成CPU多核性能没能得到充分的发挥,客户端的硬件性能被浪费。为了提高集群文件系统客户端的处理性能,充分利用CPU资源,需要一种集群文件系统客户端多核并发负载实现方法,从而提高集群的客户端的处理性能且充分利用CPU多核性能。目前,集群文件系统中的文件依据应用场景可分为大文件和小文件,针对文件系统中的大文件,其元数据操作少,主要性能瓶颈是数据网络带宽、存储磁盘性能等方面;对于文件系统中的大量小文件操作,元数据操作频繁,压力较大,用户态的客户端由于涉及用户态和内核态操作较多,导致用户态客户端处理小文件性能低,而内核客户端虽然较用户态客户端能大幅度提升小文件,但是还是成为整个集群文件系统的瓶颈。因此,急需对内核客户端小文件性能进行优化。虽然集群系统的构建目前可以说是模块化的,从硬件角度来看可以分为节点机系统、通讯系统、存储系统等,软件角度则主要有操作系统、集群操作系统(COS)、并行环境、编译环境和用户应用软件等,目前高性能计算机的通讯、存储等硬件系统是伴随摩尔定律快速发展的,跟踪、测试、比较最新硬件设备构成的高性能计算机的可能方案也成了高性能计算机厂商的重要科研活动,而所有这些关键部件研发、系统方案科研以及厂商的自主部件研发的高度概括就是“整合计算”。整合硬件计算资源的同时,伴随着整合软件资源,其中集群操作系统COS是软件系统中连接节点机操作系统和用户并行应用的重要“黏合剂”,也是高性能计算机厂商的技术杀手锏。为了提升集群文件系统内核客户端小文件性能,本专利技术提出了一种在集群文件系统内核客户端的环境下,利用服务器多核处理技术来提升客户端文件元数据读写性能的集群文件系统客户端多核并发负载实现方法。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单有效的集群文件系统客户端多核并发负载实现方法。本专利技术是通过如下技术方案实现的:一种集群文件系统客户端多核并发负载实现方法,其特征在于:包括客户端元数据请求模块,客户端元数据接收模块,客户端元数据处理模块,驱动扩展模块和网卡驱动,在文件系统内核客户端支持完整POSIX语义前提下,将文件创建处理分割成多个子处理过程,每个子处理过程的多个实例并发执行,整个处理过程采用流水作业并发执行,以达到整体处理性能的提升。所述驱动扩展模块依据与客户端元数据请求模块相同的用户进程请求多核分发表,对集群服务端响应报文进行多核分发,将多用户进程的大量文件,按照用户进程标识分发到不同的核上进行集群文件操作请求,通过所述客户端元数据接收模块接收各用户进程的请求;相同用户进程的请求,可被分发在相同核上进行处理;不同用户进程的请求,可在不同核上并发处理。所述集群文件系统客户端的IO请求必须先进行元数据操作,由元数据返回客户端数据存放位置进行读写操作。所述客户端元数据请求模块下发用户进程请求多核分发表,即用户进程请求与核的对应关系映射,到驱动扩展模块。所述客户端元数据处理模块,将元数据接收延后执行,目的是将一次请求应答的网络、元数据处理并行执行。该集群文件系统客户端多核并发负载实现方法,包括以下步骤:(1)接收用户进程文件操作请求,客户端元数据请求模块将用户请求分发到多个处理核,并生成用户进程请求多核分发表;(2)将用户进程请求多核分发表下发到驱动扩展模块;(3)多核处理用户进程文件操作请求发送;(4)网卡接收报文进行上送,被驱动扩展模块接收,依据用户进程请求分发表,进行分核上送协议栈处理;(5)报文进行网络协议处理后,通过所述客户端元数据接收模块接收各用户进程的请求,并调用客户端元数据处理模块;(6)客户端元数据处理模块,通知用户进程。本专利技术的有益效果是:该集群文件系统客户端多核并发负载实现方法,通过用户进程请求分发表,将集群应答分发到请求等待核,减少或避免了核间的切换,有效的提高了客户端多核并发处理文件请求的效率,特别是大量文件请求的场景性能有明显的提高,实现了集群客户端大量文件情况的多核负载平衡。附图说明附图1为本专利技术中集群文件系统客户端多核并发负载实现方法示意图。具体实施方式下面结合附图对本专利技术进行详细说明。该集群文件系统客户端多核并发负载实现方法,包括客户端元数据请求模块,客户端元数据接收模块,客户端元数据处理模块,驱动扩展模块和网卡驱动,在文件系统内核客户端支持完整POSIX语义前提下,将文件创建处理分割成多个子处理过程,每个子处理过程的多个实例并发执行,整个处理过程采用流水作业并发执行,以达到整体处理性能的提升。所述驱动扩展模块依据与客户端元数据请求模块相同的用户进程请求多核分发表,对集群服务端响应报文进行多核分发,将多用户进程的大量文件,按照用户进程标识分发到不同的核上进行集群文件操作请求,通过所述客户端元数据接收模块接收各用户进程的请求;相同用户进程的请求,可被分发在相同核上进行处理;不同用户进程的请求,可在不同核上并发处理。所述集群文件系统客户端的IO请求必须先进行元数据操作,由元数据返回客户端数据存放位置进行读写操作。所述客户端元数据请求模块下发用户进程请求多核分发表,即用户进程请求与核的对应关系映射,到驱动扩展模块。所述客户端元数据处理模块,将元数据接收延后执行,目的是将一次请求应答的网络、元数据处理并行执行。该集群文件系统客户端多核并发负载实现方法,包括以下步骤:(本文档来自技高网
...
一种集群文件系统客户端多核并发负载实现方法

【技术保护点】
一种集群文件系统客户端多核并发负载实现方法,其特征在于:包括客户端元数据请求模块,客户端元数据接收模块,客户端元数据处理模块,驱动扩展模块和网卡驱动,在文件系统内核客户端支持完整POSIX语义前提下,将文件创建处理分割成多个子处理过程,每个子处理过程的多个实例并发执行,整个处理过程采用流水作业并发执行,以达到整体处理性能的提升。

【技术特征摘要】
1.一种集群文件系统客户端多核并发负载实现方法,其特征在于:包括客户端元数据请求模块,客户端元数据接收模块,客户端元数据处理模块,驱动扩展模块和网卡驱动,在文件系统内核客户端支持完整POSIX语义前提下,将文件创建处理分割成多个子处理过程,每个子处理过程的多个实例并发执行,整个处理过程采用流水作业并发执行,以达到整体处理性能的提升;所述驱动扩展模块依据与客户端元数据请求模块相同的用户进程请求多核分发表,对集群服务端响应报文进行多核分发,将多用户进程的大量文件,按照用户进程标识分发到不同的核上进行集群文件操作请求,通过所述客户端元数据接收模块接收各用户进程的请求;相同用户进程的请求,可被分发在相同核上进行处理;不同用户进程的请求,可在不同核上并发处理。2.根据权利要求1所述的集群文件系统客户端多核并发负载实现方法,其特征在于:所述集群文件系统客户端的IO请求必须先进行元数据操作,由元数据返回客户端数据存放位置进行读写操作。3.根据权利要求1所述的集...

【专利技术属性】
技术研发人员:张延良李雪生张在贵
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1