CN109960671B - 一种数据传输系统、方法及计算机设备 - Google Patents

一种数据传输系统、方法及计算机设备 Download PDF

Info

Publication number
CN109960671B
CN109960671B CN201910254408.4A CN201910254408A CN109960671B CN 109960671 B CN109960671 B CN 109960671B CN 201910254408 A CN201910254408 A CN 201910254408A CN 109960671 B CN109960671 B CN 109960671B
Authority
CN
China
Prior art keywords
data
controller
network card
programmable logic
logic device
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
CN201910254408.4A
Other languages
English (en)
Other versions
CN109960671A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201910254408.4A priority Critical patent/CN109960671B/zh
Publication of CN109960671A publication Critical patent/CN109960671A/zh
Application granted granted Critical
Publication of CN109960671B publication Critical patent/CN109960671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

本申请公开的数据传输系统、方法及计算机设备,提供了一种与现有技术的“普通网卡‑CPU‑FPGA”相区别的“第一网卡‑控制器(具有操作系统且具备数据读写功能)‑可编程逻辑器件”数据传输架构,基于该架构中“控制器与第一网卡及各个可编程逻辑器件直连”的架构特点,可使得控制器对第一网卡及各个可编程逻辑器件的数据读写无需任何的数据中转,相应地不会产生因数据中转而带来的数据缓存,且由于本申请的该架构避免了对系统CPU的使用,相应地也不再受pcie协议规范中“传输数据时需经过内存”的约束,从而,本申请可基于控制器的数据读写功能实现第一网卡与可编程逻辑器件间的数据直传,有效降低了两者间的数据传输延迟。

Description

