[发明专利]一种节点之间的数据传输系统和装置及方法有效
申请号: | 200710177879.7 | 申请日: | 2007-11-21 |
公开(公告)号: | CN101158936A | 公开(公告)日: | 2008-04-09 |
发明(设计)人: | 马捷;苗艳超;张翔 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F15/167 | 分类号: | G06F15/167;G06F15/163;H04L29/06 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;陈振 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节点 之间 数据传输 系统 装置 方法 | ||
技术领域
本发明涉及计算机网络通信技术,特别涉及在非一致内存访问(NonUniform Memory Access Architecture,NUMA)平台中节点之间数据传输的系统、装置和方法。
背景技术
现有技术中,在非一致内存访问(NUMA)平台上的各个多核处理器或者多个处理器上运行的操作系统之间,通常有两种数据传输方式:一种是通过共享内存,采用内存拷贝的方式来实现数据传输;另一种是通过消息传递的方式,采用基于通信硬件的通信方式传输数据。
目前最常用的是采用消息传递的方式,它是基于通信硬件(比如硬件网卡)来传输数据的。这种通信方式的数据传输过程为:发送方将待传送的消息经过直接内存存取(Direct Memory Access,DMA)从内存拷贝到硬件网卡缓冲区,再经过通信硬件网络传输到接收方的硬件网卡缓冲区,再由接收方从接收方硬件缓冲区将消息拷贝到内存。可见,上述传统的消息传递方式传输数据的一个不足是通信过程繁琐。
同时,由于传统的消息传递方式在传输数据时系统节点要访问慢速的外部总线(如PCI总线上的硬件网卡),使得通信速度较慢。现有技术的另一方面不足是,通信数据经过基于硬件的通信网络的传输,其可靠性较低。
发明内容
本发明的目的是克服现有技术在非一致内存访问平台上的各节点之间以消息传递方式传输数据必须通过硬件网卡,从而导致传输速度较慢的不足,提供在非一致内存访问平台中的节点之间以消息传递方式进行数据传输,并且传输速度快的数据传输系统和装置及方法。
为了达到上述目的,本发明采取如下技术方案:
一种节点之间的数据传输系统,用于基于非一致内存访问平台上的至少两个节点之间数据传输,所述节点包括至少一个处理器核和/或至少一个处理器、操作系统和操作系统中的协议栈;所述节点还包括与所述协议栈连接的数据传输装置;所述数据传输装置包括:
用于在内存中划分出共享通信缓冲区及共享通信缓冲区控制区,并将所述共享通信缓冲区的位置和大小公告给其它节点的共享通信缓冲区分配模块;
用于节点之间通过共享通信缓冲区进行消息传递的底层通信模块,所述底层通信模块控制所述共享通信缓冲区和所述共享通信缓冲区控制区;和
将所述底层通信模块模拟为网卡并与节点的协议栈连接的虚拟网卡。
优选地,所述公告包括通过在一个节点所管理的内存中建立一个公告区,所有所述节点将所述共享通信缓冲区的位置和大小在所述公告区公告。
优选地,所有所述节点的所述共享通信缓冲区都集中在其中一个节点上进行管理。
优选地,所有所述节点的所述共享通信缓冲区分布在各自节点上进行管理。
优选地,所述协议栈是TCP/IP协议栈。
优选地,所述底层通信模块包括:
共享通信缓冲区管理模块,用于在所述共享通信缓冲区中为其他节点分别分配一个缓冲部分,并将所述缓冲部分的位置和大小进行公告,还用于监控所述共享通信缓冲区的状态并将其状态记录在所述共享通信缓冲区控制区中;
端口地址映射模块,用于将消息传输的接收方节点号映射到所述共享通信缓冲区的所述缓冲部分并在所述缓冲部分中寻找消息传输位置;
消息传递模块,用于在传输消息时从所述共享通信缓冲区的缓冲部分中完成消息发送和消息接收。
优选地,共享通信缓冲区管理模块采用如下流控方法:当共享通信缓冲区的相应缓冲部分满,消息发送请求失败时,共享通信缓冲区管理模块将阻止继续产生消息传输事件,直到检查到共享通信缓冲区的相应缓冲部分是不满才重新启动消息传输。
优选地,所述消息传递模块在每个消息发送后立即进行完成操作。
优选地,所述消息传递模块使用流水的消息复制方法,使多个消息的发送和接收操作并行进行。
优选地,所述消息传递模块在发送消息时将消息传递到接收方的共享通信缓冲区中,在接收消息时将消息从接收方的共享通信缓冲区中取出。
优选地,所述消息传递模块在发送消息时将消息传递到发送方的共享通信缓冲区中,在接收消息时将消息从发送方的共享通信缓冲区中取出。
优选地,所述底层通信模块还包括消息探询模块,用于探询所述共享通信缓冲区中是否有新的消息到达,如果有新消息到达则通知协议栈接收消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710177879.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:重病患者护理床
- 下一篇:一种东方百合组织培养脱毒的方法