CN114490458B - 数据传输方法、芯片、服务器以及存储介质 - Google Patents
数据传输方法、芯片、服务器以及存储介质 Download PDFInfo
- Publication number
- CN114490458B CN114490458B CN202111676652.3A CN202111676652A CN114490458B CN 114490458 B CN114490458 B CN 114490458B CN 202111676652 A CN202111676652 A CN 202111676652A CN 114490458 B CN114490458 B CN 114490458B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- target
- data transmission
- message
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 252
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 abstract description 29
- 238000010586 diagram Methods 0.000 description 9
- 238000004220 aggregation Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据传输方法、芯片、服务器以及存储介质,属于计算机技术领域。该方法包括:数据传输芯片的输入输出接口包括消息传输模块和数据传输模块,并且该消息传输模块和数据传输模块为单向交换节点。通过计算模块将数据获取消息通过消息传输模块发送至内存模块;通过内存模块基于数据获取消息确定目标数据;通过内存模块将目标数据通过数据传输模块发送至计算模块。这样,通过将输入输出接口中的消息传输和数据传输相分离,并采用单向交换节点分别进行数据传输,能够提高内存宽带的利用率,一定程度上降低了内存宽带对算法性能的限制,数据传输效率较高,提高了整体的系统性能。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种数据传输方法、芯片、服务器以及存储介质。
背景技术
随着计算机技术的不断发展,越来越多的计算机算法也逐渐广泛应用于用户的工作和生活中。对于大多数内存密集型算法(memory-hard function)而言,其算法的基本原理为随机从内存读取大量数据进行计算,并返回相应的计算结果。
现有技术中针对内存密集型算法的数据传输方式往往是计算设备直接与内存进行双向交互,发送数据请求并获取相应的数据。这种数据传输方式使得内存密集型算法的性能过度依赖内存宽带的大小,使得内存宽带成为了算法的瓶颈,数据传输效率较低,降低了整体的系统性能。
发明内容
本申请实施例的目的是提供一种数据传输方法、芯片、服务器以及存储介质,能够解决现有技术中形成了内存宽带瓶颈、降低了整体的系统性能、数据传输效率较低的技术问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种数据传输方法,应用于数据传输芯片,所述数据传输芯片包括计算模块、输入输出接口以及内存模块,所述输入输出接口包括消息传输模块和数据传输模块;所述消息传输模块和数据传输模块为单向交换节点;所述方法包括:
通过所述计算模块将数据获取消息通过所述消息传输模块发送至所述内存模块;
通过所述内存模块基于所述数据获取消息确定目标数据;
通过所述内存模块将所述目标数据通过数据传输模块发送至所述计算模块
可选的,所述数据获取消息中包括指针数据;所述通过所述内存模块基于所述数据获取消息确定目标数据,包括:
通过所述内存模块解析所述数据获取消息获取所述指针数据;
通过所述内存模块确定所述指针数据对应的目标地址并在所述目标地址中读取所述目标数据。
可选的,所述数据传输芯片还包括控制模块;所述通过所述内存模块将所述目标数据通过数据传输模块发送至所述计算模块,包括:
通过所述控制模块建立所述目标地址与所述计算模块之间的目标传输通道;
基于所述目标传输通道,通过所述内存模块将所述目标数据从所述目标地址通过所述数据传输模块发送至所述计算模块。
可选的,所述数据获取消息中包括计算单元标识;所述通过所述控制模块建立所述目标地址与所述计算模块之间的目标传输通道,包括:
通过所述控制模块,向所述目标地址与所述计算单元标识对应的计算单元之间的各个交换节点发送节点配置命令,以使得所述各个交换节点基于所述节点配置命令完成节点配置;
通过所述控制模块基于所述各个交换节点,建立所述目标地址与所述计算单元之间的目标传输通道。
可选的,所述数据传输芯片还包括控制模块;所述方法还包括:
通过所述控制模块确定所述目标数据的实际大小;
通过所述控制模块基于所述实际大小,调整所述数据传输模块所占所述输入输出接口的宽带比例,以使得所述宽带比例与所述实际大小相适应。
第二方面,本申请实施例提供了一种数据传输芯片,所述数据传输芯片包括计算模块、输入输出接口以及内存模块,所述输入输出接口包括消息传输模块和数据传输模块;所述消息传输模块和数据传输模块为单向交换节点;其中,
所述计算模块用于将数据获取消息通过所述消息传输模块发送至所述内存模块;
所述内存模块用于基于所述数据获取消息确定目标数据;
所述内存模块用于将所述目标数据通过数据传输模块发送至所述计算模块。
可选的,所述数据获取消息中包括指针数据;所述内存模块,还用于:
解析所述数据获取消息获取所述指针数据;
确定所述指针数据对应的目标地址并在所述目标地址中读取所述目标数据。
可选的,所述数据传输芯片还包括控制模块;其中,
所述控制模块用于建立所述目标地址与所述计算模块之间的目标传输通道;
所述内存模块用于基于所述目标传输通道,将所述目标数据从所述目标地址通过所述数据传输模块发送至所述计算模块。
可选的,所述数据获取消息中包括计算单元标识;所述控制模块,具体用于:
向所述目标地址与所述计算单元标识对应的计算单元之间的各个交换节点发送节点配置命令,以使得所述各个交换节点基于所述节点配置命令完成节点配置;
基于所述各个交换节点,建立所述目标地址与所述计算单元之间的目标传输通道。
可选的,所述数据传输芯片还包括控制模块;所述控制模块还用于:
确定所述目标数据的实际大小;
基于所述实际大小,调整所述数据传输模块所占所述输入输出接口的宽带比例,以使得所述宽带比例与所述实际大小相适应。
第三方面,本申请实施例提供了一种服务器,所述服务器包括数据传输芯片,所述数据传输芯片执行如第一方面所述的数据传输方法。
第四方面,本申请实施例提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面所述的数据传输方法。
在本申请实施例中,数据传输芯片的输入输出接口包括消息传输模块和数据传输模块,并且该消息传输模块和数据传输模块为单向交换节点。通过计算模块将数据获取消息通过消息传输模块发送至内存模块;通过内存模块基于数据获取消息确定目标数据;通过内存模块将目标数据通过数据传输模块发送至计算模块。本申请实施例中通过将输入输出接口中的消息传输和数据传输相分离,并采用单向交换节点分别进行数据传输,能够提高内存宽带的利用率,一定程度上降低了内存宽带对算法性能的限制,数据传输效率较高,提高了整体的系统性能。
附图说明
图1示出了本申请实施例的一种数据传输方法的步骤流程图;
图2示出了本申请实施例的一种数据传输芯片的基础架构图;
图3示出了本申请实施例的一种数据传输芯片的结构框图;
图4示出了本申请实施例的一种控制模块的结构示意图;
图5示出了本申请实施例的一种单向交换节点的结构示意图;
图6示出了本申请实施例的一种数据传输芯片的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的一种数据传输方法、芯片、服务器以及存储介质进行详细地说明。
参照图1,示出了本申请实施例的一种数据传输方法的步骤流程图。该数据传输方法应用于数据传输芯片,所述数据传输芯片包括计算模块、输入输出接口以及内存模块,所述输入输出接口包括消息传输模块和数据传输模块;所述消息传输模块和数据传输模块为单向交换节点。
本申请实施例中,数据传输芯片可以是指能够实现数据传输与算法计算的芯片。该数据传输芯片可以包括有计算模块、输入输出接口以及内存模块。其中,计算模块可以用于各类算法的计算,例如各类内存密集型算法等,本申请实施例对于算法的具体种类不作限定。输入输出接口可以用于数据的接收与发送。内存模块可以是用于存储算法所需要的各类数据。需要注意的是,本申请实施例中将输入输出接口划分为了两个单向交换节点,即消息传输模块和数据传输模块。单向交换节点可以是指数据传输方向固定的节点,即对于单向交换节点而言,数据只能从输入端口传输至输出端口。消息传输模块可以用于传输数据获取消息等请求指令,数据传输模块可以用于传输具体的数据。
示例性地,图2示出了本申请实施例的一种数据传输芯片的基础架构图。数据传输芯片100中包括计算模块110、输入输出接口120以及内存模块130。计算模块100可以采用内存密集型算法的通用架构,例如具体可以是指哈希计算逻辑部件等,输入输出接口120为I/O接口,连接计算模块110和内存模块130。在内存密集型算法运行时,计算模块110通过输入输出接口120持续从内存模块130获取数据并相应的计算。示例性的,假设内存密集型算法为工作量证明算法(proof of work,POW),该工作量证明是指系统为达到某一目标而设置的度量算法。相应的,针对工作量证明算法而言,计算模块110需要执行64轮哈希计算,即需要通过输入输出接口120从内存模块130提取64*128字节(Bytes)的数据;而计算模块110通过输入输出接口120向内存模块130发送的仅仅为数据获取消息等请求指令,双向流量差距很大。在此基础上,本申请实施例通过将输入输出接口120划分为消息传输模块和数据传输模块,并且采用单向交换节点,能够充分利用内存宽带,提高数据传输效率。
具体的,该数据传输方法包括以下步骤:
步骤101、通过所述计算模块将数据获取消息通过所述消息传输模块发送至所述内存模块。
本申请实施例中,数据获取消息可以是计算模块发送的用于请求数据的请求指令。内存密集型算法在进行计算时,需要从内存模块中获取各类数据。此时,计算模块可以将数据获取消息发送至输入输出接口中的消息传输模块,该消息传输模块再将该数据获取消息转发至内存模块。
步骤102、通过所述内存模块基于所述数据获取消息确定目标数据。
本申请实施例中,目标数据可以是指计算模块所需要的计算数据。在接收到数据获取消息之后,内存模块可以解析该数据获取消息,确定数据获取消息所对应的目标数据,后续可以将该目标数据传输至计算模块以使得计算模块能够执行算法计算过程。
步骤103、通过所述内存模块将所述目标数据通过数据传输模块发送至所述计算模块。
本申请实施例中,在确定出目标数据之后,内存模块可以通过数据传输模块,将该目标数据发送至计算模块,执行具体的算法计算过程。这样,通过将输入输出接口划分为消息传输模块和数据传输模块,分别来单向传输数据获取消息和目标数据,能够在双向流量差距较大的情况下,充分利用内存宽带资源,提高数据的传输效率。
综上所述,本申请实施例提供的一种数据传输方法,数据传输芯片的输入输出接口包括消息传输模块和数据传输模块,并且该消息传输模块和数据传输模块为单向交换节点。通过计算模块将数据获取消息通过消息传输模块发送至内存模块;通过内存模块基于数据获取消息确定目标数据;通过内存模块将目标数据通过数据传输模块发送至计算模块。这样,通过将输入输出接口中的消息传输和数据传输相分离,并采用单向交换节点分别进行数据传输,能够提高内存宽带的利用率,一定程度上降低了内存宽带对算法性能的限制,数据传输效率较高,提高了整体的系统性能。
可选的,本申请实施例中,所述数据获取消息中包括指针数据。相应的,步骤103具体可以包括以下步骤1031至步骤1032:
步骤1031、通过所述内存模块解析所述数据获取消息获取所述指针数据。
本申请实施例中,指针数据可以是指目标数据对应的存储地址,例如具体可以是指有向无环图(Directed acyclic graph,DAG)的索引,也就是目标数据在DAG中的位置指针。
本步骤中,内存模块在接收到计算模块基于消息传输模块发送的数据获取消息之后,可以将该数据获取消息进行解析,提取出其中的指针数据,后续可以基于该指针数据确定计算模块所需要的目标数据。
步骤1032、通过所述内存模块确定所述指针数据对应的目标地址并在所述目标地址中读取所述目标数据。
本申请实施例中,目标地址可以是指数据获取消息所对应的、存储目标数据的地址。具体的,内存模块在提取出数据获取消息中的指针数据之后,可以基于该指针数据确定出具体的目标地址,并从该目标地址中读取出目标数据。
本申请实施例中,通过内存模块解析数据获取消息获取指针数据;通过内存模块确定指针数据对应的目标地址并在目标地址中读取目标数据。这样,通过指针数据来确定计算模块所需要的目标数据,能够提高数据获取的准确度。
可选的,本申请实施例中,所述数据传输芯片还包括控制模块。相应的,步骤104具体可以包括以下步骤1041至步骤1042:
步骤1041、通过所述控制模块建立所述目标地址与所述计算模块之间的目标传输通道。
本申请实施例中,控制模块可以用于控制数据传输的通道,能够动态配置数据传输的宽带占比和流量,实现数据的高效传输。目标传输通道可以是指用于传输目标数据的传输路径。在内存模块确定出数据获取消息中的指针数据所指示的目标地址之后,控制模块可以配置目标地址与计算模块之间的数据传输路径,建立起目标传输通道,以便于后续可以快速传输目标数据。
步骤1042、基于所述目标传输通道,通过所述内存模块将所述目标数据从所述目标地址通过所述数据传输模块发送至所述计算模块。
本申请实施例中,控制模块在建立起目标传输通道之后,内存模块可以基于该目标传输通道将目标数据发送至数据传输模块并进一步发送至计算模块,实现数据的快速传输。
本申请实施例中,通过控制模块建立目标地址与计算模块之间的目标传输通道;基于目标传输通道,通过内存模块将目标数据从目标地址通过数据传输模块发送至计算模块。这样,控制模块通过建立目标传输通道,后续基于该目标传输通道进行数据传输,能够提高数据传输的效率,进而提高整体的系统性能。
可选的,本申请实施例中,所述数据获取消息中包括计算单元标识。相应的,步骤1041具体可以包括以下步骤S21至步骤S22:
步骤S21、通过所述控制模块,向所述目标地址与所述计算单元标识对应的计算单元之间的各个交换节点发送节点配置命令,以使得所述各个交换节点基于所述节点配置命令完成节点配置。
本申请实施例中,计算单元标识可以是指计算模块中的单个计算单元对应的标识(ID)。节点配置命令可以是指用于配置各个节点进行数据传输的指令。
具体的,内存模块在获取到计算模块发送的数据获取消息之后,可以解析得到该数据获取消息中的指针数据和计算单元标识,基于该指针数据确定出目标地址,并基于计算单元标识确定出需要接收目标数据的计算单元。之后可以通过控制模块建立目标地址与计算单元之间的目标传输通道,以进行目标数据的快速传输。
本步骤中,控制模块可以向目标地址与计算单元之间沿途的各个交换节点发送节点配置命令,使得各个交换节点完成节点配置,进而后续可以基于配置好的节点建立目标传输通道。
步骤S22、通过所述控制模块基于所述各个交换节点,建立所述目标地址与所述计算单元之间的目标传输通道。
本申请实施例中,在各个交换节点配置完成后,可以基于各个交换节点,建立起目标地址与计算单元之间的目标传输通道,以方便进行目标数据的传输。
本申请实施例中,通过控制模块,向目标地址与计算单元标识对应的计算单元之间的各个交换节点发送节点配置命令,以使得各个交换节点基于节点配置命令完成节点配置;通过控制模块基于各个交换节点,建立目标地址与计算单元之间的目标传输通道。这样,通过节点配置建立目标传输通道,能够提高传输路径的精简性和准确性,提高数据的传输效率。
可选的,本申请实施例中,该数据传输方法还可以包括以下步骤S31至步骤S32:
步骤S31、通过所述控制模块确定所述目标数据的实际大小。
本申请实施例中,实际大小可以是指目标数据实际所占的内存大小,具体可以用字节数来表示。不同的算法或者同一算法在不同计算阶段需要目标数据的大小可能是不相同的,此时控制模块可以基于目标数据的实际大小来动态调整数据传输模块的宽带占比,既能够最大化数据传输速度,也能够提高宽带的利用率。
步骤S32、通过所述控制模块基于所述实际大小,调整所述数据传输模块所占所述输入输出接口的宽带比例,以使得所述宽带比例与所述实际大小相适应。
本申请实施例中,宽带比例可以是指数据传输模块在整个输入输出接口中的宽带占比。在确定出目标数据的实际大小之后,控制模块可以动态调整数据传输模块的宽带比例,以使得数据传输模块的宽带占比能够与目标数据的大小相匹配。
本申请实施例中,通过控制模块确定目标数据的实际大小;通过控制模块基于实际大小,调整数据传输模块所占输入输出接口的宽带比例,以使得宽带比例与实际大小相适应。控制模块可以基于目标数据的实际大小来动态调整数据传输模块的宽带占比,既能够最大化数据传输速度,也能够提高宽带的利用率。
示例性地,图3示出了本申请实施例的一种数据传输芯片的结构框图。如图3所示出的,数据传输芯片200中包括计算模块210、输入输出接口220以及内存模块230。其中,数据计算模块210中包括有计算单元212和消息汇聚单元214,各个计算单元212与消息汇聚单元214相连。计算单元212发送数据请求消息时,该数据请求消息中包含发送请求的计算单元212的逻辑标识ID和所请求目标数据对应的指针数据。消息汇聚单元214收集各个计算单元212的数据获取消息并进行统一发送。
输入输出接口220被分为两部分,一部分为数据传输模块222,一部分为消息传输模块224,这两部分均由单向交换节点组成。其中,消息传输模块224负责传输数据获取消息。该数据获取消息经消息传输模块224发送给内存模块230。内存模块230根据指针数据确定目标数据,并通过数据传输模块222发送给计算模块210进行算法计算。数据传输模块222和消息传输模块224所占带宽比例控制模块226进行动态调控。当然也可以是基于计算单元212的处理能力和输入输出接口220的内存宽带进行直接预设置,本申请实施例对此不作限定。这样,本申请实施例通过将输入输出接口分割为数据传出通道和消息传输模块,并且采用单向数据传输,简化了传输器件。
内存模块230具体可以包括内存控制器232、内存片234以及消息接收模块236。消息接收模块236与各个内存控制器232相连,用于接收计算模块210发送的数据获取消息,也可以将数据获取消息中的指针数据转化为该数据获取消息对应的内存片及目标地址。后续消息接收模块236可以激活相应内存控制器232开始传输目标数据。
需要注意的是,本申请实施例采用了控制和传输分离的结构。控制模块226可以用于管理输入输出接口220。控制模块根据数据传输消息作出路由决策,进行路由通道配置,内存模块230则按照建立好的目标传输通道将目标数据传输到计算模块210中的计算单元212。
示例性地,图4示出了本申请实施例的一种控制模块的结构示意图。如图4所示出的,控制模块226包括路由决策引擎、节点配置引擎、资源调度引擎以及流量控制引擎。其中,路由决策引擎用于确定连接计算单元和目标数据所在的目标地址之间的一条路径;在路由决策完成后,节点配置引擎用于向路径沿途各个交换节点发送节点配置命令,完成从目标地址到计算单元之间目标传输通道的建立,之后开始数据传输。资源调度引擎用于动态调节数据传输模块222以及消息传输模块224所占宽带比例。流量控制引擎用于对输入输出接口220内交换节点的流量进行控制,在提高带宽使用率的同时解决网络流量拥塞的问题,进一步提高数据传输效率。
示例性地,图5示出了本申请实施例的一种单向交换节点的结构示意图。如图5所示出的,单向交换节点500包括交换接口501、寄存器502、控制逻辑503、数据探测单元504、交换矩阵配置单元505以及通信管理单元506。需要注意的是,图5中所示出的输入端口和输出端口数量仅为示例,本申请实施例对此不作限定。按照图3中的数据传输芯片的结构,数据传输模块222中输入端口连接内存片234,输出端口连接计算单元212。消息传输模块224中输入端口连接计算模块210中的消息汇聚单元214,输出端口连接内存模块230中的消息接收模块236。
此外,数据探测单元504,用于分析输入端口注入的报文信息,确定是否向控制模块226发出传输请求以使得控制模块226开始建立数据传输通道;查询输出端口数据,以判断传输进程的状态,确定本节点释放资源的时刻,并通过通信管理单元506向控制模块226发出链路状态信息。交换矩阵配置单元505用于根据226的指令对输入输出端口进行配置。通信管理单元506用于负责其他功能单元和控制模块226之间的通信。
在一种实现方式中,传统架构以中心化内存存储为基础,分布式计算核心向中央存储器请求数据产生延迟,与部分算法中运算周期固定的哈希计算不同,提取数据所需的运行周期不可预测,因此造成系统性能降低。此外,由于片上内存容量和制造难度的限制,使得部分厂家采用片外内存保存算法所需要的目标数据,进一步形成了内存带宽瓶颈。
而在本申请实施例中,将输入输出接口划分为两部分单向交换节点,同时将数据传输与控制相分离,采用单向交换节点来进行单向传输,能够简化器件,能够提高内存宽带的利用率,一定程度上降低了内存宽带对算法性能的限制,数据传输效率较高,提高了整体的系统性能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出了本申请实施例的一种数据传输芯片的结构框图。所述数据传输芯片60包括计算模块601、输入输出接口602以及内存模块603,所述输入输出接口602包括消息传输模块6021和数据传输模块6022;所述消息传输模块6021和数据传输模块6022为单向交换节点。
所述计算模块601用于将数据获取消息通过所述消息传输模块6021发送至所述内存模块;
所述内存模块603用于基于所述数据获取消息确定目标数据;
所述内存模块603用于将所述目标数据通过数据传输模块6022发送至所述计算模块。
综上所述,本申请实施例提供的数据传输芯片,数据传输芯片的输入输出接口包括消息传输模块和数据传输模块,并且该消息传输模块和数据传输模块为单向交换节点。通过计算模块将数据获取消息通过消息传输模块发送至内存模块;通过内存模块基于数据获取消息确定目标数据;通过内存模块将目标数据通过数据传输模块发送至计算模块。本申请实施例中通过将输入输出接口中的消息传输和数据传输相分离,并采用单向交换节点分别进行数据传输,能够提高内存宽带的利用率,一定程度上降低了内存宽带对算法性能的限制,数据传输效率较高,提高了整体的系统性能。
可选的,所述数据获取消息中包括指针数据;所述内存模块603,还用于:
解析所述数据获取消息获取所述指针数据;
确定所述指针数据对应的目标地址并在所述目标地址中读取所述目标数据。
可选的,所述数据传输芯片还包括控制模块;其中,
所述控制模块用于建立所述目标地址与所述计算模块之间的目标传输通道;
所述内存模块用于基于所述目标传输通道,将所述目标数据从所述目标地址通过所述数据传输模块发送至所述计算模块。
可选的,所述数据获取消息中包括计算单元标识;所述控制模块,具体用于:
向所述目标地址与所述计算单元标识对应的计算单元之间的各个交换节点发送节点配置命令,以使得所述各个交换节点基于所述节点配置命令完成节点配置;
基于所述各个交换节点,建立所述目标地址与所述计算单元之间的目标传输通道。
可选的,所述数据传输芯片还包括控制模块;所述控制模块还用于:
确定所述目标数据的实际大小;
基于所述实际大小,调整所述数据传输模块所占所述输入输出接口的宽带比例,以使得所述宽带比例与所述实际大小相适应。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可选的,本申请实施例还提供了一种服务器,该服务器包括数据传输芯片,该数据传输芯片能够执行如上述方法实施例中所示出的数据传输方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述数据传输方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的非临时计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的设备处理方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (6)
1.一种数据传输方法,其特征在于,应用于数据传输芯片,所述数据传输芯片包括计算模块、输入输出接口以及内存模块,所述输入输出接口包括消息传输模块和数据传输模块;所述消息传输模块和数据传输模块为单向交换节点;所述方法包括:
通过所述计算模块将数据获取消息通过所述消息传输模块发送至所述内存模块;
通过所述内存模块基于所述数据获取消息确定目标数据;
通过所述内存模块将所述目标数据通过数据传输模块发送至所述计算模块;
所述数据获取消息中包括指针数据;所述通过所述内存模块基于所述数据获取消息确定目标数据,包括:
通过所述内存模块解析所述数据获取消息获取所述指针数据;
通过所述内存模块确定所述指针数据对应的目标地址并在所述目标地址中读取所述目标数据;
所述数据传输芯片还包括控制模块;所述通过所述内存模块将所述目标数据通过数据传输模块发送至所述计算模块,包括:
通过所述控制模块建立所述目标地址与所述计算模块之间的目标传输通道;
基于所述目标传输通道,通过所述内存模块将所述目标数据从所述目标地址通过所述数据传输模块发送至所述计算模块。
2.根据权利要求1所述的方法,其特征在于,所述数据获取消息中包括计算单元标识;所述通过所述控制模块建立所述目标地址与所述计算模块之间的目标传输通道,包括:
通过所述控制模块,向所述目标地址与所述计算单元标识对应的计算单元之间的各个交换节点发送节点配置命令,以使得所述各个交换节点基于所述节点配置命令完成节点配置;
通过所述控制模块基于所述各个交换节点,建立所述目标地址与所述计算单元之间的目标传输通道。
3.根据权利要求1所述的方法,其特征在于,所述数据传输芯片还包括控制模块;所述方法还包括:
通过所述控制模块确定所述目标数据的实际大小;
通过所述控制模块基于所述实际大小,调整所述数据传输模块所占所述输入输出接口的宽带比例,以使得所述宽带比例与所述实际大小相适应。
4.一种数据传输芯片,其特征在于,所述数据传输芯片包括计算模块、输入输出接口以及内存模块,所述输入输出接口包括消息传输模块和数据传输模块;所述消息传输模块和数据传输模块为单向交换节点;其中,
所述计算模块用于将数据获取消息通过所述消息传输模块发送至所述内存模块;
所述内存模块用于基于所述数据获取消息确定目标数据;
所述内存模块用于将所述目标数据通过数据传输模块发送至所述计算模块;
所述数据获取消息中包括指针数据;所述内存模块,还用于:
解析所述数据获取消息获取所述指针数据;
确定所述指针数据对应的目标地址并在所述目标地址中读取所述目标数据;
所述数据传输芯片还包括控制模块;其中,
所述控制模块用于建立所述目标地址与所述计算模块之间的目标传输通道;
所述内存模块用于基于所述目标传输通道,将所述目标数据从所述目标地址通过所述数据传输模块发送至所述计算模块。
5.一种服务器,其特征在于,所述服务器包括数据传输芯片,所述数据传输芯片执行如权利要求1至3中任一项所述的数据传输方法。
6.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由计算机的处理器执行时,使得计算机执行如权利要求1至3中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111676652.3A CN114490458B (zh) | 2021-12-31 | 2021-12-31 | 数据传输方法、芯片、服务器以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111676652.3A CN114490458B (zh) | 2021-12-31 | 2021-12-31 | 数据传输方法、芯片、服务器以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490458A CN114490458A (zh) | 2022-05-13 |
CN114490458B true CN114490458B (zh) | 2023-06-20 |
Family
ID=81510418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111676652.3A Active CN114490458B (zh) | 2021-12-31 | 2021-12-31 | 数据传输方法、芯片、服务器以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490458B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115587018B (zh) * | 2022-11-22 | 2023-03-10 | 中科声龙科技发展(北京)有限公司 | 算力服务数据集存储方法、算力计算装置及算力服务设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616177A (zh) * | 2009-07-21 | 2009-12-30 | 武汉大学 | 基于p2p的网络地形系统的数据传输共享方法 |
CN102902536A (zh) * | 2012-09-14 | 2013-01-30 | 杭州泛和科技有限公司 | 一种物联网计算机系统 |
CN107682281A (zh) * | 2017-09-15 | 2018-02-09 | 通鼎互联信息股份有限公司 | 一种sdn交换机和sdn交换机的应用管理方法 |
CN110321301A (zh) * | 2018-03-30 | 2019-10-11 | 华为技术有限公司 | 一种数据处理的方法及装置 |
CN111880948A (zh) * | 2020-07-23 | 2020-11-03 | 中国平安财产保险股份有限公司 | 数据刷新方法、装置、电子设备及计算机可读存储介质 |
CN111930678A (zh) * | 2020-08-14 | 2020-11-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置及电子设备和存储介质 |
CN112005225A (zh) * | 2017-11-13 | 2020-11-27 | 维卡艾欧有限公司 | 具有盘上哈希的闪存注册表 |
CN113115478A (zh) * | 2021-04-16 | 2021-07-13 | 网络通信与安全紫金山实验室 | 空口数据的获取方法、装置及bbu |
CN113259006A (zh) * | 2021-07-14 | 2021-08-13 | 北京国科天迅科技有限公司 | 一种光纤网络通信系统、方法及装置 |
CN113612705A (zh) * | 2021-08-02 | 2021-11-05 | 广西电网有限责任公司 | 基于哈希算法分片及重组的电网监控系统数据传输方法 |
-
2021
- 2021-12-31 CN CN202111676652.3A patent/CN114490458B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616177A (zh) * | 2009-07-21 | 2009-12-30 | 武汉大学 | 基于p2p的网络地形系统的数据传输共享方法 |
CN102902536A (zh) * | 2012-09-14 | 2013-01-30 | 杭州泛和科技有限公司 | 一种物联网计算机系统 |
CN107682281A (zh) * | 2017-09-15 | 2018-02-09 | 通鼎互联信息股份有限公司 | 一种sdn交换机和sdn交换机的应用管理方法 |
CN112005225A (zh) * | 2017-11-13 | 2020-11-27 | 维卡艾欧有限公司 | 具有盘上哈希的闪存注册表 |
CN110321301A (zh) * | 2018-03-30 | 2019-10-11 | 华为技术有限公司 | 一种数据处理的方法及装置 |
CN111880948A (zh) * | 2020-07-23 | 2020-11-03 | 中国平安财产保险股份有限公司 | 数据刷新方法、装置、电子设备及计算机可读存储介质 |
CN111930678A (zh) * | 2020-08-14 | 2020-11-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置及电子设备和存储介质 |
CN113115478A (zh) * | 2021-04-16 | 2021-07-13 | 网络通信与安全紫金山实验室 | 空口数据的获取方法、装置及bbu |
CN113259006A (zh) * | 2021-07-14 | 2021-08-13 | 北京国科天迅科技有限公司 | 一种光纤网络通信系统、方法及装置 |
CN113612705A (zh) * | 2021-08-02 | 2021-11-05 | 广西电网有限责任公司 | 基于哈希算法分片及重组的电网监控系统数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114490458A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9148495B2 (en) | Dynamic runtime choosing of processing communication methods | |
CN110121180B (zh) | 一种数据分析装置、系统及方法 | |
CN111131379B (zh) | 一种分布式流量采集系统和边缘计算方法 | |
US20020105972A1 (en) | Interprocess communications within a network node using switch fabric | |
US20030236861A1 (en) | Network content delivery system with peer to peer processing components | |
CN110308984B (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
CN107645520B (zh) | 一种负载均衡方法、装置以及系统 | |
CN112291293B (zh) | 任务处理方法、相关设备及计算机存储介质 | |
CN106789152A (zh) | 基于多队列网卡的处理器扩展方法及装置 | |
CN107146623B (zh) | 基于人工智能的语音识别方法、装置和系统 | |
US12034604B2 (en) | MQTT protocol simulation method and simulation device | |
CN112087382B (zh) | 一种服务路由方法及装置 | |
CN114490458B (zh) | 数据传输方法、芯片、服务器以及存储介质 | |
CN109005060B (zh) | 一种基于层级化高度异构分布式系统的深度学习应用优化框架 | |
CN116910568B (zh) | 图神经网络模型的训练方法及装置、存储介质及电子装置 | |
CN116301667B (zh) | 一种数据库系统,数据访问方法、装置、设备及存储介质 | |
CN110708209B (zh) | 虚拟机流量采集方法、装置、电子设备及存储介质 | |
CN112104566B (zh) | 一种负载均衡的处理方法和装置 | |
US20220345930A1 (en) | Virtualization of transceivers for multi-tenant programmable network-based devices | |
US11223703B2 (en) | Instruction initialization in a dataflow architecture | |
CN113395183A (zh) | 网络仿真平台vlan互联的虚拟节点调度方法与系统 | |
CN115225694B (zh) | 数据流传输方法、装置、设备和介质 | |
CN110166373B (zh) | 源物理机向目的物理机发数据的方法、装置、介质和系统 | |
US20230185624A1 (en) | Adaptive framework to manage workload execution by computing device including one or more accelerators | |
Bhonagiri et al. | Constraint based network communications in a virtual environment of a proprietary hardware |
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 |