CN113965294A - 数据包编码方法、数据包解码方法及装置 - Google Patents

数据包编码方法、数据包解码方法及装置 Download PDF

Info

Publication number
CN113965294A
CN113965294A CN202111235041.5A CN202111235041A CN113965294A CN 113965294 A CN113965294 A CN 113965294A CN 202111235041 A CN202111235041 A CN 202111235041A CN 113965294 A CN113965294 A CN 113965294A
Authority
CN
China
Prior art keywords
data packet
packet
address
core
decoding
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.)
Pending
Application number
CN202111235041.5A
Other languages
English (en)
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.)
Beijing Lynxi Technology Co Ltd
Original Assignee
Beijing Lynxi Technology 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 Beijing Lynxi Technology Co Ltd filed Critical Beijing Lynxi Technology Co Ltd
Priority to CN202111235041.5A priority Critical patent/CN113965294A/zh
Publication of CN113965294A publication Critical patent/CN113965294A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本公开提供了一种数据包编码方法,所述方法包括:接收当前众核芯片上的计算核发送的第一数据包,所述第一数据包为所述计算核对原始数据包的包体以第一编码方式进行包体编码后得到的数据包;以第二纠错编码方式对所述第一数据包的包头进行包头编码,得到第二数据包。

Description

数据包编码方法、数据包解码方法及装置
技术领域
本公开涉及计算机技术领域,特别涉及一种数据包编码方法、数据包解码方法、数据包编码装置、数据包解码装置、众核芯片、电子设备以及计算机可读介质。
背景技术
众核芯片的数据包传输包括两种形式,一种为数据包在众核芯片自身所包含的多个计算核之间进行传输,这种数据包通常可被称为本地包,另一种为数据包在级联的多个众核芯片之间进行传输,这种数据包通常可被称为跨片包。针对跨片包的传输,为避免传输错误,跨片包在被传输之前需要进行编码,编码通过在数据包中设置冗余位(纠错码)来使接收方能够根据该纠错码对数据包中可能存在的传输错误进行纠正。在相关技术中,跨片包的编解码以及纠错效率太低,影响众核芯片的计算性能。
发明内容
本公开提供一种数据包编码方法、数据包解码方法、数据包编码装置、数据包解码装置、众核芯片、电子设备以及计算机可读介质。
第一方面,本公开提供了一种数据包编码方法,该数据包编码方法包括:
接收当前众核芯片上的至少一个计算核发送的至少一个第一数据包,每个所述第一数据包为对应的所述计算核对对应的原始数据包的包体以第一编码方式进行包体编码后得到的数据包;
以第二编码方式分别对每个所述第一数据包的包头进行包头编码,得到至少一个第二数据包。
第二方面,本公开提供了一种数据包解码方法,包括:
以预设第二解码方式对接收到的至少一个待解码数据包中的每个所述待解码数据包的包头进行包头解码和纠错,以得到每个所述待解码数据包对应的地址信息;所述地址信息包括:目的计算核地址;
根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核,以供所述目的计算核以预设第一解码方式对所述待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
第三方面,本公开提供了一种数据包编码装置,包括:
第一接收模块,用于接收当前众核芯片上的至少一个计算核发送的至少一个第一数据包,每个所述第一数据包由对应的所述计算核对对应的原始数据包的包体以第一编码方式进行包体编码后得到;
编码模块,用于以第二编码方式分别对每个所述第一数据包的包头进行包头编码,得到至少一个第二数据包。
第四方面,本公开还提供了一种数据包解码装置,包括:
第二接收模块,用于接收其他众核芯片发送的至少一个待解码数据包;
解码模块,用于以预设第二解码方式对接收到的至少一个待解码数据包中的每个所述待解码数据包的包头进行包头解码和纠错,以得到每个所述待解码数据包对应的地址信息;所述地址信息包括:目的计算核地址;
发送模块,用于根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核,以供所述目的计算核以预设第一解码方式对所述待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
第五方面,本公开还提供了一种众核芯片,包括:多个计算核、数据包编码装置和数据包解码装置;
所述计算核用于对原始数据包的包体以第一编码方式进行包体编码,以得到第一数据包,并将所述第一数据包发送至所述数据包编码装置;以及用于以预设第一解码方式对所述数据包解码装置发送的待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
所述数据包编码装置包括本公开第三方面所提供的数据包编码装置,所述数据包解码装置包括本公开第四方面所提供的数据包解码装置。
第六方面,本公开提供了一种电子设备,该电子设备包括:多个处理核;以及,片上网络,被配置为交互所述多个处理核间的数据和外部数据;其中,一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行上述的数据包编码方法,或者执行上述的数据包解码方法。
第七方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的数据包编码方法,或者实现上述的数据包解码方法。
本公开所提供的数据包编码方法、数据包解码方法、数据包编码装置、数据包解码装置、众核芯片、电子设备以及计算机可读介质,利用计算核对跨片传输的数据包的包体进行纠错编码和解码,而众核芯片的数据包编码装置和数据包解码装置仅对数据包的包头进行编码和解码,相较于现有技术,避免了数据包排队在数据包编码装置和数据包解码装置中进行包头和包体的编码及解码,本公开通过利用各计算核并行对各自对应的数据包进行包体编码和解码,提高了数据包的整体编码、解码效率,进而提升了众核芯片的计算性能。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种数据包编码方法的流程图;
图2为本公开实施例提供的另一种数据包编码方法的流程图;
图3为本公开实施例中步骤S103的一种具体实施方式的流程图;
图4为本公开实施例中步骤S103的另一种具体实施方式的流程图;
图5为本公开实施例提供的又一种数据包编码方法的流程图;
图6为本公开实施例提供的一种数据包解码方法的流程图;
图7为本公开实施例提供的另一种数据包解码方法的流程图;
图8为本公开实施例提供的又一种数据包解码方法的流程图;
图9为本公开实施例提供的一种数据包编码装置的组成框图;
图10为本公开实施例提供的一种数据包解码装置的组成框图;
图11为本公开实施例提供的一种众核芯片的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
在相关技术中,各跨片包的编码和解码是在芯片中预设的编码模块和解码模块统一进行的,即,源芯片的各计算核将跨片包发送至源芯片的编码模块进行统一编码,目的芯片在接收到编码后的各跨片包后,在解码模块中对各跨片包进行集中解码及纠错,再将解码纠错后的数据包发送至自身对应的计算核中。这种数据包编解码方式导致数据包的编解码及纠错效率太低,进而影响众核芯片的计算性能。
本发明提供的数据包编码方法以及数据包解码方法可分别基于一种数据包编码装置和数据包解码装置实现,该数据包编码装置和数据包解码装置可设置于众核芯片内,且独立于众核芯片内的各计算核。
下面分别对本公开实施例提供的数据包编码方法和数据包解码方法进行描述。
图1为本公开实施例提供的一种数据包编码方法的流程图。
参照图1,本公开实施例提供一种数据包编码方法,该数据包编码方法包括:
步骤S101、接收当前众核芯片上的至少一个计算核发送的至少一个第一数据包,每个该第一数据包为对应的计算核对对应的原始数据包的包体以第一编码方式进行包体编码后得到的数据包。
当前众核芯片中的计算核在产生计算数据后,当需要将计算数据进行跨片传输时,计算核基于该计算数据生成原始数据包,该原始数据包包括包头和包体两部分,其中,包头中至少包括地址信息,在一些实施例中还可以包括待传输数据的长度等信息,包体中至少包括待传输数据。
计算核在生成原始数据包后,对该原始数据包的包体以第一编码方式进行包体编码,以得到第一数据包。
具体的,本公开实施例中,对数据包的编码(包括包体编码和后续的包头编码)采用的是纠错编码,纠错编码基于预设的编码规则利用原始数据生成冗余位(纠错码),并将纠错码添加至原始数据中,接收方在接收到编码后的数据后,利用纠错码并基于对应的编码规则对编码后的数据进行校验,若校验出数据存在传输错误,则基于该编码规则对数据进行纠错,以恢复出原始数据。
优选的,本公开实施例中,在对包头和包体进行纠错编码的过程中,纠错码的位数可以基于信道质量进行设置,具体的,当信道质量较高时,待传输数据包可能发生的传输错误较少,此时可设置较少位的纠错码,该较少位的纠错码已足够完成纠错;而当信道质量较差时,待传输数据包可能发生的传输错误较多,此时可设置较多位的纠错码,以便于纠正可能发生的更多的传输错误。
第一数据包是将原始数据包的包体进行编码后得到的数据包,因此,第一数据包的包头中包含的信息与原始数据包的包头中包含的信息相同,而第一数据包的包体中包括:待传输数据和第一纠错码,该第一纠错码由计算核对待传输数据以第一编码方式进行编码后得到。
另外,需要说明的是,由于众核芯片中的各计算核可以并行进行数据处理,因此,本公开实施例中,在同一时刻,当前众核芯片中可存在多个计算核并行对各自生成的原始数据包进行包体编码,以生成多个第一数据包。在步骤S101中,可以接收当前众核芯片上的一个或多个计算核发送的至少一个第一数据包。
步骤S102、以第二编码方式分别对每个第一数据包的包头进行包头编码,得到至少一个第二数据包。
数据包编码装置在接收到至少一个第一数据包后,以第二编码方式对每个第一数据包的包头进行包头编码,以得到至少一个第二数据包,此时,第二数据包的包头中包括:地址信息和第二纠错码,该第二纠错码由数据包编码装置对包头中包含的信息以第二编码方式进行编码后得到;第二数据包的包体中包括:待传输数据包和第一纠错码。
需要说明的是,本公开实施例中,第一编码方式和第二编码方式并非为本公开的限定性描述,其仅为描述方便而设置的描述词汇,在实际应用中,第一编码方式可以与第二编码方式相同,也可不同。
本公开实施例提供的数据包编码方法,利用计算核对跨片传输的数据包的包体进行纠错编码,而众核芯片的数据包编码装置仅对数据包的包头进行编码,相较于现有技术,避免了数据包排队在数据包编码装置中进行包头和包体的编码,本公开通过利用各计算核并行对各自对应的数据包进行包体编码,提高了数据包的编码效率,进而提升了众核芯片的计算性能。
基于上述实施例,在实际应用中,由于包体包含的信息(待传输数据)通常相较于包头包含的信息(地址信息和数据长度)具有较高的复杂性,因此,优选的,包体编码采用的第一编码方式相较于包头编码采用的第二编码方式具有更高的复杂度。具体的,在一些实施例中,第一编码方式包括复杂超冗余编码方式,第二编码方式采用简单高效的编码方式,例如,PCIe编码方式。通过使包体编码对应的第一编码方式具有更高的复杂性,而使得对待传输数据的纠错能力更强,从而保证了待传输数据的传输准确性;同时,通过使包头编码对应的第二编码方式简单高效,而使得数据包编码装置对所接收到的各第一数据包进行包头编码的速率有所提高,从而进一步提高了数据包的整体编码效率。
图2为本公开实施例提供的另一种数据包编码方法的流程图。
参照图2,本公开实施例除了包括上述实施例中的步骤S101和S102,还包括步骤S103,下面仅对步骤S103进行描述。
步骤S103、根据地址信息,将每个第二数据包发送至各自对应的下一个众核芯片。
本公开实施例中,在步骤S102之后,即,数据包编码装置以第二编码方式对第一数据包的包头进行包头编码,得到第二数据包之后,数据包编码装置根据包头中的地址信息,将第二数据包发送至下一个众核芯片,以实现对数据包的传输。
在实际应用中,需跨片传输的数据包的传输方式可以是通过直接传输的方式,也可以是通过中转进行传输的方式,其中,通过直接传输的方式是指需跨片传输的数据包直接由源众核芯片传输至目的众核芯片,通过中转进行传输的方式是指需跨片传输的数据包经由源众核芯片发出后,经过一级或多级中转芯片的转发后到达目的众核芯片。
具体的,当数据包采用通过直接传输的方式时,下一个众核芯片为目的众核芯片,此时,地址信息中包括目的众核芯片地址和目的计算核地址,步骤S103可具体包括:数据包编码装置根据目的众核芯片地址将第二数据包传输至目的众核芯片地址对应的众核芯片。
当数据包采用通过中转进行传输的方式时,下一个众核芯片为中转芯片,第二数据包在源众核芯片与目的众核芯片之间的传输需要预先确定出路由地址,此时,步骤S103可基于两种不同的方式实现。
作为一种可行的实施方式,路由地址的确定可以采用静态规划的方式实现,具体的,在该实施例中,地址信息还包括:路由信息,该路由信息包括第二数据包从源众核芯片传输至目的众核芯片所要经历的各中转芯片的信息(如芯片地址、芯片位置等)。图3为本公开实施例中步骤S103的一种具体实施方式的流程图,参照图3,此时步骤S103具体包括:
步骤S31a、针对每个第二数据包,根据路由信息确定出该第二数据包对应的下一个众核芯片对应的目标地址。
步骤S32a、根据目标地址,将该第二数据包发送至该第二数据包对应的下一个众核芯片。
本公开实施例中,数据包编码装置通过读取每个第二数据包的包头中的路由信息确定出该第二数据包从当前源众核芯片即将流向的下一个众核芯片对应的目标地址,进而根据该目标地址,将该第二数据包传输至对应的下一个众核芯片。
作为另一种可行的实施方式,路由地址的确定可以动态决策的方式实现,具体的,在该实施例中,地址信息包括:目的地址;该目的地址是指目的众核芯片对应的地址。图3为本公开实施例中步骤S103的另一种具体实施方式的流程图。参照图4,此时步骤S103具体包括:
步骤S31b、针对每个第二数据包,根据目的地址,基于预设路径确定算法计算出该第二数据包对应的下一个众核芯片的目标地址。
步骤S32b、根据目标地址,将该第二数据包发送至该第二数据包对应的下一个众核芯片。
本公开实施例中,数据包编码装置可基于预设路径确定算法确定出下一个众核芯片,具体的,预设路径确定算法可基于各众核芯片的算力及通信量等指标进行计算,将当前比较空闲的众核芯片确定为中转芯片。本公开实施例不对路径确定算法做具体限定,所有能够确定出下一个众核芯片来对第二数据包进行中转的路径确定算法皆属于本公开的保护范围。
图5为本公开实施例提供的又一种数据包编码方法的流程图。
参照图5,本公开实施例除了包括上述实施例中的步骤S101~S103,还包括步骤S1和S2,下面仅对步骤S1和S2进行描述。
本公开实施例中,在步骤S103之前,还包括:
步骤S1、缓存各计算核对应的第二数据包。
步骤S2、检测缓存的第二数据包的数量是否达到预设阈值。
本公开实施例中,为了进一步降低众核芯片的通信开销,可先对生成的第二数据包进行缓存,再进行传输。
具体的,当众核芯片的各计算核生成的第一数据包在数据包编码装置内进行编码以生成第二数据包后,数据包编码装置暂不传输该第二数据包,而是进行暂时存储,进而,数据包编码装置可按照预设时间间隔检测所缓存的第二数据包的数量是否达到预设阈值,当检测到所缓存的第二数据包的数量达到预设阈值时,说明此时数据包编码装置达到了传输数据包的条件,此时执行步骤S103;而当检测出所缓存的第二数据包的数量未达到预设阈值时,返回执行步骤S101,以继续接收第一数据包。
需要说明的是,本公开实施例中,步骤S103具体包括:根据地址信息,将缓存的每个第二数据包发送至各自对应的下一个众核芯片。
具体的,缓存的多个第二数据包对应的下一个众核芯片可能全部不同也可能部分不同,因此,在对缓存的多个第二数据包进行发送时,可根据每个第二数据包的包头信息确定出该第二数据包对应的下一个众核芯片。
本公开实施例,通过先对众核芯片内各计算核对应的第二数据包进行缓存,在缓存到一定数量的第二数据包后再进行传输,降低了众核芯片的通信开销,进一步提升了众核芯片的通信性能。
图6为本公开实施例提供的一种数据包解码方法的流程图。
参照图6,本公开实施例提供一种数据包解码方法,包括:
步骤S201、以预设第二解码方式对接收到的至少一个待解码数据包中的每个待解码数据包的包头进行包头解码和纠错,以得到每个待解码数据包对应的地址信息,其中,地址信息包括:目的计算核地址。
与上述实施例中的数据包编码方法对应,本公开实施例中,待解码数据包对应于上述实施例中的第二数据包,即,对原始数据包的包头和包体都进行编码后得到的数据包;预设第二解码方式与上述实施例中的第二编码方式对应,即是说,第二解码方式与第二编码方式对应有相同的编码规则。
具体的,在接收到第二数据包后,从第二数据包的包头中提取出纠错码(对应于上述实施例中的第二纠错码),利用该纠错码,基于与源众核芯片(发送出第二数据包的众核芯片)约定的第二解码方式,对包头信息进行校验和纠错,以获得正确的地址信息,该地址信息中包括目的计算核地址。
步骤S202、根据目的计算核地址,将对应的待解码数据包发送至与目的计算核地址对应的目的计算核,以供目的计算核以预设第一解码方式对待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
同理,预设第一解码方式与上述实施例中的第一编码方式对应。具体的,目的计算核在接收到待解码数据包后,从待解码数据包的包体中提取纠错码(对应于上述实施例中的第一纠错码),利用该纠错码,基于与源众核芯片(发送出第二数据包的众核芯片)约定的第一解码方式,对包体进行校验和纠错,以获得原始的待传输数据。
本公开实施例提供的数据包解码方法,利用计算核对跨片传输的数据包的包体进行纠错解码,而众核芯片的数据包解码装置仅对数据包的包头进行解码,避免了数据包排队在数据包解码装置中进行包头和包体的解码。本公开通过利用各计算核并行对各自对应的数据包进行包体解码,提高了数据包的编码效率,进而提升了众核芯片的计算性能。
在实际应用中,第二数据包除了由源众核芯片直接发送到目的众核芯片外,还可能经过多级转发芯片的转发到达目的众核芯片。图7为本公开实施例提供的另一种数据包解码方法的流程图。在该实施例中,第二数据包可能需要经过一级或多级转发芯片转发后到达目的众核芯片。具体的,参照图7,本公开实施例中,地址信息中还包括:目的众核芯片地址。在步骤S202之前,还包括:
步骤S201’、判断自身所在众核芯片地址是否与目的众核芯片地址相同。
具体的,当判断出自身所在众核芯片地址与目的众核芯片地址相同时,执行步骤S202,以将第二数据包直接发送至目的众核芯片中的目的计算核;而当判断出自身所在众核芯片地址与目的众核芯片地址不同时,确定出自身为转发芯片,此时需要进一步确定出第二数据包下一跳所要发送至的下一个众核芯片。
继续参照图7,在一种可能的实施方式中,数据包解码装置可基于动态决策的方式确定第二数据包的下一跳节点,即下一个众核芯片,具体的,在该实施方式中,确定第二数据包所要发送至的下一个众核芯片的步骤包括:
步骤S203a、根据目的众核芯片地址,基于预设路径确定算法计算出下一个众核芯片对应的目标地址。
步骤S204a、根据目标地址,将对应的待解码数据包发送至所确定出的下一个众核芯片。
该实施例中,数据包解码装置可基于预设路径确定算法确定出下一个众核芯片,具体的,预设路径确定算法可基于各众核芯片的算力及通信量等指标进行计算,将当前比较空闲的众核芯片确定为中转芯片,本公开实施例不对路径确定算法做具体限定,所有能够确定出下一个众核芯片来对第二数据包进行中转的路径确定算法皆属于本公开的保护范围。
图8为本公开实施例提供的又一种数据包解码方法的流程图。参照图8,在另一种可能的实施方式中,数据包解码装置可基于静态规划的方式确定第二数据包所要发送至的下一个众核芯片,具体的,在该实施例中,地址信息还包括:路由信息,该路由信息包括第二数据包从源众核芯片传输至目的众核芯片所要经历的各中转芯片的信息(如芯片地址、芯片位置等)。在该实施方式中,确定第二数据包所要发送至的下一个众核芯片的步骤包括:
步骤S203b、根据路由信息,确定出下一个众核芯片对应的目标地址。
步骤S204b、根据目标地址,将对应的待解码数据包发送至所确定出的下一个众核芯片。
在该实施例中,数据包解码装置通过读取第二数据包的包头中的路由信息确定出第二数据包从当前源众核芯片即将流向的下一个众核芯片对应的目标地址,进而根据该目标地址,将第二数据包进行传输。
在上述步骤S202中,当判断出自身所在众核芯片地址与目的众核芯片地址不同时,执行步骤S203a~S204a,或者执行步骤S203b~S204b。
图9为本公开实施例提供的一种数据包编码装置的组成框图。
参照图9,本公开实施例提供的数据包编码装置包括:第一接收模块11和编码模块12;其中,第一接收模块11用于接收当前众核芯片上的至少一个计算核发送的至少一个第一数据包,每个该第一数据包由对应的计算核对对应的原始数据包的包体以第一编码方式进行包体编码后得到;编码模块12用于以第二编码方式分别对每个第一数据包的包头进行包头编码,得到至少一个第二数据包。
本公开实施例提供的数据包编码装置用于实现本公开上述实施例所提供的数据包编码方法,具体该数据包编码装置所包含的功能模块以及各功能模块之间的交互请参照上述数据包编码方法对应的方法步骤的描述,此处不再赘述。
图10为本公开实施例提供的另一种数据包解码装置的组成框图。
参照图10,该数据包解码装置包括:第二接收模块21、解码模块22和发送模块23。其中,第二接收模块21用于接收其他众核芯片发送的至少一个待解码数据包;解码模块22用于以预设第二解码方式对接收到的至少一个待解码数据包中的每个待解码数据包的包头进行包头解码和纠错,以得到每个待解码数据包对应的地址信息;该地址信息包括:目的计算核地址;发送模块23用于根据目的计算核地址,将对应的待解码数据包发送至与目的计算核地址对应的目的计算核,以供目的计算核以预设第一解码方式对待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
本公开实施例提供的数据包解码装置用于实现本公开上述实施例所提供的数据包解码方法,具体该数据包解码装置所包含的功能模块以及各功能模块之间的交互请参照上述数据包解码方法对应的方法步骤的描述,此处不再赘述。
需要说明的是,在实际应用中,数据包编码装置和数据包解码装置可集成于一体而组成数据传输装置,该数据传输装置既可具备数据包编码功能,也可具备数据包解码功能,因此,由图9所述的数据包编码装置和图10所示数据包解码装置所组成的数据传输装置也属于本公开的保护范围。
图11为本公开实施例提供的一种众核芯片的组成框图。
参照图11,本公开实施例提供的众核芯片,包括:多个计算核1、数据包编码装置2和数据包解码装置3;计算核1用于对原始数据包的包体以第一编码方式进行包体编码,以得到第一数据包,并将第一数据包发送至数据包编码装置2;以及用于以预设第一解码方式对数据包解码装置3发送的待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。数据包编码装置2包括本公开图9所示的数据包编码装置,并利用本公开实施例所提供的数据包编码方法对数据包进行编码,数据包解码装置3包括本公开图10所示的数据包解码装置,并利用本公开实施例所提供的数据包解码方法对数据包进行解码。
本公开实施例提供一种电子设备,包括:至少一个处理器;以及与该至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例所提供的数据包编码方法,或者执行本公开实施例所提供的数据包解码方法。
本公开实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现本公开所提供的数据包编码方法,或者实现本公开所提供的数据包解码方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (16)