一种数据传输系统、方法及计算机设备
技术领域
本申请属于计算机技术领域,尤其涉及一种数据传输系统、方法及计算机设备。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列)具有灵活的可编程性、高带宽I/O(Input/Output,输入/输出)吞吐及低数据延迟等优点,在当前的人工智能、运算加速中有着广泛的应用,如广泛应用于数据中心AI(人工智能)推理、金融行业及电信行业的数据库加速等。
其中,将FPGA进行池化以更好的保证FPGA计算资源共享、有效提高FPGA资源利用率,同时不牺牲FPGA的低延迟优点是当前数据中心的一个重要研究方向。请参考图1,在当前的“普通Server+FPGA+普通网卡”结构的数据中心服务器中,通常基于“普通网卡-CPU-FPGA”的数据传输架构、利用系统的CPU(Central Processing Unit,中央处理器)实现网卡与FPGA节点间的数据传输,其中,当运算任务从网卡向FPGA节点传输时,基于pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)协议规范的约束,需由系统CPU首先将任务数据从网卡缓存器拷贝至系统内存,之后进一步将任务数据从系统内存拷贝至FPGA,从而,网卡与FPGA节点间的数据传输过程需要经过两次内存拷贝(从FPGA至网卡的数据传输过程与上述的过程相逆,同样需经过两次内存拷贝),严重增加了数据传输的时间延迟,牺牲了FPGA的低延迟优点。
发明内容
有鉴于此,本申请的目的在于提供一种数据传输系统、方法及计算机设备,以降低网卡与可编程逻辑器件间的数据传输延迟。
为此,本发明公开如下技术方案:
一种数据传输系统,包括:
第一网卡,用于执行与网络之间的数据传输;
至少一个可编程逻辑器件,所述可编程逻辑器件至少用于执行与所述第一网卡之间的数据传输;
具有操作系统且具备数据读写功能的控制器,与所述第一网卡及所述至少一个可编程逻辑器件相连接,用于从所述第一网卡读取数据并将所读取的数据直接写入相应的可编程逻辑器件,和/或用于接收相应可编程逻辑器件的数据并将所接收的数据直接写入所述第一网卡。
上述系统,优选地,其中:
所述第一网卡包括缓存器;
所述第一网卡集成在所述控制器中;
所述控制器包括交换器及具备片上系统的主控芯片,所述操作系统为所述片上系统;
所述主控芯片用于从所述第一网卡的缓存器中读取数据并将所读取的数据通过所述交换器直接写入相应的可编程逻辑器件,和/或用于通过所述交换器接收相应可编程逻辑器件的数据并将所接收的数据直接写入所述第一网卡的缓存器。
上述系统,优选地,还包括:
所述控制器的外围组件,用于为所述控制器的启动及运行提供支持;
所述外围组件包括闪存及至少一个静态随机存取存储器。
上述系统,优选地,所述控制器为具有片上系统的智能网卡。
一种计算机设备,包括如上所述的数据传输系统。
一种数据传输方法,该方法包括:
利用控制器从第一网卡读取数据,并将所读取的数据直接写入至少一个可编程逻辑器件中的相应可编程逻辑器件;
和/或,
利用控制器接收所述至少一个可编程逻辑器件中相应可编程逻辑器件的数据,并将所接收的数据直接写入所述第一网卡;所述控制器具有操作系统且具备数据读写功能。
上述方法,优选地,所述利用控制器从所述第一网卡读取数据,包括:
利用所述控制器中的具备片上系统的主控芯片从所述第一网卡的缓存器中读取数据,所述操作系统为所述片上系统。
上述方法,优选地,所述将所读取的数据直接写入所述至少一个可编程逻辑器件中的相应可编程逻辑器件,包括:
通过所述控制器中的交换器将所读取的数据直接写入所述至少一个可编程逻辑器件中的相应可编程逻辑器件。
上述方法,优选地,所述利用控制器接收至少一个可编程逻辑器件中相应可编程逻辑器件的数据,包括:
利用所述控制器中的具备片上系统的主控芯片通过所述控制器中的交换器接收所述至少一个可编程逻辑器件中相应可编程逻辑器件的数据,所述操作系统为所述片上系统。
上述方法,优选地,所述将所接收的数据直接写入所述第一网卡,包括:
利用所述控制器中的主控芯片将所接收的数据直接写入所述第一网卡的缓存器中。
由以上方案可知,本申请公开的数据传输系统、方法及计算机设备,提供了一种与现有技术的“普通网卡-CPU-FPGA”相区别的“第一网卡-控制器(具有操作系统且具备数据读写功能)-可编程逻辑器件”数据传输架构,即利用一具有操作系统且具备数据读写功能的控制器替代传统数据传输架构中的CPU,基于该架构中“控制器与第一网卡及各个可编程逻辑器件直连”的架构特点,可使得控制器对第一网卡及各个可编程逻辑器件的数据读写无需任何的数据中转,相应地不会产生因数据中转而带来的数据缓存,且由于本申请的该架构避免了对系统CPU的使用,相应地也不再受pcie协议规范中“传输数据时需经过内存”的约束,从而,本申请可基于控制器的数据读写功能实现第一网卡与可编程逻辑器件间的数据直传,有效降低了两者间的数据传输延迟,同时还节省了对系统CPU资源及内存资源的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是现有技术中用于在网卡与可编程逻辑器件之间进行数据传输的数据传输架构的示意图;
图2是本申请实施例提供的数据传输系统的一种结构示意图;
图3是本申请实施例提供的数据传输系统的另一种结构示意图;
图4是本申请实施例提供的数据传输系统的再一种结构示意图;
图5是本申请实施例提供的用于在网卡与可编程逻辑器件之间进行数据传输的数据传输架构的示意图;
图6是本申请实施例提供的数据传输方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了降低网卡与可编程逻辑器件间的数据传输延迟,本申请提供了一种数据传输系统、方法及计算机设备,所述数据传输系统及方法可应用于但不限于个人计算机(笔记本、台式机、一体机)或服务器(局域网/云端服务器)等计算机设备中,以下将通过具体实施例对本申请的数据传输系统、方法及计算机设备进行详细说明。
参考图2,是本申请实施例提供的数据传输系统的结构示意图,如图2所示,本实施例中,该数据传输系统可以包括:
第一网卡21,用于执行与网络之间的数据传输。
网卡是一块被设计用来允许计算机与网络进行通讯的计算机硬件,因此,本申请中,所述第一网卡能够在个人计算机或服务器等计算机设备上执行计算机设备与网络之间的数据传输。
所述第一网卡为非智能化的普通网卡,如可以是但不限于10Mbps、100Mbps、1000Mbps的支持PCI(Peripheral Component Interconnect、外设部件互连标准)或PCIe标准的以太网卡、PCMCIA(Personal Computer Memory Card International Association,PC机内存卡国际联合会)网卡等等。
至少一个可编程逻辑器件22,所述可编程逻辑器件至少用于执行与所述第一网卡之间的数据传输。
所述至少一个可编程逻辑器件可以是但不限于FPGA、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)等具备“逻辑功能可编程”能力的各类器件中的任一种或多种的组合。
FPGA具有灵活的可编程性、高带宽I/O吞吐及低数据延迟等优点,在当前的人工智能、运算加速中有着广泛的应用,可为个人计算机或服务器等计算机设备提供强大的计算资源,针对PFGA的该特点,本实施例将主要以所述至少一个可编程逻辑器件为FPGA为例,对本申请的方案进行阐述,并主要阐述如何实现所述至少一个FPGA与所述第一网卡之间的数据传输。
具有操作系统且具备数据读写功能的控制器23,与所述第一网卡及所述至少一个可编程逻辑器件相连接,用于从所述第一网卡读取数据并将所读取的数据直接写入相应的可编程逻辑器件,和/或用于接收相应可编程逻辑器件的数据并将所接收的数据直接写入所述第一网卡。
为了克服现有技术中的“普通网卡-CPU-FPGA”数据传输架构,在利用CPU进行网卡与FPGA之间的数据传输时,因需经过两次内存拷贝而导致数据传输延迟高的缺陷,本申请提出了一种不再借助CPU在网卡与可编程逻辑器件之间进行数据传输的架构。
如图2所示,在本申请提出的数据传输架构中,利用一具有操作系统且具备数据读写功能的控制器替代传统架构中的CPU,并将所述第一网卡以及所述至少一个可编程逻辑器件与所述控制器进行直连(即采用数据线直接连接,不借助任何的中转设备)。
由于所述控制器具备操作系统及数据读写功能,从而为控制器对第一网卡以及所述至少一个可编程逻辑器件的数据读写提供了支持,进而为利用控制器的数据读写功能在所述第一网卡与所述至少一个可编程逻辑器件之间进行数据传输提供了支持;且由于所述控制器与所述第一网卡以及所述至少一个可编程逻辑器件之间为直连模式,从而在控制器基于其数据读写功能对第一网卡以及所述至少一个可编程逻辑器件进行数据读写时,无需任何的数据终端,相应消除了数据读写过程中由于中转而产生缓存的可能,从而进一步为“第一网卡与可编程逻辑器件之间的数据直传”提供了支持。
由以上方案可知,本实施例公开的数据传输系统,提供了一种与现有技术的“普通网卡-CPU-FPGA”相区别的“第一网卡-控制器(具有操作系统且具备数据读写功能)-可编程逻辑器件”数据传输架构,即利用一具有操作系统且具备数据读写功能的控制器替代传统数据传输架构中的CPU,基于该架构中“控制器与第一网卡及各个可编程逻辑器件直连”的架构特点,可使得控制器对第一网卡及各个可编程逻辑器件的数据读写无需任何的数据中转,相应地不会产生因数据中转而带来的数据缓存,且由于本申请的该架构避免了对系统CPU的使用,相应地也不再受pcie协议规范中“传输数据时需经过内存”的约束,从而,本申请可基于控制器的数据读写功能实现第一网卡与可编程逻辑器件间的数据直传,有效降低了两者间的数据传输延迟,同时还节省了对系统CPU资源及内存资源的占用。
在本申请一可选的实施例中,参考图3示出的数据传输系统的结构示意图,所述第一网卡集成在所述控制器中,即,所述第一网卡不再是一个独立网卡而是作为所述控制器的一部分,这可以为控制器对第一网卡进行数据读写操作提供极大的方便,数据的读写更为灵活,无需任何的中转与缓存。
所述第一网卡包括缓存器211,该缓存器用于在第一网卡执行与网络间的数据收、发或者执行与所述至少一个可编程逻辑器件间的数据收、发时,为所接收的数据和/或待发送的数据提供数据缓存功能。
所述控制器包括交换器231及具有片上系统(SoC,System-on-a-chip)的主控芯片232,其中,所述控制器的操作系统即可以为所述片上系统,具体地,该片上系统可以是但不限于基于ARM的嵌入式Linux操作系统。
所述交换器可以是但不限于符合PCI/PCIe规范的交换器,示例性地,比如可以是PCIe Switch等。
基于控制器的上述组成结构,当需要从所述第一网卡向所述至少一个可编程逻辑器件中的一个或多个器件传输数据时,可由所述控制器的主控芯片基于其片上系统从所述第一网卡的缓存器中读取数据,并将所读取的数据通过所述交换器直接写入相应的可编程逻辑器件;相类似地,当需要从所述至少一个可编程逻辑器件中的一个或多个器件向所述第一网卡传输数据时,可由所述控制器的主控芯片基于其片上系统通过所述交换器接收相应可编程逻辑器件的数据,并将所接收的数据直接写入所述第一网卡的缓存器。
基于本实施例方案,通过利用一具有操作系统且具备数据读写功能的控制器替代传统数据传输架构中的CPU,可实现第一网卡与至少一个可编程逻辑器件间的数据直传,避免了对计算机设备中CPU资源的使用,在数据传输过程中无需执行内存拷贝操作,有效降低了第一网卡与至少一个可编程逻辑器件间的数据传输延迟,同时还节省了对系统CPU及内存资源的占用。
在本申请一可选的实施例中,参考图4示出的数据传输系统的结构示意图,所述控制器还可以包括:用于为所述控制器的启动及运行提供支持的外围组件233,所述外围组件可以包括但不限于闪存(flash)及至少一个静态随机存取存储器(SRAM,Static Random-Access Memory)。
在具体实施本申请时,可在所述闪存以及所述至少一个静态随机存取存储器中预先存放控制器的启动与运行所需的相关系统文件,如具体存放基于ARM的嵌入式Linux操作系统的相关系统文件等,以确保控制器的片上系统能够正常启动与运行,进而保障控制器能够执行第一网卡与至少一个可编程逻辑器件之间的正常数据传输。
在本申请一可选的实施例中,所述控制器可以是具备片上系统的智能网卡(SmartNIC),所述第一网卡集成在所述智能网卡中,所述智能网卡包括具有片上系统的主控芯片以及符合PCIe规范的交换器。
其中,智能网卡可以支持PCI/PCIe的根复合体(root complex)功能,能够作为PCI/PCIe的Host主机、对具备PCI/PCIe接口的终端器件进行数据读写及处理。
鉴于此,本实施例中,当所述控制器为具备片上系统的智能网卡时,所述至少一个可编程逻辑器件相对应地为具备PCI/PCIe接口的可编程逻辑器件,图5提供了当所述控制器采用智能网卡、所述至少一个可编程逻辑器件为具备PCIe接口的FPGA时,本申请的数据传输系统的架构示例图。
基于图5示出的该架构,可以利用智能网卡的主控芯片并通过智能网卡的交换器,将任务数据(业务数据)从第一网卡的缓存器直接传输到至少一个FPGA的存储空间,还可以通过智能网卡的交换器将任务数据(业务数据)从至少一个FPGA直接传输到第一网卡的缓存器,避免了对CPU的使用,不受Pcie规范中“传输数据时需经过内存”的这一约束,无需进过内存拷贝,有效降低了第一网卡与至少一个可编程逻辑器件之间的数据传输延迟,同时还节省了对系统CPU资源及内存资源的占用。
另外,在数据传输系统包括多个如FPGA等可编程逻辑器件的情况下,可基于控制器所具备的功能,如具备的“支持PCI/PCIe的根复合体功能,能够作为PCI/PCIe的Host主机对具备PCI/PCIe接口的终端器件进行数据读写及处理”等功能,以及基于控制器与各个可编程逻辑器件之间的直连连接结构(可使得将各个可编程逻辑器件设计为同等级别的数据处理器件以支持对其进行池化),实现了一种基于具备片上系统的控制器对所述多个可编程逻辑器件进行池化的池化方案,相比于现有技术中基于CPU的可编程逻辑器件池化方案(如图1所示的架构),本申请由于无需对系统CPU以及内存资源进行占用,从而降低了可编程逻辑器件池化服务器的开发成本。
本申请实施例还公开了一种计算机设备,该计算机设备可以是但不限于包括上述的数据传输系统的个人计算机或服务器等设备,优选地,该计算机设备可以是人工智能、运算加速等服务的数据中心服务器。
其中,关于所述数据传输系统的具体说明请参阅上文中各实施例的描述,这里,不再对数据传输系统的组成结构以及各组成部分的功能进行赘述。
所述计算机设备在其包括的所述数据传输系统中,通过利用一具有操作系统且具备数据读写功能的控制器替代传统数据传输架构中的CPU,可实现第一网卡与至少一个可编程逻辑器件间的数据直传,避免了对计算机设备中CPU资源的使用,在数据传输过程中无需执行内存拷贝操作,有效降低了第一网卡与至少一个可编程逻辑器件间的数据传输延迟,同时还节省了对系统CPU及内存资源的占用。
另外,在所述计算机设备的数据传输系统包括多个如FPGA等可编程逻辑器件的情况下,可基于所述控制器所具备的功能,如具备的“支持PCI/PCIe的根复合体功能,能够作为PCI/PCIe的Host主机对具备PCI/PCIe接口的终端器件进行数据读写及处理”等功能,以及基于控制器与各个可编程逻辑器件之间的直连连接结构(可使得将各个可编程逻辑器件设计为同等级别的数据处理器件以支持对其进行池化),实现了一种基于具备片上系统的控制器对所述多个可编程逻辑器件进行池化的池化方案,相比于现有技术中基于CPU的可编程逻辑器件池化方案(如图1所示的架构),本申请由于无需对系统CPU以及内存资源进行占用,从而降低了可编程逻辑器件池化服务器的开发成本。
本申请实施例还公开了一种数据传输方法,该方法可应用于上述的数据传输系统或计算机设备中,参考图6示出的数据传输方法的流程示意图,该方法可以包括以下处理步骤:
步骤601、利用控制器从第一网卡读取数据,并将所读取的数据直接写入至少一个可编程逻辑器件中的相应可编程逻辑器件;
和/或,
步骤602、利用控制器接收所述至少一个可编程逻辑器件中相应可编程逻辑器件的数据,并将所接收的数据直接写入所述第一网卡。
其中,如上文所述,所述第一网卡为非智能化的普通网卡,所述第一网卡包括缓存器,该缓存器能够在第一网卡执行与网络间的数据收、发或者执行与所述至少一个可编程逻辑器件间的数据收、发时,为所接收的数据和/或待发送的数据提供数据缓存功能。
所述第一网卡可以集成在所述控制器中。
所述至少一个可编程逻辑器件可以是但不限于FPGA、CPLD等具备“逻辑功能可编程”能力的各类器件中的任一种或多种的组合。
所述控制器具备具有操作系统且具备数据读写功能。
进一步地,所述控制器可以包括具备片上系统的主控芯片以及交换器,所述操作系统即可以是所述片上系统,示例性地,可以是但不限于基于ARM的嵌入式Linux操作系统;所述交换器可以是但不限于符合PCI/PCIe标准的交换器,如PCIe Swicth等。
可选地,所述控制器具体可以是具备片上系统的智能网卡。
其中,可对应参考图1-图5示出的数据传输系统的组成结构示意图,所述控制器与所述至少一个可编程逻辑器件通过数据线直接连接。
在本实施例的数据传输方法中,当需要从第一网卡向至少一个可编程逻辑器件中的一个或多个器件传输数据时,可由所述控制器的主控芯片基于其片上系统从所述第一网卡的缓存器中读取数据,并将所读取的数据通过所述交换器直接写入相应的可编程逻辑器件;相类似地,当需要从所述至少一个可编程逻辑器件中的一个或多个器件向所述第一网卡传输数据时,可由所述控制器的主控芯片基于其片上系统通过所述交换器接收相应可编程逻辑器件的数据,并将所接收的数据直接写入所述第一网卡的缓存器。
由此可见,本实施例的数据传输方法,提供了一种与现有技术的“普通网卡-CPU-FPGA”相区别的“第一网卡-控制器(包括第一网卡)-可编程逻辑器件”数据传输架构,即利用一具有操作系统且具备数据读写功能的控制器替代传统数据传输架构中的CPU,基于该架构中“第一网卡集成在控制器内部、且控制器与各个可编程逻辑器件直连”的架构特点,可实现在控制器提供“在第一网卡与可编程逻辑器件之间进行数据直传”的能力,且由于本申请的该架构避免了对系统CPU的使用,相应地也不再受pcie协议规范中“传输数据时需经过内存”的约束,从而,本申请可实现第一网卡与可编程逻辑器件间的数据直传,有效降低了两者间的数据传输延迟,同时还节省了对系统CPU资源及内存资源的占用。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种数据传输系统,包括:
第一网卡,用于执行与网络之间的数据传输;所述第一网卡包括缓存器;
至少一个可编程逻辑器件,所述可编程逻辑器件至少用于执行与所述第一网卡之间的数据传输;
具有操作系统且具备数据读写功能的控制器,与所述第一网卡及所述至少一个可编程逻辑器件相连接,所述控制器用于基于与所述第一网卡之间的直连连接结构从所述第一网卡的缓存器读取数据并将所读取的数据直接传输写入相应的可编程逻辑器件的存储空间,和/或用于基于与相应可编程逻辑器件之间的直连连接结构接收相应可编程逻辑器件存储空间的数据并将所接收的数据直接写入所述第一网卡的缓存器,以借助所述控制器的数据读写功能在所述第一网卡与至少一个可编程逻辑器件之间进行数据直传;所述控制器为具有片上系统的智能网卡。
2.根据权利要求1所述的系统,其中:
所述第一网卡集成在所述控制器中;
所述控制器包括交换器及具备片上系统的主控芯片;
所述主控芯片用于从所述第一网卡的缓存器中读取数据并将所读取的数据通过所述交换器写入相应的可编程逻辑器件,和/或用于通过所述交换器接收相应可编程逻辑器件的数据并将所接收的数据写入所述第一网卡的缓存器。
3.根据权利要求2所述的系统,还包括:
所述控制器的外围组件,用于为所述控制器的启动及运行提供支持;
所述外围组件包括闪存及至少一个静态随机存取存储器。
4.一种计算机设备,包括如权利要求1-3任一项所述的数据传输系统。
5.一种数据传输方法,该方法包括:
利用控制器基于所述控制器与第一网卡之间的直连连接结构从第一网卡的缓存器读取数据,并将所读取的数据直接传输写入至少一个可编程逻辑器件中的相应可编程逻辑器件的存储空间;
和/或,
利用控制器基于所述控制器与至少一个可编程逻辑器件之间的直连连接结构接收所述至少一个可编程逻辑器件中相应可编程逻辑器件存储空间的数据,并将所接收的数据直接写入所述第一网卡的缓存器,以借助所述控制器的数据读写功能在所述第一网卡与至少一个可编程逻辑器件之间进行数据直传;所述控制器具有操作系统且具备数据读写功能;所述控制器为具有片上系统的智能网卡。
6.根据权利要求5所述的方法,所述利用控制器从所述第一网卡读取数据,包括:
利用所述控制器中的具备片上系统的主控芯片从所述第一网卡的缓存器中读取数据。
7.根据权利要求6所述的方法,所述将所读取的数据直接写入所述至少一个可编程逻辑器件中的相应可编程逻辑器件,包括:
通过所述控制器中的交换器将所读取的数据直接写入所述至少一个可编程逻辑器件中的相应可编程逻辑器件。
8.根据权利要求5所述的方法,所述利用控制器接收至少一个可编程逻辑器件中相应可编程逻辑器件的数据,包括:
利用所述控制器中的具备片上系统的主控芯片通过所述控制器中的交换器接收所述至少一个可编程逻辑器件中相应可编程逻辑器件的数据。
9.根据权利要求8所述的方法,所述将所接收的数据直接写入所述第一网卡,包括:
利用所述控制器中的主控芯片将所接收的数据直接写入所述第一网卡的缓存器中。
CN201910254408.4A 2019-03-31 2019-03-31 一种数据传输系统、方法及计算机设备 Active CN109960671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910254408.4A CN109960671B (zh) 2019-03-31 2019-03-31 一种数据传输系统、方法及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910254408.4A CN109960671B (zh) 2019-03-31 2019-03-31 一种数据传输系统、方法及计算机设备

