CN117529904A - 分组格式调整技术 - Google Patents

分组格式调整技术 Download PDF

Info

Publication number
CN117529904A
CN117529904A CN202280042895.8A CN202280042895A CN117529904A CN 117529904 A CN117529904 A CN 117529904A CN 202280042895 A CN202280042895 A CN 202280042895A CN 117529904 A CN117529904 A CN 117529904A
Authority
CN
China
Prior art keywords
packet
network
network interface
transmit
interface 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.)
Pending
Application number
CN202280042895.8A
Other languages
English (en)
Inventor
B·G·沃伦
R·扎克
M·德巴奇
T·里默
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN117529904A publication Critical patent/CN117529904A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文中描述的示例涉及一种网络接口装置,所述网络接口装置包括基于用来传送分组的网络来判定包括将被传送的数据的所述分组的分组格式的电路模块以及基于所判定的分组格式来形成所述分组的电路模块。在一些示例中,用来传送分组的所述网络基于所述分组的出口端口。在一些示例中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。在一些示例中,为了判定分组格式,所述电路模块将逐个字节来形成所述分组,以减少由报头字段的数量和前导码所引起的开销。

Description

分组格式调整技术
优先权要求
本申请要求美国专利申请号17/560110(2021年12月22日提交,名称为“PACKETFORMAT ADJUSTMENT TECHNOLOGIES”)的优先权益,其完整内容通过引用以其整体被结合到本文中。
背景技术
云计算为客户端装置提供对数据中心中的远程计算机的计算和存储资源的访问。客户端能够利用远程计算机或计算机集群来执行各种处理或计算操作以及远程数据处理和数据存储或检索。例如,客户端能够是智能电话、物联网(IoT)兼容装置(诸如智能家居)、建筑电器(例如冰箱、灯、摄像机或锁)、可穿戴装置(例如健康监测器、智能手表、智能眼镜)、连接交通工具(例如自动驾驶汽车)和智能城市(例如交通传感器、停车传感器、能量使用传感器)。远程计算机或计算机集群能够包括数据中心,所述数据中心使用高速联网连接被连接到客户端。大量分组通信量能够存在于数据中心内。
附图说明
图1示出示例系统。
图2示出示例分组格式。
图3示出示例系统。
图4示出示例分组格式。
图5示出示例分组格式。
图6示出示例分组格式。
图7示出示例过程。
图8示出示例网络接口装置。
图9示出示例计算系统。
具体实施方式
计算系统能够利用总线、互连和网络接口装置与其它计算系统进行通信。与高性能计算(HPC)和人工智能系统(AI)环境结合利用一些计算系统。在一些示例中,HPC和AI系统能够包括采用内部总线或者采用交换机被连接在一起的图形处理单元(GPU)的向上扩展(scale-up)互连集群,所述交换机连接少量GPU(例如4至8个GPU)。GPU的集群能够在向外扩展(scale-out)系统中使用胖树、蜻蜓或其它组构(fabric)拓扑中的数据中心类交换机被连接到GPU的其它集群。例如,向外扩展系统能够包括数千个GPU。通过增加数量的分组在向上扩展和向外扩展系统中被传送,甚至少量分组开销大小的减少也能够改进网络的有效吞吐量。
图1示出示例系统。处理器100-0至100-A(A≥1)和处理器140-0至140-B(B≥1)能够包括下列的一个或多个:图形处理单元(GPU)、中央处理单元(CPU)、加速器、基础设施处理单元(IPU)、数据处理单元(DPU)、专用集成电路(ASIC)等等。处理器100-0至100-A中的一个处理器能够经由直接连接(例如专有格式或标准互连(例如以太网或InfiniBand))使用接口被耦合到处理器100-0至100-A中的另一处理器。处理器100-0至100-A中的一个处理器能够经由作为小型向上扩展网络或专用网络的部分的交换机110使用接口被耦合到处理器100-0至100-A中的另一处理器。处理器100-0至100-A中的一个处理器能够经由例如数据中心或大型向外扩展网络中作为向外扩展网络的部分的交换机120使用接口被耦合到处理器140-0至140-B中的一个或多个处理器。
接口102-0至102-A和142-0至142-B中的一个或多个接口能够被配置有到另一处理器的一个或多个连接选项。连接选项能够包括:直接互连、具有交换机110或交换机130的专用网络(例如具有6-8个处理器的开放计算项目(OCP)平台)或者经由交换机120的数据中心网络(例如通过更大组构(以太网)的连接)。在一些示例中,接口102-0能够被集成到具有处理器100-0的相同的片上系统(SoC)或集成电路中。相似地,接口102-1至102-A能够被集成到具有相应处理器100-1至100-A的相同的片上系统或集成电路中。
一些示例根据用来传送分组的网络来调整帧格式。在一些示例中,分组能够包括数据,所述数据在大小上能够从子缓存行、缓存行大小进行变化并且更大。接口能够选择分组格式,包括将被传送的数据、前导码、报头和末尾。对于向上扩展链路,使用更少的帧开销,因为潜在目的地的数量较小,数据损坏的可能性也较小。向外扩展链路能够利用更多路由选择信息,所述信息可根据连接是被包含在单个机架内还是穿过大规模数据网络的多个层级(tier)在逐连接的基础上变化。相应地,逐连接有效吞吐量效率能够被调谐。在一些示例中,多个不同格式的分组能够由接口102-0至102-A和142-0至142-B同时传送或接收。
在一些示例中,来自接口的出口端口能够与所使用的网络相关(例如直接互连、具有单个交换机的专用网络或者数据中心网络)。分组格式的选择能够基于数据的出口端口。然而,对任何端口可支持多个单独帧格式。例如,端口0能够用于直接连接,端口1能够用于小交换机,以及端口2能够用于更大交换机。
分组的报头的形成能够逐个字节被执行,以减小报头的大小。分组能够被形成为在报头中不携带也处于有效载荷中的信息,或反之亦然。例如,有效载荷可能指示目标或源实体(例如装置标识符或进程标识符)。一些示例移除冗余信息,并且在一个数据结构中指示所述信息。要在报头中包括的字节的确定能够基于所使用的网络。直接连接的报头能够基于上下文索引表。在专用网络中将被传送的报头能够使用源地址(SA)、目的地地址(DA)和上下文索引表。在数据中心网络中将被传送的报头能够使用SA、DA和上下文索引表。
通过当可能时支持定制帧或者支持标准帧以提供与交换机和网络接口装置的兼容性,一些示例提供与各种交换机供应商产品的互操作性。交换机110、120和130能够配置成解释定制格式的集合或标准帧格式的报头位置和报头值。
分组格式能够在帧开始(SoF)定界符字节、报头、前导码或分组有效载荷处和/或附近的字节中被识别。例如,以太网前导码中的一个或多个比特能够指示使用特定分组格式。为了区分帧类型,SoF和前导码可能如表1中被编码。
表1
在给定前导码仅通过前向错误纠正(FEC)被校正以及不被帧校验序列(FCS)覆盖的情况下,用来在缺省代码之间进行区分的前两个前导码字节被选择,因此多个比特会静寂地翻转以对帧类型不正确地解码。第三前导码字节能够用作校验字节,并且对这个示例包括前两个字节中设置的比特数加上半字节中的2的模计数。这个编码允许帧类型2作为标准以太网前导码。前导码字节以及所接受的帧类型可能是在逐端口基础上经由寄存器可配置的。附加地,循环冗余校验(CRC)或其它技术可能用来验证前导码字段。帧报头中比特的预定义集合也可能用来区分帧格式类型。
网络管理器150能够确定处理器之间的连接路径(例如网络),并且为接口配置这类路径。路径能够基于拥塞(例如聚播(incast)、故障等)而被改变。
要注意,接收方接口能够接收分组,并且基于分组报头和/或前导码中的格式指示来解释分组。接收方接口能够向发送方接口发送对接收的确认(ACK)。接收方还能够使用CRC值或其它校验和来验证前导码。
图2示出能够被构成的多种帧格式的示例。对于直接连接网络,定制报头能够是0B或更多字节。对于小交换机(专用)网络,能够包括报头,诸如L2报头字段(例如MAC、Ethertype)。对于数据中心网络,能够使用L3报头(例如IPv4或IPv6报头)。例如,第一帧格式能够是用于向外扩展的IPv4帧。第一帧格式对于小有效载荷具有~50%的链路效率(64B数据/总共130B),而底部帧格式具有~70%的链路效率。其它帧格式是可能被创建的其它格式的非详尽示例。可靠传输报头能够包括分组序列号和事务标识符,并且用于对分组接收的确证。接收方对于未接收分组能够支持返回N和选择性ACK。
图3示出形成分组的示例方式。报头能够从具有多个连接上下文索引表的一组寄存器的内容被创建。能够计算诸如CRC和长度之类的一些字段。在接收时,可能执行反向操作,从而提取帧的连接上下文信息以进一步减少帧开销,而不是在帧中具有开销的附加字节以显式包含上下文引用。
例如,报头能够通过选择所述报头内的数据的每个字节的源被构建。帧的内容的源能够包括:静态“模板”寄存器、目的地地址(DA)索引表、源地址(SA)索引表、上下文索引表和/或专用功能(CRC、长度等)。
目的地地址(DA)索引表的示例是24B/条目,并且要求每个所支持目的地地址的条目。对于16K条目表,所使用的存储器会是大致~400kB。对于许多帧格式,12B/条目是充分的,因此通过对于要求多于12B/条目的报头格式仅支持8K个条目,表要求可能被减半到~200kB。到这个表中的索引可能是哈希的或者直接查找,这取决于DA指派选择。
源地址(SA)索引表被提供,以对给定的端点支持一个或多个源地址(SA)。所述SA索引表能够包括24B/条目以与DLID表是对称的,但是仅具有少量条目。
表2提供关于如何指定以太网报头(无论是标准的还是定制的)的高级视图。构建IPv4、IPv6和定制帧的示例如下。
表2
图4示出大网络连接的示例分组格式。分组能够并行地逐字节被形成,如本文中所述。表3提供图4的分组中的字节的示例。
表3:以太网报头{L2 w/802.1q,IPv4,UDP,RTH}建立
图5示出数据中心网络连接的示例分组格式。表4提供图5的分组中的字节的示例。
表4
/>
/>
图6示出小(例如专用)网络的报头格式的示例。表5提供图6的分组中的字节的示例。
表1:HPC以太网报头建立
/>
图7示出示例过程。所述过程能够由处理器的接口来执行。在702,确定用来发送数据的网络。用来传送分组的网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。网络能够基于出口端口被确定。在704,基于所确定网络来形成数据的分组。基于所判定的分组格式来形成分组将基于下列的一个或多个来形成分组:源地址(SA)、目的地地址(DA)和上下文索引表。在所形成分组中,标识帧开始(SoF)分界符字节、报头、前导码处和/或附近的一个或多个字节中的分组格式。在706,向目的地传送所形成的分组。
图8示出示例网络接口装置。网络接口装置能够包括处理器,以基于要用来到达目的地处理器或装置的网络的类型来形成分组,如本文中所描述的。网络接口800能够包括收发器802、处理器804、传送队列806、接收队列808、存储器810和总线接口812以及DMA引擎852。收发器802能够具有依照可适用协议(诸如,如IEEE 802.3中所述的以太网)来接收和传送分组的能力,但是可使用其它协议。收发器802能够经由网络介质(未示出)从和向网络接收和传送分组。收发器802能够包括PHY电路模块814和介质访问控制(MAC)电路模块816。PHY电路模块814能够包括编码和解码电路模块(未示出),以按照可适用物理层规范或标准对数据分组进行编码和解码。MAC电路模块816能够配置成组装数据以被传送到分组中,所述分组包括目的地和源地址连同网络控制信息和错误检测哈希值。
处理器804能够是下列任何组合:处理器,核心,图形处理单元(GPU),现场可编程门阵列(FPGA),专用集成电路(ASIC),或者允许对网络接口800的编程的其它可编程硬件装置。例如,“智能网络接口”能够使用处理器804来提供网络接口中的分组处理能力。处理器804(包括其数据平面)的操作的配置能够使用编程协议无关分组处理器(P4)、C、Python、Broadcom网络编程语言(NPL)或x86兼容可执行二进制或其它可执行二进制被编程。处理器804能够执行指令,以基于要用来到达目的地处理器或装置的网络的类型来形成分组,如本文中所描述的。片上系统850能够包括微处理器,所述微处理器执行指令,以基于要用来到达目的地处理器或装置的网络的类型来形成分组,如本文中所描述的。
分组分配器824能够使用本文中描述的时隙分配或者RSS来提供所接收分组的分发,以供多个CPU或核心来处理。当分组分配器824使用RSS时,分组分配器824能够基于所接收的分组的内容来计算哈希或者进行另一确定,以确定哪一个CPU或核心将处理分组。
中断合并822能够执行中断调控,由此在生成对主机系统的中断以处理(一个或多个)所接收分组之前,网络接口中断合并822等待多个分组到达或者等待超时到期。接收段合并(RSC)能够由网络接口800执行,由此传入分组的部分被组合为分组的段。网络接口800向应用提供这个合并分组。
直接存储器存取(DMA)引擎852能够将分组报头、分组有效载荷和/或描述符从主机存储器直接复制到网络接口或者反之亦然,而不是将分组复制到主机处的中间缓冲器并且然后使用从中间缓冲器到目的地缓冲器的另一复制操作。
存储器810能够是任何类型的易失性或非易失性存储器装置,并且能够存储用来对网络接口800进行编程的任何队列或指令。传送队列806能够包括数据或者对数据的引用,以供网络接口来传送。接收队列808能够包括由网络接口从网络所接收的数据或者对所述数据的引用。描述符队列820能够包括描述符,所述描述符引用传送队列806或接收队列808中的数据或分组。总线接口812能够提供与主机装置(未示出)的接口。例如,总线接口812能够与PCI、PCI快速、PCI-x、串行ATA和/或USB兼容接口兼容(但是可使用其它互连标准)。
图9示出示例计算系统。系统900的部件(例如处理器910、网络接口950等等)基于要用来到达目的地处理器或装置的网络的类型来形成分组,如本文中所描述的。系统900包括处理器910,所述处理器提供对系统900的指令的处理、操作管理和执行。处理器910能够包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理核心或者为系统900提供处理的其它处理硬件或者处理器的组合。处理器910控制系统900的总体操作,并且能够是或者包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)或诸如此类或者这类装置的组合。
在一个示例中,系统900包括被耦合到处理器910的接口912,所述接口能够表示系统部件(诸如存储器子系统920或图形接口部件940或者加速器942)的更高速度接口或高吞吐量接口,所述接口需要更高带宽连接。接口912表示接口电路,所述接口电路能够是独立部件或者被集成到处理器管芯上。在存在的情况下,图形接口940与图形部件通过接口连接,用于向系统900的用户提供可视显示。在一个示例中,图形接口940能够驱动高清晰度(HD)显示器,所述HD显示器向用户提供输出。高清晰度能够指代具有大约100PPI(每英寸像素)或以上的像素密度的显示,并且能够包括诸如全HD(例如1080p)、视网膜显示器、4K(超高清晰度或UHD)或其它的格式。在一个示例中,显示器能够包括触摸屏显示器。在一个示例中,图形接口940基于存储器930中存储的数据或者基于由处理器910执行的操作或两者来生成显示。在一个示例中,图形接口940基于存储器930中存储的数据或者基于由处理器910执行的操作或两者来生成显示。
加速器942能够是能够由处理器910访问或使用的可编程迁移引擎或固定功能。例如,加速器942之中的加速器能够提供压缩(DC)能力、密码服务(诸如公有密钥加密(PKE))、密码、哈希/认证能力、解密或其它能力或服务。在一些实施例中,附加地或替代地,加速器942之中的加速器提供如本文中描述的现场选择控制器能力。在一些情况下,加速器942能够被集成到CPU插座(例如,到母板或电路板的连接器,所述母板或电路板包括CPU并且提供与CPU的电接口)中。例如,加速器942能够包括单核心或多核心处理器、图形处理单元、逻辑执行单元单级或多级缓存、可用来独立地执行程序或线程的功能单元、专用集成电路(ASIC)、神经网络处理器(NNP)、可编程控制逻辑以及可编程处理元件(诸如现场可编程门阵列(FPGA)或可编程逻辑装置(PLD))。加速器942能够提供多个神经网络、CPU、处理器核心、通用图形处理单元或图形处理单元,能被使得可用于供由人工智能(AI)、AI训练、机器学习(ML)模型和/或基于AI或ML模型的推断来使用。例如,AI模型能够使用或包括下列的一个或多个:强化学习方案,Q学习方案,深度Q学习或异步优势执行器评述器(AsynchronousAdvantage Actor-Critic,A3C)、组合神经网络、递归组合神经网络或者其它AI或ML模型。能够使多个神经网络、处理器核心或图形处理单元可用于供AI或ML模型来使用。
存储器子系统920表示系统900的主存储器,并且为将要由处理器910执行的代码或者将要在执行例程中使用的数据值提供存储。存储器子系统920能够包括一个或多个存储器装置930,诸如只读存储器(ROM)、闪速存储器、一个或多个种类的随机存取存储器(RAM)(诸如DRAM)或其它存储器装置或者这类装置的组合。存储器930除了其它内容还存储和包含操作系统(OS)932,以提供软件平台以用于系统900中指令的执行。附加地,应用934能够在来自存储器930的OS 932的软件平台上执行。应用934表示程序,所述程序具有其自己的操作逻辑以执行一个或多个功能的执行。进程936表示代理或例程,所述代理或例程向OS 932或一个或多个应用934或者组合提供辅助功能。OS 932、应用934和进程936提供软件逻辑,以提供系统900的功能。在一个示例中,存储器子系统920包括存储器控制器922,所述存储器控制器是生成并且向存储器930发出命令的存储器控制器。将会理解,存储器控制器922可能是处理器910的物理部分或者接口912的物理部分。例如,存储器控制器922能够是被集成到具有处理器910的电路上的集成存储器控制器。
应用934和/或进程936能够替代地或附加地指代虚拟机(VM)、容器、微服务、处理器或其它软件。本文中描述的各个示例能够执行由微服务所组成的应用,其中微服务在其自己的进程中运行,并且使用协议(例如应用程序接口(API)、超文本传输协议(HTTP)资源API、消息服务、远程过程调用(RPC)或Google RPC(gRPC))进行通信。微服务能够使用服务网格相互通信,并且在一个或多个数据中心或边缘网络中被执行。微服务能够使用这些服务的集中式管理而被独立部署。管理系统可以以不同编程语言被编写,并且使用不同数据存储技术。微服务能够被表征为下列的一项或多项:多语言编程(例如以多种语言所编写以获取以单一语言不可用的附加功能性和效率的代码)或者轻量容器或虚拟机部署以及分散式连续微服务交付。
虚拟机(VM)可以是运行操作系统和一个或多个应用的软件。VM能够通过规范、配置文件、虚拟盘文件、非易失性随机存取存储器(NVRAM)设置文件和日志文件而被定义,并且通过主机计算平台的物理资源而被支持。VM可包括被安装在模仿专用硬件的软件上的操作系统(operating system,OS)或应用环境。终端用户在虚拟机上具有如同他们将在专用硬件上所具有的相同体验。被称为管理程序的专业化软件完全对PC客户端或服务器的CPU、存储器、硬盘、网络和其它硬件资源进行仿真,从而使虚拟机能够共享资源。管理程序可对与另一虚拟硬件平台隔离的多个虚拟硬件平台进行仿真,从而允许虚拟机在相同的底层物理主机上运行Server、VMware ESXi和其它操作系统。
容器能够是应用、配置和依赖关系的软件包,因此,应用在一个计算环境到另一计算环境可靠地运行。容器能够共享安装在服务器平台上的操作系统,并且作为隔离的进程运行。容器能够是包含软件运行所需的任何内容(诸如,系统工具、库和设置)的软件包。容器能够与其它软件和操作系统本身隔离。容器的隔离性质提供若干益处。首先,容器中的软件将在不同环境中以相同方式运行。例如,包括PHP和MySQL的容器可在计算机和机器两者上以完全相同的方式运行。其次,容器提供增加的安全性,因为软件将不会影响主机操作系统。虽然安装的应用会更改系统设置并修改资源(诸如,Windows注册表),但容器能够仅修改所述容器内的设置。
在一些示例中,OS 932能够是Server或个人计算机、VMware vSphere、openSUSE、RHEL、CentOS、Debian、Ubuntu或者任何其它操作系统。OS和驱动器能够在一个或多个处理器上执行,所述处理器由/> Texas/>以及其它公司销售或设计。在一些示例中,驱动器能够将网络接口950配置成基于要用来到达目的地处理器或装置的网络的类型来形成分组,如本文中所描述的。在一些示例中,驱动器能够启用或禁用到网络接口950的迁移,以基于要用来到达目的地处理器或装置的网络的类型来形成分组,如本文中所描述的。驱动器能够公告网络接口950基于要用来到达目的地处理器或装置的网络的类型来形成分组的能力,如本文中所描述的。
虽然没有具体图示,但将会理解,系统900能够包括装置之间的一个或多个总线或总线系统,诸如存储器总线、图形总线、接口总线或其它总线。总线或其它信号线能够将部件通信地或电耦合在一起,或者通信地和电耦合部件。总线能够包括物理通信线、点对点连接、桥接器、适配器、控制器或其它电路模块或者组合。总线能够包括例如下列的一个或多个:系统总线、外设部件互连(PCI)总线、超传输或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或者电气和电子工程师协会(IEEE)标准1394总线(火线)。
在一个示例中,系统900包括接口914,所述接口能够被耦合到接口912。在一个示例中,接口914表示接口电路,所述接口电路能够包括独立部件和集成电路模块。在一个示例中,多个用户接口部件或外围部件或两者耦合到接口914。网络接口950为系统900提供通过一个或多个网络与远程装置(例如服务器或其它计算装置)进行通信的能力。网络接口950能够包括以太网适配器、无线互连部件、蜂窝网络互连部件、USB(通用串行总线)或者其它基于有线或无线标准或者专有的接口。网络接口950能够向相同的数据中心或机架中的装置或者远程装置传送数据,这能够包括发送存储器中存储的数据。
网络接口950的一些示例是基础设施处理单元(IPU)或数据处理单元(DPU)的部分或者由IPU或DPU利用。xPU能够至少指代IPU、DPU、GPU、GPGPU或者其它处理单元(例如加速器装置)。IPU或DPU能够包括具有一个或多个可编程管线或固定功能处理器的网络接口,以执行对可能由CPU已经执行的操作的迁移。IPU或DPU能够包括一个或多个存储器装置。在一些示例中,IPU或DPU能够执行虚拟交换操作,管理存储事务(例如压缩、密码、虚拟化),并且管理其它IPU、DPU、服务器或装置上所执行的操作。
在一个示例中,系统900包括一个或多个输入/输出(I/O)接口960。I/O接口960能够包括一个或多个接口部件,用户通过所述接口部件与系统900进行交互(例如音频、字母数字、触觉/触摸或其它接口)。外围接口970能够包括以上没有具体提到的任何硬件接口。外设一般指代依赖地连接到系统900的装置。依赖连接是一种连接,其中系统900提供软件平台和/或硬件平台或两者,操作在其上执行并且用户与其进行交互。
在一个示例中,系统900包括存储子系统980,以便以非易失性方式来存储数据。在一个示例中,在某些系统实现中,存储装置980的至少某些部件能够与存储子系统920的部件重叠。存储子系统980包括(一个或多个)存储装置984,所述存储装置能够是或者包括用于以非易失性方式来存储大量数据的任何常规介质,诸如一个或多个基于磁、固态或光的盘或者组合。存储装置984以永久状态(例如,尽管对系统900中断电力,值也被保留)来保存代码或指令和数据986。存储装置984能够一般被认为是“存储器”,但是存储器930典型地是执行或操作存储器,以向处理器910提供指令。虽然存储装置984是非易失性的,但存储器930能够包括易失性存储器(例如,如果对系统900中断电力,则数据的值或状态是不确定的)。在一个示例中,存储子系统980包括控制器982,以与存储装置984通过接口连接。在一个示例中,控制器982是接口914或处理器910的物理部分,或者能够包括处理器910和接口914两者中的电路或逻辑。
易失性存储器是一种存储器,如果对装置中断电力,则其状态(并且因此其中存储的数据)是不确定的。动态易失性存储器使用刷新装置中存储的数据,以保持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)或者某个变体,诸如同步DRAM(SDRAM)。易失性存储器的示例包括缓存。
非易失性存储器(NMV)装置是一种存储器,其状态即使在对装置中断电力时也是确定的。在一个实施例中,NVM装置能够包括块可寻址存储器装置,诸如NAND技术。NVM装置还能够包括字节可寻址原位写入三维交叉点存储器装置或者其它字节可寻址原位写入NVM装置(又被称为永久存储器),诸如单级或多级相变存储器(PCM)或者具有开关的相变存储器(PCMS)、OptaneTM存储器、使用硫族化物相变材料(例如硫族化物玻璃)的NVM装置或者上述一个或多个的组合或其它存储器。
电源(未示出)向系统900的部件提供电力。更具体来说,电源典型地与系统900中的一个或多个电力供应通过接口连接,以向系统900的部件提供电力。在一个示例中,电力供应包括插入到墙壁插座中的AC到DC(交流到直流)适配器。此类AC电力能够是可再生能源(例如,太阳能)电源。在一个示例中,电源包括DC电源,诸如外部AC到DC转换器。在一个示例中,电源或电力供应包括无线充电硬件,以经由与充电场的接近进行充电。在一个示例中,电源能够包括内部电池、交流供应、基于运动的电力供应、太阳能供应或燃料电池源。
在示例中,能够使用处理器、存储器、存储装置、网络接口和其它部件的互连计算撬板来实现系统900。能够使用高速互连,诸如:以太网(IEEE 802.3)、远程直接存储器存取(RDMA)、InfiniBand、因特网广域RDMA协议(iWARP)、传送控制协议(TCP)、用户数据报协议(UDP)、快速UDP因特网连接(QUIC)、通过汇聚以太网的RDMA(RoCE)、外设部件互连快速(PCIe)、Intel QuickPath互连(QPI)、Intel超路径互连(UPI)、Intel片上系统组构(IOSF)、Omni-path、计算快速链路(CXL)、HyperTransport、高速组构、NVLink、高级微控制器总线体系结构(AMBA)互连、OpenCAPI、Gen-Z、无限组构(IF)、用于加速器的缓存一致互连(CCIX)、3GPP长期演进(LTE)(4G)、3GPP 5G及其变化。数据能够使用诸如通过组构的NVMe(NVME-oF)或NVMe之类的协议被复制或存储到虚拟化存储节点或者被访问。
本文中的示例可在各种类型的计算和联网设备中被实现,诸如交换机、路由器、机架和刀片服务器,诸如数据中心和/或服务器场环境中采用的那些设备。数据中心和服务器场中使用的服务器包括阵列服务器配置,诸如基于机架的服务器或刀片服务器。这些服务器经由各种网络配备在通信上互连,诸如将服务器集合分区为具有局域网(LAN)之间的适当交换和路由设施的LAN,以形成专用内联网。例如,云托管设施典型地可采用具有大量服务器的大型数据中心。刀片包括单独的计算平台,所述计算平台配置成执行服务器类型功能,即,“卡上服务器”。相应地,刀片能够包括常规服务器共同的部件,包括提供内部布线(例如总线)的主印刷电路板(主板),用于耦合适当集成电路(IC)以及被安装到所述板的其它部件。
在一些示例中,本文中描述的网络接口和其它实施例能够与基站(例如3G、4G、5G等等)、宏基站(例如5G网络)、微微站(例如IEEE 802.11兼容接入点)、纳米站(例如用于点对多点(PtMP)应用)、场所中的数据中心、场所外的数据中心、边缘网络元件、边缘服务器、边缘交换机、雾网络元件和/或混合数据中心(例如使用虚拟化、云和软件定义的联网跨物理数据中心和分布式多云环境来输送应用工作负荷的数据中心)结合使用。
可使用硬件元件、软件元件或两者的组合来实现各个示例。在一些示例中,硬件元件可包括装置、部件、处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片组等等。在一些示例中,软件元件可包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者它们的组合。确定是否使用硬件元件和/或软件元件来实现示例可根据任何数量的因素而改变,例如期望计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及如对给定的实现所预期的其它设计和性能约束。处理器能够是硬件状态机、数字控制逻辑、中央处理单元或者任何硬件、固件和/或软件元件的一个或多个组合。
一些示例可使用或者作为制造的物品或者至少一个计算机可读介质被实现。计算机可读介质可包括存储逻辑的非暂态存储介质。在一些示例中,非暂态存储介质可包括能够存储电子数据的一个种或多个类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦或不可擦存储器、可写或可重写存储器等等。在一些示例中,逻辑可包括各种软件元件,诸如软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者它们的组合。
按照一些示例,计算机可读介质可包括存储或保持指令的非暂态存储介质,所述指令在由机器、计算装置或系统执行时使所述机器、计算装置或系统执行根据所述的示例的方法和/或操作。所述指令可包括任何适合类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码和诸如此类。所述指令可按照预定义计算机语言、方式或语法被实现,用于指示机器、计算装置或系统执行某个功能。所述指令可使用任何适合的高级、低级、面向对象、可视、汇编和/或解释编程语言被实现。
至少一个示例的一个或多个方面可通过至少一个机器可读介质上存储的代表指令被实现,所述指令表示处理器内的各种逻辑,其在由机器、计算装置或系统读取时使所述机器、计算装置或系统制作执行本文中描述的技术的逻辑。被称为“IP核心”的这类表示可被存储在有形机器可读介质上,并且被供应到各种消费者或制造设施,以加载到实际制作逻辑或处理器的制造机器中。
短语“一个示例”或“示例”的出现不一定全部指代相同的示例或实施例。本文中描述的任何方面能够与本文中描述的任何其它方面或相似方面相组合,而不管是否针对相同的附图或元件来描述所述方面。所附的附图中所示的块功能的划分、省略或包括并不推断用于实现这些功能的硬件部件、电路、软件和/或元件在实施例中会一定被划分、省略或包括。
一些示例可使用表达“被耦合”和“被连接”及其派生来描述。这些术语不一定旨在作为彼此的同义词。例如,使用术语“被连接”和/或“被耦合”的描述可指示两个或更多元件相互直接物理或电接触。然而,术语“被耦合”还可意味着两个或更多元件不是相互直接接触,但仍然相互协作或交互。
本文中的术语“第一”、“第二”和诸如此类并不表示任何顺序、量或重要性,而是用来区分一个元件与另一元件。本文中的术语“一(a、an)”并不表示对量的限制,而是表示存在所引用的项中的至少一个。本文中参照信号所使用的术语“断言”表示所述信号的某一状态,其中所述信号是活动的,并且所述状态能够通过对所述信号应用任何逻辑电平(逻辑0或者逻辑1)被实现。术语“跟随”或“之后”能够指代立即跟随或者跟随在某个其它事件或某些其它事件之后。其它操作序列也可按照替代实施例被执行。此外,可根据特定应用来添加或移除附加操作。能够使用变化的任何组合,以及获益于本公开的本领域的普通技术人员会理解其许多变更、修改和替代实施例。
除非另加明确陈述,否则诸如短语“X、Y或Z中的至少一个”之类的析取语言在上下文之内被理解为用来一般呈现项、术语等可以是X、Y或Z或者它们的组合(例如X、Y和/或Z)。因此,这种析取语言不是一般旨在并且不应当暗示某些实施例要求X中的至少一个、Y中的至少一个或者Z中的至少一个每个都存在。附加地,除非另加具体陈述,否则诸如短语“X、Y和Z中的至少一个”之类的析取语言也应当被理解为表示X、Y、Z或者它们的组合,包括“X、Y和/或Z”。
下面提供本文中公开的装置、系统和方法的说明性示例。装置、系统和方法的实施例可包括以下描述的示例中的一个或多个以及它们的组合。
示例1包括一个或多个示例,并且包括一种设备,包括:网络接口装置,包括:基于用来传送分组的网络来判定包括将被传送的数据的所述分组的分组格式的电路模块,以及基于所判定的分组格式来形成所述分组的电路模块。
示例2包括一个或多个示例,其中,用来传送所述分组的所述网络基于所述分组的出口端口。
示例3包括一个或多个示例,其中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。
示例4包括一个或多个示例,其中,为了判定分组格式,所述电路模块将逐个字节来形成所述分组,以减少由报头字段的数量和前导码所引起的开销。
示例5包括一个或多个示例,其中,基于所判定的分组格式来形成所述分组的所述电路模块将标识帧开始(SoF)分界符字节、报头或前导码处和/或附近的一个或多个字节中的分组格式。
示例6包括一个或多个示例,并且包括被耦合到所述网络接口装置的图形处理单元(GPU),其中,所述GPU将在所述分组中提供将被传送的所述数据,并且其中所述GPU和网络接口装置被集成到单个片上系统(SoC)中。
示例7包括一个或多个示例,其中,所述网络接口装置将同时传送不同格式的分组。
示例8包括一个或多个示例,并且包括被耦合到所述网络接口装置的服务器,其中,所述服务器将在所述分组中提供将被传送的所述数据,并且所述服务器将指定用来传送所述分组的所述网络。
示例9包括一个或多个示例,并且包括数据中心,其中,所述数据中心包括第二网络接口装置,所述第二网络接口装置将接收所传送的分组,以及所述第二网络接口装置配置成标识所述分组的报头的位置,并且解释所述分组。
示例10包括一个或多个示例,并且包括一种计算机可读介质,所述计算机可读介质包括其上存储的指令,所述指令如果由一个或多个处理器来执行则使所述一个或多个处理器:将网络接口装置配置成:基于用来传送分组的网络来判定包括将被传送的数据的所述分组的分组格式,并且基于所判定的分组格式来形成所述分组。
示例11包括一个或多个示例,其中,用来传送所述分组的所述网络基于所述分组的出口端口。
示例12包括一个或多个示例,其中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。
示例13包括一个或多个示例,其中,为了判定分组格式,所述网络接口装置将逐个字节来形成所述分组,以减少由报头字段的数量和前导码所引起的开销。
示例14包括一个或多个示例,其中,基于所判定的分组格式来形成所述分组的所述网络接口装置将基于下列的一个或多个来形成所述分组:源地址(SA)、目的地地址(DA)和上下文索引表。
示例15包括一个或多个示例,其中,基于所判定的分组格式来形成所述分组的所述网络接口装置将标识帧开始(SoF)分界符字节、报头或前导码处和/或附近的一个或多个字节中的分组格式。
示例16包括一个或多个示例,并且包括一种方法,包括:网络接口装置基于用来传送分组的网络来确定包括将被传送的数据的所述分组的分组格式,并且所述网络接口装置基于所确定的分组格式来形成所述分组。
示例17包括一个或多个示例,其中,用来传送所述分组的所述网络基于所述分组的出口端口。
示例18包括一个或多个示例,其中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。
示例19包括一个或多个示例,并且包括所述网络接口装置基于所确定的分组格式并且基于下列的一个或多个来形成所述分组:源地址(SA)、目的地地址(DA)和上下文索引表。
示例20包括一个或多个示例,并且包括网络接口装置标识帧开始(SoF)分界符字节、报头或前导码处和/或附近的一个或多个字节中的分组格式。