1.一种数据包编码方法,包括:
接收当前众核芯片上的至少一个计算核发送的至少一个第一数据包,每个所述第一数据包为对应的所述计算核对对应的原始数据包的包体以第一编码方式进行包体编码后得到的数据包;
以第二编码方式分别对每个所述第一数据包的包头进行包头编码,得到至少一个第二数据包。
2.根据权利要求1所述的数据包编码方法,其中,所述第一编码方式包括:超冗余编码方式;所述第二编码方式包括:PCIe编码方式。
3.根据权利要求1所述的数据包编码方法,其中,
所述原始数据包的包头包括:地址信息;所述原始数据包的包体包括:待传输数据;
所述第一数据包的包头包括:所述地址信息;所述第一数据包的包体包括:所述待传输数据和第一纠错码;
所述第二数据包的包头包括:所述地址信息和第二纠错码;所述第二数据包的包体包括:所述待传输数据和所述第一纠错码。
4.根据权利要求1所述的数据包编码方法,其中,所述第二数据包的包头包括:地址信息;
在所述以第二编码方式分别对每个所述第一数据包的包头进行包头编码,得到至少一个第二数据包之后,还包括:
根据所述地址信息,将每个所述第二数据包发送至各自对应的下一个众核芯片。
5.根据权利要求4所述的数据包编码方法,其中,所述地址信息包括:路由信息;
所述根据所述地址信息,将每个所述第二数据包发送至各自对应的下一个众核芯片,包括:
针对每个所述第二数据包,根据所述路由信息确定出该第二数据包对应的所述下一个众核芯片对应的目标地址;
根据所述目标地址,将该第二数据包发送至该第二数据包对应的所述下一个众核芯片。
6.根据权利要求4所述的数据包编码方法,其中,所述地址信息包括:目的地址;
所述根据所述地址信息,将每个所述第二数据包发送至各自对应的下一个众核芯片,包括:
针对每个所述第二数据包,根据所述目的地址,基于预设路径确定算法计算出该第二数据包对应的所述下一个众核芯片对应的目标地址;
根据所述目标地址,将该第二数据包发送至该第二数据包对应的所述下一个众核芯片。
7.根据权利要求4所述的数据包编码方法,其中,在将每个所述第二数据包发送至各自对应的下一个众核芯片之前,还包括:
缓存各计算核对应的所述第二数据包;
检测缓存的第二数据包的数量是否达到预设阈值;
所述将每个所述第二数据包发送至各自对应的下一个众核芯片,包括:
响应于检测出缓存的第二数据包的数量达到预设阈值,将缓存的每个第二数据包发送至各自对应的下一个众核芯片。
8.一种数据包解码方法,包括:
以预设第二解码方式对接收到的至少一个待解码数据包中的每个所述待解码数据包的包头进行包头解码和纠错,以得到每个所述待解码数据包对应的地址信息;所述地址信息包括:目的计算核地址;
根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核,以供所述目的计算核以预设第一解码方式对所述待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
9.根据权利要求8所述的数据包解码方法,其中,所述地址信息还包括:目的众核芯片地址;
在所述根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核之前,还包括:
判断自身所在众核芯片地址是否与所述目的众核芯片地址相同;
所述根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核,包括:
在判断出自身所在众核芯片地址与所述目的众核芯片地址相同的情况下,根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核。
10.根据权利要求9所述的数据包解码方法,其中,在所述判断自身所在众核芯片地址是否与所述目的众核芯片地址相同之后,还包括:
在判断出自身所在众核芯片地址与所述目的众核芯片地址不同的情况下,根据所述目的众核芯片地址,基于预设路径确定算法计算出下一个众核芯片对应的目标地址;
根据所述目标地址,将对应的所述待解码数据包发送至所确定出的下一个众核芯片。
11.根据权利要求9所述的数据包解码方法,其中,所述地址信息还包括:路由信息;
在所述判断自身所在众核芯片地址是否与所述目的众核芯片地址相同之后,还包括:
在判断出自身所在众核芯片地址与所述目的众核芯片地址不同的情况下,则根据所述路由信息,确定出下一个众核芯片对应的目标地址;
根据所述目标地址,将对应的所述待解码数据包发送至所确定出的下一个众核芯片。
12.一种数据包编码装置,包括:
第一接收模块,用于接收当前众核芯片上的至少一个计算核发送的至少一个第一数据包,每个所述第一数据包由对应的所述计算核对对应的原始数据包的包体以第一编码方式进行包体编码后得到;
编码模块,用于以第二编码方式分别对每个所述第一数据包的包头进行包头编码,得到至少一个第二数据包。
13.一种数据包解码装置,包括:
第二接收模块,用于接收其他众核芯片发送的至少一个待解码数据包;
解码模块,用于以预设第二解码方式对接收到的至少一个待解码数据包中的每个所述待解码数据包的包头进行包头解码和纠错,以得到每个所述待解码数据包对应的地址信息;所述地址信息包括:目的计算核地址;
发送模块,用于根据所述目的计算核地址,将对应的所述待解码数据包发送至与所述目的计算核地址对应的目的计算核,以供所述目的计算核以预设第一解码方式对所述待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据。
14.一种众核芯片,包括:多个计算核、数据包编码装置和数据包解码装置;
所述计算核用于对原始数据包的包体以第一编码方式进行包体编码,以得到第一数据包,并将所述第一数据包发送至所述数据包编码装置;以及用于以预设第一解码方式对所述数据包解码装置发送的待解码数据包的包体进行包体解码和纠错,以得到原始的待传输数据;
所述数据包编码装置包括权利要求12所述的数据包编码装置,所述数据包解码装置包括权利要求13所述的数据包解码装置。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据包编码方法,或者执行权利要求8-11中任一项所述的数据包解码方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现如权利要求1-7中任一项所述的数据包编码方法,或者实现权利要求8-11中任一项所述的数据包解码方法。
CN202111235041.5A 2021-10-22 2021-10-22 数据包编码方法、数据包解码方法及装置 Pending CN113965294A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111235041.5A CN113965294A (zh) 2021-10-22 2021-10-22 数据包编码方法、数据包解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111235041.5A CN113965294A (zh) 2021-10-22 2021-10-22 数据包编码方法、数据包解码方法及装置