Publications (2)

Publication Number Publication Date
CN109960671A CN109960671A (zh) 2019-07-02
CN109960671B true CN109960671B (zh) 2021-07-16

Family

ID=67025401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910254408.4A Active CN109960671B (zh) 2019-03-31 2019-03-31 一种数据传输系统、方法及计算机设备

Country Status (1)

Country Link
CN (1) CN109960671B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688072B (zh) 2020-05-19 2024-03-26 华为技术有限公司 数据处理方法及设备
CN111541784B (zh) 2020-07-08 2021-07-20 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易处理方法及装置
CN112492002B (zh) 2020-07-08 2023-01-20 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易转发方法及装置
CN111541726B (zh) * 2020-07-08 2021-05-18 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的重放交易识别方法及装置
CN111539829B (zh) 2020-07-08 2020-12-29 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的待过滤交易识别方法及装置
CN111541789A (zh) 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的数据同步方法及装置
CN114861425B (zh) * 2022-04-25 2023-02-28 南方电网科学研究院有限责任公司 电网仿真的数据通信时间计算方法、系统及中央处理器
CN116775542B (zh) * 2023-08-22 2023-11-03 成都芯脉微电子有限责任公司 一种ai芯片、系统及数据处理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090198483A1 (en) * 2008-02-06 2009-08-06 Sezen Uysal Apparatus and method for network emulation by using hardware accelerated network interface cards
CN102546582A (zh) * 2010-12-30 2012-07-04 中国科学院声学研究所 一种提高嵌入式数据传输系统传输速率的方法及系统
CN103475493A (zh) * 2013-09-29 2013-12-25 武汉希文科技股份有限公司 多网口智能网卡及数据处理方法
US9860258B1 (en) * 2015-07-01 2018-01-02 The United States Of America As Represented By The Secretary Of The Air Force Host-based, network enabled, integrated remote interrogation system
CN106815157A (zh) * 2016-12-20 2017-06-09 北京旋极信息技术股份有限公司 一种数据采集模块及数据采集系统
CN108712293B (zh) * 2018-05-30 2021-12-07 新华三技术有限公司 单板管理方法及网络设备
CN108989317A (zh) * 2018-07-26 2018-12-11 浪潮(北京)电子信息产业有限公司 一种基于FPGA的RoCE网卡数据传输方法及网卡

