文章欢迎您来评论区参与讨论,获取更多精彩文章,请您点一下关注,感谢您的支持。
文|江卿曻
编辑|江卿曻
前言
分布式文件系统的诞生是文件存储的里程碑,有效解决了海量数据管理的问题,分布式文件系统具有节约成本、管理方便、扩展性好、可靠性强等诸多优点。
随着互联网环境的不断变化,大数据时代已经悄然开始,统计数据显示,我国互联网普及率已达57.7%,微信朋友圈、Qzone等社交应用的使用率分别高达86.9%和64.7%;。
当网民使用社交应用、分享短视频或在线购物时,小文件产生的数据量是巨大的,并且还在快速增长,互联网产生图片、文字、短视频等文件,产生海量小文件数据。
为了更好地存储和管理这些海量数据,需要设计和我爱线报网每日持续更新海量各大内部创业教程开发适合小文件的高性能分布式文件系统,这是当今互联网环境下亟待解决的问题。
那么这些问题究竟是如何去解决呢?大型的文件夹又该如何去储存呢?
网络传输延迟
在大文件的传输中,网络传输延迟是整个文件传输延迟的主要因素,相反,在新的小文件中,文件发送端和接收端的处理开销主导了文件传输延迟。
其中处理开销是指缓冲区管理、不同内存空间中的消息复制,以及消息传输完成后的系统中断,在当今互联网的通信场景中,消息、图片、短视频等小文件的信息,占了文件传输的绝大多数。
当前分布式文件系统中的大部分通信延迟,来自消息发送方和接收方的处理开销,现有分布式文件系统的节点,主要通过以太网互连。
在传统的以太网通信方式中,多个内存副我爱线报网每日持续更新海量各大内部创业教程本、中断处理、上下文切换、复杂的TCP/IP协议处理、存储转发模式和丢包都会导致额外的延迟,导致传输延迟大,系统性能低。
面对高性能计算、大数据分析以及浪涌高并发、低时延的应用,现有的硬件、软件架构、高CPU消耗的通信技术,已不能满足新兴应用的需求。
在高速网络条件下,与网络相关的主机处理的高开销不仅限制了网络节点之间的带宽,还降低了网络通信的性能和灵活性。
在传统的协议中,原因主要是消息传输需要通过内核传递,这种通信方法会导致较高的,数据移动和数据复制开销。
与处理器速度的不断提高相比,传统以太网领域的发展略显滞后,它逐渐成为分布式文件系统性能的缺点。
背景和动机
影响TCP传输速率的主要原因之一,是数我爱线报网每日持续更新海量各大内部创业教程据在内核和用户空间之间来回复制,显著增加了CPU使用率,提高性能的关键问题,是消除主机CPU中的繁琐数据,复制和移动操作可减少通信过程中的 CPU 使用率。
RDMA 使用这两种方法来优化通信性能,它是一种可以直接访问远程主机内存的技术,RDMA 中有两种类型的操作,RDMA 读取和 RDMA 写入。
无论是RDMA读还是RDMA写,请求者只需要提前获取被访问的远程节点的内存地址,注册目标内存,获取目标内存的内存密钥,然后进行内核旁路数据访问。
从这些文档的研究结论中也可以看出,RDMA协议由于其零拷贝和内核旁路特性,显著减少了内存副本的数量,与TCP相比,它具有明显的优势,可以实现更高的性能。
例如我爱线报网每日持续更新海量各大内部创业教程,一个 40Gbps的TCP流会消耗主流服务器的 CPU 资源,RDMA解决了传统通信的技术痛点,在40Gbps场景中,CPU使用率从100%降低到5%,网络延迟从毫秒级降低到10 us以下。
当应用程序想要使用TCP/IP时,必须使用协议提供的编程接口套接字,来实现应用程序或进程之间的网络通信,网络通信程序常用的TCP/IP协议,使用套接字进行编程。
无论是编写客户端程序还是服务器端程序,系统都会为每个 TCP 连接创建,一个套接字句柄,这就导致每次传输流量,都要通过OS和协议栈管理,所以无论是同步通信还是异步通信套接字,都会出现CPU消耗高的现象。
RDMA 和 TCP 之间的区别
RDMA相比T我爱线报网每日持续更新海量各大内部创业教程CP省去了大量的数据复制麻烦,数据通过主机适配器HCA直接,从应用程序缓冲区传输到另一个节点,的应用程序缓冲区,而无需经过双方的内核空间。
RDMA 采用核心旁路和零拷贝技术,在降低 CPU 使用率的同时提供低延迟功能,突破内存带宽瓶颈,提供高带宽利用率,这得益于RDMA消息服务呈现给,应用程序的方式以及用于发送和传递,这些消息的基础技术。
与TCP/IP网络相比,RDMA技术还消除了数据包丢失造成的重传延迟,无需像在TCP/IP网络中那样确认,并重新发送丢失的数据包,节省了这部分时间开销,从而使这方面的整体性能得到提高,传输效率也得到了提高。
与传统 DMA 的内部总线 I/O 相比,RDMA 可我爱线报网每日持续更新海量各大内部创业教程以通过网络直接在两个端点的,应用软件之间远程传输数据,与传统网络传输相比,RDMA可以轻松实现远程节点之间的,超低延迟和超高吞吐量传输。
无需操作系统和协议栈的干预,基本不需要CPU资源参与,在高速网络环境中,不再需要消耗过多的系统资源来处理和重复复制网络数据。
RDMA的这三个特性,即CPU卸载、内核旁路和零拷贝,使其优势不言而喻,其所能达到的传输性能远远超过传统的TCP,而TCP确实成为改进分布式文件系统的重要工具。
使用RDMA通信代替原来的TCP,可以避免频繁数据复制造成的时间延迟,从而提高分布式文件系统的性能。
服务器的主动 RDMA IOPS 在达到 ,4 个线程后迅速达到饱和,而被动 R我爱线报网每日持续更新海量各大内部创业教程DMA IOPS 处于非常高的水平,有 16 个线程未能饱和,这验证了前面的观点,即 RDMA 主动操作通常是 RDMA 性能的瓶颈。
当主动 RDMA 处理操作达到饱和时,被动 RDMA 操作远未饱和,这表明在相同条件下,RDMA在一定时间内可以处理的,被动请求比主动操作多很多倍。
一般用例并没有充分发挥RDMA的被动处理能力,这也是RDMA单边操作的不对称性。
不同线程计数下的服务器 IOPS
当本地 RNIC 向远程 RNIC 发送 RDMA 请求时,会等待来自远程 RNIC 的 ACK 确认消息,请求完成后,生成完整的事件信息。
这些操作要求本地 INIC 在硬件中维护,许多状态这极大地限制了本我爱线报网每日持续更新海量各大内部创业教程地 ,RNIC 执行更多 RDMA 操作的能力,对于被动 RDMA 读取,服务器机器中的 RNIC, 几乎没有处理负担。
在这种情况下,RNIC 不需要维护许多状态或对收到的请求执行其他操作,可以充分利用 RNIC 的功能,从而提高 IOPS。
RDMA通信技术与传统的TCP/IP通信相比具有许多优势,如果在分布式文件系统中使用RDMA技术来替代原来的TCP/IP,理论上,分布式文件系统的性能可以得到显著提高。
整个系统架构基于 FastDFS 设计,与传统FastDFS的结构类似,系统主要分为跟踪服务器跟踪器,存储服务器存储,RDMA通信模块和客户端模块,跟踪服务器是整个系统的核心模块。
管理所有存我爱线报网每日持续更新海量各大内部创业教程储服务器,当系统启动时,存储服务器将定期将包含其状态信息的,检测信号数据发送到跟踪服务器,由跟踪服务器存储,跟踪服务器负责处理来自客户端的各种请求。
根据请求查询相应的存储服务器,并将存放服务器的相关信息发送回客户端,客户端起到负载均衡作用,存储服务器提供与文件相关的服务。
客户端直接与存储服务器通信以完成对文件的访问,0RDMA 通信模块嵌入在存储服务器、跟踪服务器和客户端中,负责在 RDMA 模式下通信数据,系统网络通信拓扑图如图4所示。
文件上传
文件上传是系统的主要功能之一,首先客户端启动文件上载请求,跟踪服务器接收文件上载请求,并选择负载较低的存储服务器返回。
客户端尝试通过 RDMA 与提供我爱线报网每日持续更新海量各大内部创业教程的存储服务器,列表中的存储通信,并将要上传的文件直接写入预先,在存储中注册的内存中以完成文件上传。
当使用存储服务器完成队列中的相应 CQE 时,将通知存储服务器上载已完成,存储服务器收到消息后,会通过同步线程将文件与同组中的,每个存储服务器同步,并通过RDMA直接写入其内存区域。
文件下载过程类似于文件上传过程,客户端将文件 FID 发送到跟踪服务器,跟踪服务器分析 FID 以确定文件是否存在。
当文件不存在时,它直接将文件的不存在信息返回给客户端,如果该文件存在,它将对应于存储服务器,返回 IP 和端口信息,客户端与相应的存储服务器连接,并通过 RDMA 下载文件。
文件上传或更新结束后,文件同步我爱线报网每日持续更新海量各大内部创业教程将开始发挥作用,当客户端将文件上载到存储服务器时,存储将使用增量同步通过同步,线程将文件发送到同一组中的存储服务器。
存储源文件的存储服务器通过共享内存,获取组中其他存储服务器的相关信息,如IP地址和端口,当存储组中有新服务器或向,系统添加新存储组时,也需要文件同步。
跟踪器负责接收所有存储的状态信息,更新本地存储的系统分组信息,和每个服务器的状态信息,并将新信息推送到存储组,并保存在共享内存中,以便在存储服务器之间同步文件。
在同一组中,将有充当活动同步角色的存储,根据跟踪器提供的列表信息,它将与每个需要同步的存储进行通信,注册内存,并逐渐将文件同步到其内存中。
文件删除也是系统中的一个功能,删除文我爱线报网每日持续更新海量各大内部创业教程件时,客户端将首先向跟踪器,发送文件删除请求,跟踪器将根据解析的文件删除请求中,包含的FID定位文件所在的目录。
如果文件不在手册中,跟踪器将直接向不存在的客户端代码名称发送文件,如果在手册中找到该文件,跟踪器将获取相应存储服务器的IP和端口,并将文件删除请求直接发送到相应的存储服务器。
结论
随着互联网的快速发展,在信息碎片化时代产生的小文件,数量呈指数级增长,对小文件海量存储的需求逐渐增加。
通过对比分析RDMA技术与TCP的优缺点,结合当前互联网环境下分布式,文件系统的应用需求,利用RDMA技术设计了一种基于,FastDFS的轻量级分布式文件系统。
从传输过程中改变FastDFS的文件上传和下载机我爱线报网每日持续更新海量各大内部创业教程制, 这样就可以充分发挥服务器端,RDMA虚拟网卡的性能,提高了服务器资源利用率,优化了文件传输过程,最后通过实验验证了优化后的FastDFS的性能。
在服务端CPU利用率和QPS方面,与针对通信方式优化的方案相比,改进传输过程的优化方案进一步,降低了CPU利用率,增加了服务器上的QPS数量。
文献:
K.J. 为网络连接存储上的高可用性群集应用程序实施网络文件系统协议。
2013年第五届国际会议和计算智能与通信网络会议论文集,印度马图拉,5年27月29-2013日;第496-499页。
苏布拉莫尼;赖平;罗敏;2009 年 IEEE 集群计算与研讨会国际会议论文集,美国路易斯安那州新奥尔良。
刘军;李斌我爱线报网每日持续更新海量各大内部创业教程;基于小文件的HDFS优化。2010年第三届IEEE宽带网络与多媒体技术国际会议论文集,中国北京,3年26月28-2011日。[谷歌学术]
齐,X.;胡华;郭军;黄春;周晓;徐,N。前面。计算。科学. 2023, 17, 3.
推荐阅读
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2