Publications (1)

Publication Number Publication Date
CN113965294A true CN113965294A (zh) 2022-01-21

Family

ID=79466387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111235041.5A Pending CN113965294A (zh) 2021-10-22 2021-10-22 数据包编码方法、数据包解码方法及装置

Country Status (1)

Country Link
CN (1) CN113965294A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834700A (zh) * 2010-05-12 2010-09-15 北京邮电大学 一种基于数据包的单向可靠传输方法及收发装置
CN102916761A (zh) * 2011-08-01 2013-02-06 华为技术有限公司 编解码方法及相关设备和通信系统
CN103839037A (zh) * 2012-11-23 2014-06-04 华中科技大学 一种基于众核和gpu的网络视频流不良内容检测方法和系统
CN104639460A (zh) * 2015-02-03 2015-05-20 重庆邮电大学 一种基于众核处理器的高速网络数据包并行化接收方法
WO2015106444A1 (zh) * 2014-01-17 2015-07-23 华为技术有限公司 一种数据包的传输方法和传输设备
EP3089080A1 (en) * 2015-04-27 2016-11-02 Universität Zürich Networks and hierarchical routing fabrics with heterogeneous memory structures for scalable event-driven computing systems
CN107222296A (zh) * 2017-05-26 2017-09-29 深圳市冠旭电子股份有限公司 信息传输的方法、终端设备及计算机可读存储介质
WO2017211154A1 (zh) * 2016-06-07 2017-12-14 中兴通讯股份有限公司 前向纠错反馈信息传输方法、装置、设备、存储介质
CN108900423A (zh) * 2018-05-25 2018-11-27 电子科技大学 一种面向片上网络的步到步纠错路由器
US20190294500A1 (en) * 2018-03-22 2019-09-26 Toshiba Memory Corporation Memory system
CN110970039A (zh) * 2019-11-28 2020-04-07 北京蜜莱坞网络科技有限公司 一种音频传输方法、装置、电子设备和存储介质
CN111200740A (zh) * 2020-01-09 2020-05-26 西安万像电子科技有限公司 编码方法及编码器

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834700A (zh) * 2010-05-12 2010-09-15 北京邮电大学 一种基于数据包的单向可靠传输方法及收发装置
CN102916761A (zh) * 2011-08-01 2013-02-06 华为技术有限公司 编解码方法及相关设备和通信系统
CN103839037A (zh) * 2012-11-23 2014-06-04 华中科技大学 一种基于众核和gpu的网络视频流不良内容检测方法和系统
WO2015106444A1 (zh) * 2014-01-17 2015-07-23 华为技术有限公司 一种数据包的传输方法和传输设备
CN104639460A (zh) * 2015-02-03 2015-05-20 重庆邮电大学 一种基于众核处理器的高速网络数据包并行化接收方法
EP3089080A1 (en) * 2015-04-27 2016-11-02 Universität Zürich Networks and hierarchical routing fabrics with heterogeneous memory structures for scalable event-driven computing systems
WO2017211154A1 (zh) * 2016-06-07 2017-12-14 中兴通讯股份有限公司 前向纠错反馈信息传输方法、装置、设备、存储介质
CN107222296A (zh) * 2017-05-26 2017-09-29 深圳市冠旭电子股份有限公司 信息传输的方法、终端设备及计算机可读存储介质
US20190294500A1 (en) * 2018-03-22 2019-09-26 Toshiba Memory Corporation Memory system
CN108900423A (zh) * 2018-05-25 2018-11-27 电子科技大学 一种面向片上网络的步到步纠错路由器
CN110970039A (zh) * 2019-11-28 2020-04-07 北京蜜莱坞网络科技有限公司 一种音频传输方法、装置、电子设备和存储介质
CN111200740A (zh) * 2020-01-09 2020-05-26 西安万像电子科技有限公司 编码方法及编码器

Similar Documents

Publication Publication Date Title
CN110943800B (zh) 数据包的发送方法、装置及系统、存储介质、电子装置
KR100730715B1 (ko) 통신 시스템에서의 유연한 에러 보호 방법
RU2628145C2 (ru) Способ кодирования и декодирования и устройство и система
US9059746B2 (en) Data sharing method, transmitter, receiver and data sharing system
EP1107499B1 (en) Data transmission method, data transmission system, sending device and receiving device
CN112751644A (zh) 数据传输方法、装置及系统、电子设备
JPWO2008139882A1 (ja) 通信システムおよび通信方法、並びに、プログラム
US10014981B2 (en) Transmission method and device based on management data input/output multi-source agreements
US7360142B1 (en) Methods, architectures, circuits, software and systems for CRC determination
CN113965294A (zh) 数据包编码方法、数据包解码方法及装置
CN114257334A (zh) 一种数据编码方法、数据解码方法及通信装置
US11368246B2 (en) Method and device for transmitting or receiving broadcast service in multimedia service system
CN104471888A (zh) 突发数据块中的空闲块idle的处理方法、设备及系统
CN101431338B (zh) 一种自适应里德-所罗门译码器
JP7228797B2 (ja) 受信装置及び受信方法
CN113541871B (zh) 一种生成码字的方法及编解码器
US20220094486A1 (en) Link bit error-based processing method and apparatus
US9008077B2 (en) Method for quick map recovery in case of error in MoCA
JP2017175495A (ja) 送信装置、受信装置、通信システム、方法およびプログラム
CN113918487A (zh) 数据包处理方法、数据包处理装置
CN109660320B (zh) 网络端到端差错控制传输方法、装置及电子设备
JP2019083507A (ja) 受信装置、送信装置、受信方法及び送信方法
JP2011523792A (ja) 不均一なメッセージ保護を提供するためのシステムおよび方法
KR102024521B1 (ko) 전송 장치 및 프레임 전송 방법
EP1187342A2 (en) Signal processing apparatus and method, and recording medium

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