Claims (20)

1.一种设备,包括:
网络接口装置,包括:
基于用来传送分组的网络来判定包括将被传送的数据的所述分组的分组格式的电路模块,以及
基于所判定的分组格式来形成所述分组的电路模块。
2.如权利要求1所述的设备,其中,用来传送所述分组的所述网络基于将传送所述分组的出口端口。
3.如权利要求1所述的设备,其中,为了判定分组格式,所述电路模块将逐个字节来形成所述分组,以减少由报头字段的数量和前导码所引起的开销。
4.如权利要求1所述的设备,其中,基于所判定的分组格式来形成所述分组的所述电路模块将标识帧开始(SoF)分界符字节、报头或前导码处和/或附近的一个或多个字节中的分组格式。
5.如权利要求1所述的设备,包括被耦合到所述网络接口装置的图形处理单元(GPU),其中,所述GPU将在所述分组中提供将被传送的所述数据,并且其中,所述GPU和网络接口装置被集成到单个片上系统(SoC)中。
6.如权利要求1所述的设备,其中,所述网络接口装置将同时传送不同格式的分组。
7.如权利要求1-6的任一项所述的设备,其中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。
8.如权利要求1-7的任一项所述的设备,包括被耦合到所述网络接口装置的服务器,其中,所述服务器将在所述分组中提供将被传送的所述数据,并且所述服务器将指定用来传送所述分组的所述网络。
9.如权利要求1-8的任一项所述的设备,包括数据中心,其中,所述数据中心包括第二网络接口装置,所述第二网络接口装置将接收所传送的分组,以及所述第二网络接口装置配置成标识所述分组的报头的位置,并且解释所述分组。
10.一种计算机可读介质,包括其上存储的指令,所述指令如果由一个或多个处理器来执行,则使所述一个或多个处理器:
将网络接口装置配置成:
基于用来传送分组的网络来判定包括将被传送的数据的所述分组的分组格式,以及
基于所判定的分组格式来形成所述分组。
11.如权利要求10所述的计算机可读介质,其中,用来传送所述分组的所述网络基于将传送所述分组的出口端口。
12.如权利要求10所述的计算机可读介质,其中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。
13.如权利要求10所述的计算机可读介质,其中,为了判定分组格式,所述网络接口装置将逐个字节来形成所述分组,以减少由报头字段的数量和前导码所引起的开销。
14.如权利要求10所述的计算机可读介质,其中,基于所判定的分组格式来形成所述分组的所述网络接口装置将基于下列的一个或多个来形成所述分组:源地址(SA)、目的地地址(DA)和上下文索引表。
15.如权利要求10-14的任一项所述的计算机可读介质,其中,基于所判定的分组格式来形成所述分组的所述网络接口装置将标识帧开始(SoF)分界符字节、报头或前导码处和/或附近的一个或多个字节中的分组格式。
16.一种方法,包括:
网络接口装置基于用来传送分组的网络来确定包括将被传送的数据的所述分组的分组格式,以及
所述网络接口装置基于所确定的分组格式来形成所述分组。
17.如权利要求16所述的方法,其中,用来传送所述分组的所述网络基于将传送所述分组的出口端口。
18.如权利要求16所述的方法,其中,用来传送所述分组的所述网络包括下列的一个或多个:直接互连、小型向上扩展网络或大型向外扩展网络。
19.如权利要求16所述的方法,包括网络接口装置标识帧开始(SoF)分界符字节、报头或前导码处和/或附近的一个或多个字节中的分组格式。
20.如权利要求16-19的任一项所述的方法,包括所述网络接口装置基于所确定的分组格式并且基于下列的一个或多个来形成所述分组:源地址(SA)、目的地地址(DA)和上下文索引表。
CN202280042895.8A 2021-12-22 2022-11-10 分组格式调整技术 Pending CN117529904A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/560,110 US20220116325A1 (en) 2021-12-22 2021-12-22 Packet format adjustment technologies
US17/560110 2021-12-22
PCT/US2022/049613 WO2023121785A1 (en) 2021-12-22 2022-11-10 Packet format adjustment technologies