Also Published As

Publication number Publication date
CN109960671A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
CN109960671B (zh) 一种数据传输系统、方法及计算机设备
EP3748510A1 (en) Network interface for data transport in heterogeneous computing environments
CN105740195B (zh) Or链式总线的增强数据总线反转编码的方法和装置
US10642777B2 (en) System and method for maximizing bandwidth of PCI express peer-to-peer (P2P) connection
CN110191194B (zh) 一种基于rdma网络的分布式文件系统数据传输方法和系统
US10671556B2 (en) Selectable peripheral logic in programmable apparatus
EP3410304B1 (en) Multislot link layer flit
US10725957B1 (en) Uniform memory access architecture
US20130151747A1 (en) Co-processing acceleration method, apparatus, and system
CN105260331A (zh) 一种双总线内存控制器
US7908497B2 (en) Communication bus power state management
WO2015024491A2 (en) Enhanced data transfer in multi-cpu systems
CN109947390B (zh) 缓冲器系统及其操作方法
US20190042240A1 (en) System, Apparatus And Method For Providing A Fabric For An Accelerator
CN112819145A (zh) 芯片、神经网络训练系统、内存管理方法及装置、设备
EP4053709A1 (en) Multi-chip interconnection system based on pcie bus
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
CN114238156A (zh) 处理系统以及操作处理系统的方法
CN111611068A (zh) 分布式系统中的数据写方法、服务器及客户端
US20220019459A1 (en) Controlled early response in master-slave systems
CN115904253B (zh) 一种数据传输方法、装置、一种存储系统及设备和介质
CN115473861B (zh) 基于通信与计算分离的高性能处理系统和方法、存储介质
WO2022193108A1 (zh) 一种集成芯片及数据搬运方法
CN118113496A (zh) 一种基于多核异构soc的进程间通信方法、系统及芯片
CN115905036A (zh) 一种数据访问系统、方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant