CN102368711B - 一种面向并行文件系统的通信系统 - Google Patents

一种面向并行文件系统的通信系统 Download PDF

Info

Publication number
CN102368711B
CN102368711B CN201110326439.XA CN201110326439A CN102368711B CN 102368711 B CN102368711 B CN 102368711B CN 201110326439 A CN201110326439 A CN 201110326439A CN 102368711 B CN102368711 B CN 102368711B
Authority
CN
China
Prior art keywords
communication
connection
request
interface
file system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110326439.XA
Other languages
English (en)
Other versions
CN102368711A (zh
Inventor
张攀勇
袁重桥
赵力
邵宗有
刘新春
苗艳超
王勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201110326439.XA priority Critical patent/CN102368711B/zh
Publication of CN102368711A publication Critical patent/CN102368711A/zh
Application granted granted Critical
Publication of CN102368711B publication Critical patent/CN102368711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种面向并行文件系统构建高效通信系统的方法,包括一种面向并行文件系统的通信接口,高效通信系统的实现框架,以及一种零拷贝异步通信方式。提供了“调用-应答”的通信接口,便于文件系统使用。高效通信系统实现框架包括接口层,提供通信请求封装,和“调用-应答”封装接口。通信层包括对端节点管理单元,连接管理单元,消息收发单元,可靠性单元,实现了自适应的连接监控机制,动态的通信请求与连接关联的选择机制。网络层,封装具体网络实现,向上提供连接初始化/结束,连接建立,消息收发,错误处理接口。零拷贝异步通信方式,提供了在通信系统中高效的通信请求传递方式,能够实现文件系统需要的通信-操作隐藏语义。

Description

一种面向并行文件系统的通信系统
技术领域
本发明涉及并行文件系统的通信系统,特别涉及一种面向并行文件系统的高效通信系统。
背景技术
并行文件系通常由多种不同类型的实体组成,各个实体功能相互独立,运行于不同节点上,由互联网络连接起来,构成一个统一的整体,向外提供统一文件系统服务。这些实体包括:元数据服务,数据服务,客户端,结构如图1所示。
为了达到高性能,高可靠性的目标,并行文件系统需要一个高效的通信层以实现文件系统服务之间的通信,而传统的互联网络的通信接口,主要为数据报或者数据流方式,将数据从一段发送到另一端,接口较为复杂,不太适合文件系统直接使用。
另一方面,由于构建互联网络的部件:交换机和网卡,随时可能失效,这导致并行文件系统中正在进行的通信操作随时可能中断,这需要一种高可靠的通信系统,其能够检测通信操作的中断,并且能够在互联网络恢复正常之后,恢复通信操作,以保证上层文件系统的可靠运行。
由于网络技术的发展,在同一套分布式系统中部署多种类型的网络变成了一种常态;而为了满足整个系统的通信需求以及性价比等方面的考虑,往往会采用并行网络(multi-rail)的方式来提供聚合的高通信性能,这都直接导致了并行文件系统的通信系统需要面对复杂的,多套的底层通信网络,需要通信系统屏蔽底层网络细节,向上提供统一的通信接口,并充分利用到每一部分的通信性能。传统的基于绑定(Bonding)的方式在操作系统层面将多网络聚合成一个虚拟的网络设备,但是其只能够聚合同一类的网络,并且需要复杂的配置,通信系统也不能针对每一套网络进行处理。
由于并行文件系统中各个服务之间存在大量的协同和通信交互,直接导致了大量的数据通信,因此通信系统的性能,极大的决定的并行文件系统的性能。需要通信系统提供高效的通信机制,提供高带宽和低延迟。同时为了隐藏通信系统的开销,并行文件系统的服务使用异步通信方式,在通信请求和通信完成之间插入其他无关动作,这需要通信系统提供异步的通信机制。
发明内容
本发明的目的是面向并行文件系统的特定需求,提供一种统一的,高效可靠的通信系统实现方法。为了实现上述目的,本发明提供了一种有效的高效通信构建机制和框架,包括
(1)面向并行文件系统的统一通信接口。提供了调用-应答的通信接口,通信发起方使用调用接口发起通信请求,通信应答方使用应答接口应答通信请求。
上层并行文件系统基于通信应答接口进行消息通信,使用基于整体系统的虚拟地址编号标识通信目标方,通信系统将系统区拆分为三层接口:
接口层,提供并行文件系统的通信接口,提供“调用-应答”通信接口,将通信操作封装为通信请求,提交给下层通信系统收发。
通信层,负责处理接口层提交的通信请求,使用网络层具体接收收发数据,同时负责网络层的收发,错误请求。
网络层,封装具体的网络通信操作,供通信层使用。
通信系统的构建中,为了保证文件系统能够高效的通信,使用如下三种机制:
(2)动态的通信请求与连接管理的选择机制。接口层提交的通信请求,由通信层的连接管理单元,根据当前并行文件系统中的节点状态,以及连接的服务能力和状态,分配到当前处理能力最大的连接上,该方式能够有效的聚合底层多通信网络的通信能力。
详细步骤为:
步骤S1,系统在初始化时根据管理系统提供的系统拓扑表,读入节点配置情况,并且根据配置在节点之间建立连接,将连接以目标节点链表的方式组织,每一个目标节点上存在一个可用连接链表。
步骤S2,通信层根据通信请求的目标节点,在目标节点链表上找到对应节点,进一步找到该节点对应的可用节点链表
步骤S3,遍历可用节点链表,检查每一个链表上的权值,取得权值最大的一个连接。
步骤S4,将通信请求与该连接相关联,在该连接上进行数据的发送动作。
步骤S5,在链表上的连接发送完成之后,根据发送记录,修改连接的权值
(3)高可靠机制。在接口层的连接管理单元中,定期监测每一个网络连接的状态,通过在每一个连接上定期发送心跳消息,监测连接的状态。
在出现网络故障时,进入故障处理模式,尝试进行网络通路的重建。通信系统通过实时的通信通路选择机制,自动剔除掉故障的通信通路,使用可用的通信通路发送数据,或者等待通路重建完成之后,进行消息重发,该可靠性机制对上层并行文件系统透明。
(4)高效异步通信机制,使用通信线程的方式,提供异步的通信接口,以保证并行文件系统在异步请求发起完成之后,继续后续操作,通信线程异步的进行通信的收发。为了保证通信的效率,在通信系统中采用“零拷贝”通信机制,并不复制通信数据,以提高通信效率。
高效异步通信机制详细步骤为:
步骤S1,在通信系统中,存在通信的发送和接收线程,每一个通信线程上存在一个通信队列,用于通信操作
步骤S2,接口层将用户请求封装为通信请求,交由通信层处理。通信层在将通信请求与连接完成关联之后,将该通信请求关联到通信线程,由通信线程负责数据的收发操作
步骤S3,通信线程从通信队列中获取待发送、接收的通信请求,异步的进行数据发送,如果不能进行发送/接收操作,则使用poll/epoll/select方式阻塞等待,直到能够持续后续收发操作。通信线程在完成通信请求后,通知应用层通信完成
步骤S4,应用层在获取到通信完成通知之后,继续后续操作。
本发明的优点在于:
1、本发明的统一通信接口面向并行文件系统的通信需求,封装通信操作实现和底层网络的细节,并行文件系统的服务只需要使用“调用-应答”通信接口操作,降低了通信接口使用难度。
2、本发明的网络带宽聚合机制,能够动态利用通信通路的所有通信能力,提高了通信效率,同时无需在系统一级做复杂配置,降低了聚合的难度
3、本发明的高可靠机制,在对用户透明的前提下,保证了通信系统在通信网络部分故障的时候能够正常工作,在通信网络恢复之后能够重新利用所有的通信部分,容忍了通信系统的不可靠,提高了并行文件系统的可靠性。
4、本发明的高效异步通信方式,提供了并行文件系统所需的异步通信方式,便于并行文件系统实现“通信-操作”的重叠,提高了整体系统的效率,同时提供了“零拷贝”通信机制,降低了通信系统操作通信带来的开销,提高了通信效率。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1为并行文件系统组成的示意图;
图2为通信系统接口的“请求-调用”接口示意图;
图3为通信系统结构图;
图4为动态请求与连接关联机制示意图;
图5为通信系统零拷贝实现方式;
具体实施方式
下面结合附图和具体实施方式对本发明的方法进行说明。
通信系统的“请求-调用”接口如图2所示,包括如下步骤:
步骤S1、通信发起方使用调用接口向目标方发起通信操作,通信操作中包括目标方地址,通信操作类型,以及数据。
步骤S2、通信系统根据通信操作中的目标方地址,向通信目标方发送数据;
步骤S3、通信应答方的通信系统接收通信发起方发送的通信操作,在数据接收完成之后,提交给通信应答方处理
步骤S4、通信应答方处理通信请求,在处理完成之后,使用应答接口向发起方应答通信请求处理完成,该通信请求提交给通信系统,
步骤S5、通信应答方向通信发起方发送通信应答消息
步骤S6、通信发起方的通信系统接收到通信应答消息,提交给通信发起方处理
步骤S7、通信发起方处理通信应答消息,完成本次通信操作。
通信系统的层次结构如图3所示,具体包括:
并行文件系统使用通信接口层提供的通信请求封装接口,将并行文件系统的通信请求封装为通信系统的通信请求,使用“调用-应答”接口将通信请求提交给通信系统处理。
通信层的具体描述如下:
对端节点管理单元,管理对端节点信息,包括从配置文件和管理接口中获取通信通路的地址和通路类型,使用网络层提供的接口创建连接,将连接和对端节点关联。以及对端节点的动态添加,删除。
连接管理单元,用于负责连接的管理,构建控制消息,定期监控连接的可用状态,如果发现连接错误,将错误连接提交给可靠性层,进行连接重建操作。连接监控步骤为:
步骤S1,连接监控线程定期检查连接的状态,
步骤S2a,如果为正常状态,检查当前连接在一段固定时间内是否发送/接收完成过通信请求,如果发送过,则认为该连接正常工作,继续后续操作。
步骤S2b,使用网络层的连接接口,通过连接发送监控消息,如果发送成功,则继续认为该连接可用,否则认为连接状态出错。将连接提交给可靠性单元,进行可靠性处理。
连接管理单元还负责根据系统当前的连接状态,动态将通信请求和连接关联,提交由消息收发单元进行实际的消息收发操作。具体的连接选择步骤为,如图4所示:
步骤S1,根据通信请求的目标地址,查找到对端节点结构,找到对端节点的所有连接。遍历对端节点的所有连接,
步骤S2,如果发现对端节点上的所有连接状态均为不可用,则认为通信请求无法传输到方,根据通信请求提供的错误处理方式,进行相应处理。如果处理方式为重发,则将通信请求挂入请求重传队列,等待有连接重建完成之后,进行消息重发。如果处理方式为直接返回,则直接返回通路错误的错误码给接口层。
步骤S3,如果发现存在可用的连接状态,则遍历可用的连接链表。
从链表头部开始遍历,根据连接的权值选择可用连接链表上的权值最大的一个连接,权值为连接的等待发送请求长度和连接历史发送带宽的比值。对于图中的状态,最后选定的连接为连接1。
消息收发单元,使用通信收发线程,将通信请求使用连接管理单元选定的连接上,进行数据的收发操作。在数据发送完成之后,通过回调函数通知接口层完成通信请求;通信线程接收完成之后,使用接收回调函数,提交给接口层进行消息接收处理。
可靠性单元,使用可靠性处理线程,处理连接管理单元提交的需要重建的连接,尝试连接的重建,连接重建步骤包含:
根据连接在连接的主动方还是被动方,如果为连接主动方,则调用网络层的具体连接建立过程重建连接,如果重连接成功,则修改该连接状态,提交给连接管理单元继续进行消息收发;如果重连接失败,则采用指数回退的方式,等待一定时间,继续尝试重建连接。
如果为连接被动方,则将连接加入被动错误连接队列中,等待主动方的重连请求。如果接收到主动方的连接请求,则复制连接被动方的连接信息到新的连接中,释放错误的连接。
网络层包括通信操作的实现层,具体包括针对特定网络系统的连接初始化/结束接口,连接建立接口,连接的数据收发操作,连接的错误处理。
通信系统零拷贝实现方式如图5所示,具体的步骤为:
步骤S1,并行文件系统使用接口层提供的通信接口,封装通信操作为通信请求,通信请求中包含目标方的通信地址,通信操作的标志,以及应用层通信缓冲区。为了防止在通信请求被通信系统处理时,上层并行文件系统释放该通信缓冲区导致的访问错误,通信系统使用引用计数保护通信缓冲区,在通信过程中,通信系统持有计数,直到步骤S3通信完成之后。
步骤S2,在接口层将通信请求传递给通信层,和通信层调用网络层接口操作具体网络时,只传递通信请求的指针,并不将应用层的通信缓冲区中的数据拷贝到通信层中,降低了通信开销。
步骤S3,在通信操作完成之后,接口层将减少通信缓冲区的引用计数。此时通信系统使用应用缓冲区完成,上层系统能够正常释放应用层内存。

Claims (3)

1.一种面向并行文件系统的通信系统,其特征在于: 
上层并行文件系统统一的基于通信应答接口进行消息通信,使用基于整体系统的虚拟地址编号标识通信目标方,通信系统将系统区拆分为接口层,通信层和网络层; 
通信时,接口层提交通信请求,由通信层的连接管理单元根据当前并行文件系统中的节点状态以及连接的服务能力和状态,分配到当前处理能力最大的连接上; 
所述接口层的连接管理单元中,通过在每一个连接上定期发送心跳消息,检测连接状态; 
所述通信系统采用零拷贝通信机制通信; 
所述接口层用于提供并行文件系统的通信接口,提供“调用-应答”通信接口,将通信操作封装为通信请求,提交给下层通信系统收发; 
所述通信层负责处理接口层提交的通信请求,使用网络层具体接收收发数据,同时负责网络层的收发,错误请求; 
所述网络层用于封装具体的网络通信操作,供通信层使用; 
所述分配到当前处理能力最大的连接上的过程为: 
S1,系统在初始化时根据管理系统提供的系统拓扑表,读入节点配置情况,并且根据配置在节点之间建立连接,将连接以目标节点链表的方式组织,每一个目标节点上存在一个可用连接链表; 
S2,通信层根据通信请求的目标节点,在目标节点链表上找到对应节点,进一步找到该节点对应的可用节点链表; 
S3,遍历可用节点链表,检查每一个链表上的权值,取得权值最大的一个连接; 
S4,将通信请求与该连接相关联,在该连接上进行数据的发送动作; 
S5,在链表上的连接发送完成之后,根据发送记录,修改连接的权值。 
2.如权利要求1所述的通信系统,其特征在于:所述连接管理单元检测到网络故障时,进入故障处理模式,尝试进行网络通路的重建,通信系统通过实时的通信通路选择机制,自动剔除掉故障的通信通路,使用可用的通信通路发送数据,或者等待通路重建完成之后,进行消息重发。 
3.如权利要求1所述的通信系统,其特征在于:所述零拷贝机制的工作过程为: 
S1,在通信系统中,存在通信的发送和接收线程,每一个通信线程上存在一个通信队列,用于通信操作; 
S2,接口层将用户请求封装为通信请求,交由通信层处理,通信层在将通信请求与连接完成关联之后,将该通信请求关联到通信线程,由通信线程负责数据的收发操作; 
S3,通信线程从通信队列中获取待发送、接收的通信请求,异步的进行数据发送,如果不能进行发送/接收操作,则阻塞等待,直到能够持续后续收发操作,通信线程在完成通信请求后,通知应用层通信完成; 
S4,应用层在获取到通信完成通知之后,继续后续操作。 
CN201110326439.XA 2011-10-25 2011-10-25 一种面向并行文件系统的通信系统 Active CN102368711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110326439.XA CN102368711B (zh) 2011-10-25 2011-10-25 一种面向并行文件系统的通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110326439.XA CN102368711B (zh) 2011-10-25 2011-10-25 一种面向并行文件系统的通信系统

Publications (2)

Publication Number Publication Date
CN102368711A CN102368711A (zh) 2012-03-07
CN102368711B true CN102368711B (zh) 2014-05-21

Family

ID=45761261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110326439.XA Active CN102368711B (zh) 2011-10-25 2011-10-25 一种面向并行文件系统的通信系统

Country Status (1)

Country Link
CN (1) CN102368711B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312625B (zh) * 2012-03-09 2016-02-03 深圳市腾讯计算机系统有限公司 一种网络通信的方法和系统
CN103475561B (zh) * 2013-09-26 2016-08-03 神思电子技术股份有限公司 虚拟通信链路动态开关方法和装置
CN104660696B (zh) * 2015-02-10 2018-04-27 上海创景信息科技有限公司 并行收发构建系统及其构建方法
CN105430096A (zh) * 2015-12-22 2016-03-23 曙光信息产业(北京)有限公司 并行文件系统的自动安装方法及装置
US11146632B2 (en) * 2016-04-26 2021-10-12 Umbra Technologies Ltd. Data beacon pulser(s) powered by information slingshot
CN113395358B (zh) * 2021-08-16 2021-11-05 贝壳找房(北京)科技有限公司 网络请求的执行方法与执行系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059807A (zh) * 2007-01-26 2007-10-24 华中科技大学 一种提高元数据服务可靠性的方法及其系统
CN101079902A (zh) * 2007-06-29 2007-11-28 清华大学 海量数据分级存储方法
CN101163129A (zh) * 2006-10-09 2008-04-16 北京航空航天大学 一种降低并行多数字信号处理器之间消息传递开销的方法
CN101702735A (zh) * 2009-11-24 2010-05-05 恒生电子股份有限公司 一种tcp服务装置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163129A (zh) * 2006-10-09 2008-04-16 北京航空航天大学 一种降低并行多数字信号处理器之间消息传递开销的方法
CN101059807A (zh) * 2007-01-26 2007-10-24 华中科技大学 一种提高元数据服务可靠性的方法及其系统
CN101079902A (zh) * 2007-06-29 2007-11-28 清华大学 海量数据分级存储方法
CN101702735A (zh) * 2009-11-24 2010-05-05 恒生电子股份有限公司 一种tcp服务装置及方法

Also Published As

Publication number Publication date
CN102368711A (zh) 2012-03-07

Similar Documents

Publication Publication Date Title
CN102368711B (zh) 一种面向并行文件系统的通信系统
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
CN1722732B (zh) 节点之间进行通信的方法及系统
CN100382070C (zh) 在群集化计算机系统中的节点之间传输数据的方法和设备
US7957402B2 (en) UDP to TCP bridge
EP0295380B1 (en) Method of disseminating network state information
CN101957808B (zh) 多cpu间的通信方法、系统及cpu
CN102185833B (zh) 一种基于fpga的fc i/o并行处理方法
CN105706388A (zh) 用于减小数据损坏概率的通道错误检测和通道去除机制
CN103141050B (zh) 快速通道互联系统中数据包重传方法、节点
CN102946376B (zh) 一种异步通讯的实现方法
CN101102305A (zh) 管理网络信息处理的系统和方法
CN103248467A (zh) 基于片内连接管理的rdma通信方法
CN1195813A (zh) 由分布式计算机系统的一个硬件元件报告错误的系统
CN108123824A (zh) 一种网络故障检测方法及装置
CN102119510A (zh) 一种多路径网络
CN103957155A (zh) 报文传输方法、装置及互联接口
CN105814828A (zh) 利用隐式确收的高效的链路层重试协议
CN103188059A (zh) 快速通道互联系统中数据包重传方法、装置和系统
CN109313623A (zh) 切换串口数据传输状态的方法及装置
CN101459694B (zh) 针对分布式文件系统的高可用消息传输框架和方法
CN1260654C (zh) 由分布式计算机系统的一个硬件元件报告错误的方法
CN105721235A (zh) 一种检测连通性的方法和装置
CN109327383A (zh) 一种故障处理方法及设备
CN104104596A (zh) 一种irf分裂处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20120307

Assignee: JIANGSU DAWN INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: Dawning Information Industry (Beijing) Co.,Ltd.

Contract record no.: 2017320000013

Denomination of invention: Communication system facing parallel file system

Granted publication date: 20140521

License type: Exclusive License

Record date: 20170217

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
TR01 Transfer of patent right

Effective date of registration: 20220728

Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 100084 Beijing Haidian District City Mill Street No. 64

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right