Publications (1)

Publication Number Publication Date
CN117529904A true CN117529904A (zh) 2024-02-06

Family

ID=81078000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280042895.8A Pending CN117529904A (zh) 2021-12-22 2022-11-10 分组格式调整技术

Country Status (4)

Country Link
US (1) US20220116325A1 (zh)
CN (1) CN117529904A (zh)
DE (1) DE112022002377T5 (zh)
WO (1) WO2023121785A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220116325A1 (en) * 2021-12-22 2022-04-14 Intel Corporation Packet format adjustment technologies
CN115988108B (zh) * 2023-03-20 2023-06-02 浪潮电子信息产业股份有限公司 数据包处理方法、系统、存储介质和电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7460537B2 (en) * 2004-01-29 2008-12-02 Brocade Communications Systems, Inc. Supplementary header for multifabric and high port count switch support in a fibre channel network
WO2007074423A2 (en) * 2005-12-29 2007-07-05 Utstarcom, Inc. Method and system for byte slice processing data packets at a packet switch
US20160212021A1 (en) * 2013-09-18 2016-07-21 Jolata, Inc. Highly probable identification of related messages using sparse hash function sets
CN110383777B (zh) * 2017-03-28 2022-04-08 马维尔亚洲私人有限公司 端口扩展器设备的灵活处理器
CN113115361B (zh) * 2019-01-16 2023-03-10 Oppo广东移动通信有限公司 以太网帧头压缩处理方法、装置、芯片及计算机程序
US20220116325A1 (en) * 2021-12-22 2022-04-14 Intel Corporation Packet format adjustment technologies

