您现在的位置: 首页 > 技术转让 > 多计算机系统中节点的DMA设备及通信方法
多计算机系统中节点的DMA设备及通信方法

多计算机系统中节点的DMA设备及通信方法

  • 专利类型:发明专利
  • 有效期:不限
  • 发布日期:2021-07-15
  • 技术成熟度:详情咨询
交易价格: ¥面议
  • 法律状态核实
  • 签署交易协议
  • 代办官方过户
  • 交易成功

专利推荐

  • 技术(专利)类型 发明专利
  • 申请号/专利号 CN200910083454.9 
  • 技术(专利)名称 多计算机系统中节点的DMA设备及通信方法 
  • 项目单位 中国科学院计算技术研究所
  • 发明人 王凯;胡涛;曹政;安学军;孙凝晖 
  • 行业类别 物理
  • 技术成熟度 详情咨询
  • 交易价格 ¥面议
  • 联系人 李志文
  • 发布时间 2021-07-15  
  • 01

    项目简介

    本发明涉及多计算机系统中节点的DMA设备及通信方法,方法包括:步骤1,本地节点根据应用程序生成DMA命令,将DMA命令的描述符存储到内存中,将包含DMA命令的描述符内存位置信息的门铃传送给本地节点;步骤2,本地节点根据门铃读取描述符;根据描述符中信息生成网络包发送到互连网络和生成发送完成事件,或仅生成发送完成事件;步骤3,远端节点的DMA设备从互连网络上接收网络包,根据网络包的类型保存网络包中数据和生成接收完成事件,或仅生成接收完成事件,或将所述远端节点的数据装入网络包发送给所述本地节点。本发明能够提供多计算机系统中节点的信息传输方式,同时保证多计算机系统的高效通信。
    展开
  • 02

    说明书


    1.一种多计算机系统中节点的通信方法,其特征在于,所述方法包括:步骤1,本地节点的通信库软件根据应用程序生成DMA命令,将所述DMA命令的描述符存储到内存中,将包含所述DMA命令的描述符内存位置信息的门铃传送给本地节点的DMA设备;步骤2,本地节点的DMA设备根据所述门铃读取所述描述符;根据所述描述符中信息,将网络包发送到互连网络并在发送完成后生成发送完成事件,或不生成网络包仅生成发送完成事件;步骤3,远端节点的DMA设备从互连网络上接收网络包,根据所述网络包的类型,仅在接收完成后生成接收完成事件,或保存所述网络包中数据并在接收完成后生成接收完成事件,或将所述远端节点的数据装入网络包发送给所述本地节点。
    2.如权利要求1所述的多计算机系统中节点的通信方法,其特征在于,所述DMA设备支持通道,所述步骤1前还包括,步骤21,在处理器I/O地址空间上映射用于接收所述门铃的命令窗口。
    3.如权利要求2所述的多计算机系统中节点的通信方法,其特征在于,所述命令窗口的大小与所述DMA设备支持的通道数成正比。
    4.如权利要求2所述的多计算机系统中节点的通信方法,其特征在于,所述步骤21还包括:步骤41,为所述DMA设备支持的每个通道在内存中分配用于暂存DMA命令的发送完成事件的发送完成事件缓冲区、用于暂存DMA命令的接收完成事件的接收完成事件缓冲区和用于暂存DMA设备接收到的NAP网络包中数据的DMA数据接收缓冲区。
    5.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,所述DMA命令为NAP立即数命令或NAP间接数命令,所述步骤2进一步为:步骤51,根据所述描述符获得待传输的数据,DMA设备将所述描述符中与接收相关的信息和所述数据封装成一个NAP网络包,发送到互连网络;步骤52,在所述NAP网络包发送到互连网络上后,根据所述描述符中与发送完成事件相关的信息,确定是否生成发送完成事件,并发送给所述本地 节点。
    6.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,所述DMA命令为RDMA put命令,所述步骤2进一步为:步骤61,根据所述描述符读取内存中待传输的数据,DMA设备将所述描述符中与接收相关的信息和所述数据封装成一个或多个RDMA put网络包,发送到互连网络;步骤62,在全部所述RDMA put网络包发送到互连网络上后,根据所述描述符中与发送完成事件相关的信息,确定是否生成发送完成事件,并发送给所述本地节点。
    7.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,所述DMA命令为RDMA get命令,所述步骤2进一步为:步骤71,将所述RDMA get命令封装为一个RDMA get网络包,发送到互连网络;步骤72,在所述RDMA get网络包发送到互连网络上后,根据所述描述符中与发送完成事件相关的信息,确定是否生成发送完成事件,并发送给所述本地节点。
    8.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,所述DMA命令为Fence命令,所述步骤2进一步为:步骤81,生成所述Fence命令对应的网络包,发送到互连网络,并且不生成发送完成事件。
    9.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,所述DMA命令为Flush命令,所述步骤2进一步为:步骤91,不生成网络包,直接生成发送完成事件。
    10.如权利要求5所述的多计算机系统中节点的通信方法,其特征在于,所述步骤3进一步为,步骤101,根据所述网络包中保存的与接收相关的信息将网络包中的数 据写入对应通道的DMA数据接收缓存区中;步骤102,在所述网络包中的全部数据已经写入接收缓存区中后,在所述网络包中保存的信息指示需要生成接收完成事件时,生成接收完成事件。
    11.如权利要求6所述的多计算机系统中节点的通信方法,其特征在于,所述步骤3进一步为,步骤111,根据所述RDMA put网络包中保存的用于接收的内存空间的首地址和长度的信息将所述数据包中的数据写入对应的内存空间;步骤112,在标记为尾包的RDMA put网络包中的全部数据已经写入内存中,并且所述网络包中保存的信息指示需要生成接收完成事件时,生成接收完成事件。
    12.如权利要求7所述的多计算机系统中节点的通信方法,其特征在于,所述步骤3进一步为,步骤121,根据所述网络包中信息读取所述远端节点内存中待传输的数据,将所述数据封装成一个或多个RDMA put网络包,发送给所述本地节点。
    13.如权利要求8所述的多计算机系统中节点的通信方法,其特征在于,所述步骤3进一步为,步骤131,接收完所述网络包后,直接生成接收完成事件。
    14.一种多计算机系统中节点的DMA设备,DMA设备包括用于连接所述DMA设备和互连网络的交换机接口模块和用于连接所述DMA设备和所述节点的处理器和内存的系统总线接口模块,其特征在于,DMA设备还包括:DMA启动模块,用于接收包含DMA命令的描述符的内存位置信息的门铃,将所述门铃传给描述符读取模块,启动一次DMA传输;所述描述符读取模块,用于根据所述门铃中信息读取所述描述符,以使数据读取模块、DMA发送引擎模块和DMA发送完成通知模块获得所述描述符;所述数据读取模块,用于获得当前操作相关的描述符,根据所述描述符读取内存中待传输的数据,以使DMA发送引擎模块获得所述数据;所述DMA发送引擎模块,用于获得当前操作相关的描述符,按照所述描述符中信息生成网络包,并将所述网络包发送到互连网络;所述DMA发送完成通知模块,用于获得当前操作相关的描述符,根据所述描述符进行生成发送完成事件和/或发送完成中断的操作; DMA接收引擎模块,用于从互连网络上接收网络包,根据所述网络包的类型进行保存所述网络包中数据的操作,并在在所述网络包中DMA命令指示从所述DMA设备所在节点提取数据时,以所述网络包中描述符为当前操作相关的描述符,启动所述数据读取模块;DMA接收完成通知模块,用于根据所述描述符进行生成接收完成事件和/或接收完成中断的操作。
    15.如权利要求14所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA设备支持多个通道。
    16.如权利要求15所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA启动模块包括门铃缓冲区,所述DMA启动模块进一步用于接收所述门铃,如果所述DMA设备的描述符读取模块处于空闲状态,则将所述门铃传给所述描述符读取模块以启动一次DMA传输,如果所述DMA设备的描述符读取模块处于工作状态,则将所述门铃暂存到所述门铃缓冲区,等到DMA设备的描述符读取模块处于空闲时,将所述门铃传给所述描述符读取模块以启动一次DMA传输。
    17.如权利要求16所述的多计算机系统中节点的DMA设备,其特征在于,所述描述符读取模块包括描述符缓冲区,所述描述符读取模块进一步用于接收所述门铃,按所述门铃信息从内存中读取所述描述符,将所述描述符存储到所述描述符缓冲区以供所述数据读取模块、所述DMA发送引擎模块和所述DMA发送完成通知模块使用时读取。
    18.如权利要求17所述的多计算机系统中节点的DMA设备,其特征在于,所述数据读取模块包括数据缓冲区,所述数据读取模块进一步用于获得当前操作相关的描述符,在需要传输数据时,根据所述描述符中信息从内存中读取所述待传输的数据,将所述数据存储到所述数据缓冲区以供所述DMA发送引擎模块读取。
    19.如权利要求18所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA发送引擎模块进一步用于获得当前操作相关的描述符,并在需要传输数据时,读取所述数据缓冲区,获得所述待传输的数据,生成网络包发送到互连网络;在不需要传输数据时,直接生成网络包发送到互连网络。
    20.如权利要求19所述的多计算机系统中节点的DMA设备,其特征在于, 所述DMA发送引擎模块还包括网络包缓冲区,所述DMA发送引擎模块还用于在互连网络无法接收网络包时,将整个或部分所述网络包缓存到网络包缓冲区。
    21.如权利要求19所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA发送完成通知模块,用于获得当前操作相关的描述符,根据所述描述符的信息,确定是否需要生成发送完成事件和/或发送完成中断,如果需要生成发送完成事件,则在一次DMA发送操作完成后,根据描述符信息生成相应的发送完成事件并将所述发送完成事件写入对应通道的发送完成事件缓冲区;如果需要生成发送完成中断,则在一次DMA发送操作完成后,根据描述符生成相应的发送完成中断。
    22.如权利要求21所述的多计算机系统中节点的DMA设备,其特征在于,DMA接收引擎模块进一步用于从互连网络上接收网络包,并在所述网络包中包含数据时根据所述网络包的类型选择将所述网络包中的数据通过写内存命令写入所述网络包指定的内存空间或者写入对应通道的DMA数据接收缓冲区。
    23.如权利要求22所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA接收引擎模块还包括写内存命令缓冲区;所述DMA接收引擎模块还用于在总线忙碌时将所述写内存命令缓存到所述写内存命令缓冲区。
    24.如权利要求22所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA接收完成通知模块进一步用于根据所述网络包中的控制信息,确定是否需要生成接收完成事件和/或接收完成中断,如果需要生成接收完成事件,则在一次DMA接收操作完成后,根据网络包中控制信息生成相应的接收完成事件并写入对应通道的接收完成事件缓冲区;如果需要生成接收完成中断,则在一次DMA接收操作完成后,根据网络包中的相关信息生成相应的接收完成中断。
    25.如权利要求24所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA设备还包括DMA接收缓冲区管理模块,用于为DMA设备支持的每个通道分配多个用以记录所述通道的接收完成事件缓冲区和DMA数据接收缓冲区的状态信息的寄存器,以管理所述通道的接收完成事件缓冲区和DMA 数据接收缓冲区。
    26.如权利要求25所述的多计算机系统中节点的DMA设备,其特征在于,所述DMA设备支持的DMA命令包括:NAP立即数命令、NAP间接数命令、RDMA get命令、RDMA put命令、Flush命令和Fence命令。 
    展开

专利技术附图

< >

服务流程

过户资料

  • 买卖双方需提供资料
  • 平台提供
  • 过户后您将获得
  • 买家
  • 卖家
  • 公司
  • 企业营业执照
  • 企业营业执照

    专利注册证原件

  • 个人
  • 身份证

    个体户营业执照

  • 身份证

    专利注册证原件

  • 专利代理委托书

    转让申请书

    转让协议

  • 手续合格通知书

    专利证书

    专利利登记簿副本

安全保障

  • 品类齐全

    海量资源库,平台整合几十万闲置资源。
  • 交易保障

    完善的资金保障体系确保买卖双方资金安全。
  • 专人跟进

    专业交易顾问全程服跟进,确保交易流畅。
  • 快速响应

    专业在线/电话客服服务,快速响应贴心服务。
  • 售后无忧

    资质过硬,国内大知识产权服务平台。

在线客服

在线咨询

010-83278899

返回顶部