Also Published As

Publication number Publication date
US20220116325A1 (en) 2022-04-14
DE112022002377T5 (de) 2024-02-29
WO2023121785A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
US11934330B2 (en) Memory allocation for distributed processing devices
US20210243247A1 (en) Service mesh offload to network devices
US20200322287A1 (en) Switch-managed resource allocation and software execution
US20220335563A1 (en) Graphics processing unit with network interfaces
CN115210693A (zh) 具有可预测时延的存储事务
US11936571B2 (en) Reliable transport offloaded to network devices
US20210266253A1 (en) Pooling of network processing resources
US20220109733A1 (en) Service mesh offload to network devices
US20220174005A1 (en) Programming a packet processing pipeline
US20220014459A1 (en) Network layer 7 offload to infrastructure processing unit for service mesh
CN117529904A (zh) 分组格式调整技术
CN117157957A (zh) 交换机引发的拥塞消息
US20220210097A1 (en) Data access technologies
US20220138021A1 (en) Communications for workloads
US20220321491A1 (en) Microservice data path and control path processing
US20220291928A1 (en) Event controller in a device
US20220114030A1 (en) Initiator-side offload for scale-out storage
CN116266829A (zh) 对于可靠多播操作的网络支持
US20220124046A1 (en) System for storage of received messages
WO2023075930A1 (en) Network interface device-based computations
EP4202626A1 (en) Target offload for scale-out storage
US20210328945A1 (en) Configurable receive buffer size
EP4199453A1 (en) Programming a packet processing pipeline
CN115858139A (zh) 封包处理负载平衡器
CN116170441A (zh) 分组处理流水线的负载平衡和联网策略性能

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication