CN113839731B - 具有用于分组的所需物理传输时间的分组调度系统 - Google Patents
具有用于分组的所需物理传输时间的分组调度系统 Download PDFInfo
- Publication number
- CN113839731B CN113839731B CN202110684990.5A CN202110684990A CN113839731B CN 113839731 B CN113839731 B CN 113839731B CN 202110684990 A CN202110684990 A CN 202110684990A CN 113839731 B CN113839731 B CN 113839731B
- Authority
- CN
- China
- Prior art keywords
- packet
- time
- clock
- packets
- transmission time
- 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 124
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000012937 correction Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims 2
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 241000238876 Acari Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 101001016777 Homo sapiens Microtubule-associated protein 9 Proteins 0.000 description 1
- 101000812677 Homo sapiens Nucleotide pyrophosphatase Proteins 0.000 description 1
- 102100032485 Microtubule-associated protein 9 Human genes 0.000 description 1
- 102100039306 Nucleotide pyrophosphatase Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/562—Attaching a time tag to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0446—Resources in time domain, e.g. slots or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1221—Wireless traffic scheduling based on age of data to be sent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/04—Interfaces between hierarchically different network devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在某些示例性实施方式中,提供了一种交换设备,其包括被配置为与分组源进行通信的输入接口、被配置为与分组目的地进行通信的输出接口以及分组处理电路。分组处理电路被配置为:经由输入接口从分组源接收多个分组,多个分组中的每一个与分组描述符相关联,分组描述符中的至少一个是传输时间分组描述符,该传输时间分组描述符包括针对与传输时间分组描述符相关联的分组的期望物理传输时间;接收时钟时间的指示;并且针对与传输时间分组描述符相关联的每个分组,在与期望物理传输时间相对应的时钟时间处经由输出接口物理地传输与传输时间分组描述符相关联的分组。还提供了相关的装置和方法。
Description
技术领域
本发明在其某些实施方式中涉及分组调度系统,尤其但不排他地涉及调度分组传输时间的系统。
背景技术
在本发明的发明人看来,当今的分组传输系统常常依赖于分组传输方法,在其中一旦分组准备好被传输,就“尽快地”传输该分组(如本文所述,递送到物理层以进行传输)。存在其他系统,诸如2020年2月5日提交的Levi等人的美国专利申请S/N 16/782,075中所述的系统。
发明内容
本发明在其某些示例性实施方式中试图提供一种改进的分组调度系统。
本发明的发明人认为,期望提供一种系统,在该系统中,分组被传输(被递送到物理层,有时被通称为用于传输的“导线”)的时间是已知的。这有助于知晓分组何时将被递送,因为在一些情况下,在导线上传播的时间是已知的。提前知晓物理层上的传输的时间可能会有所帮助;使传输的时间示出在已传输的分组内部也可能会有所帮助。在分组内示出传输时间是非常困难的(在本发明的发明人的观点看来,在本发明之前存在的系统中),因为一旦分组接近/到达物理层,通常不再允许更改分组的内容,因此不可能在“最后一刻”改变分组以包括递送到物理层的时间。
在本发明的某些示例性实施方式中,可能希望仅在一些分组中而不是在所有分组中示出传输时间;通过非限制性示例,出于性能考虑,在少于所有分组的分组中示出传输时间可能是所希望的。然而,在本发明的某些示例性实施方式中,可能希望仅在一个分组中、在所有分组中或在任何适当数量的分组中示出传输时间。
如上所述和本文中的这种调度在各种联网领域中可能是非常有帮助的。作为非限制性示例,IEEE精确时间协议要求对运出分组准确地加时间戳。作为另一个非限制性示例,高分辨率视频馈送要求非常准确的分组传输时间以用于运出分组;以非常准确的传输时间发送每个视频帧中的第一分组被认为是足够的。通常要注意的是,视频帧可以包括大量的分组,诸如1,000或10,000个分组。如在本段落中所述发送视频帧也可能有助于实现符合SMPTE 2110-21标准的系统。
本发明的发明人相信,为(例如)数百万个分组中的每个分组提供这种准确的传输时间是不切实际的,因为这将在其他分组的情况下降低性能。此外,本发明的发明人相信,通过为少于所有分组的分组提供准确的传输时间,可以获得良好的结果;并且还通过提前预先确定何时分组将运出也可以获得良好的结果,并且通过延迟分组的运出直到该确定的时间,可以获得高准确度。此外,本发明的发明人相信,在尽快地传输分组与对分组准确地加时间戳的期望或要求之间可能存在折衷。本发明的示例性实施方式描述了一种处理这种折衷的方式,其被认为与先前的系统相比是不同且独特的。
此外,类似于高速视频接口,5G网络中的高带宽无线通信将向许多电话中的每一个发送许多分组;发送到给定电话的分组将在非常特定的时间被发送,在此之后,分组将被发送到另一给定电话;如果针对给定电话的第一个此类分组是在非常特定的时间被发送,那么针对此电话的其余分组将在此后不久发送。
此外,5G网络中的高带宽无线通信通常要求后端单元在非常准确的时隙中将信息发送到无线网络。为了在非常准确的时隙中发送分组,在本发明的示例性实施方式中,将时钟(诸如,作为非限制性示例,UTC(全球协调时间)时钟或TAI(国际原子时间)时钟)引入到分组转发系统。
一般来说,本发明的发明人相信,该时钟越接近发送分组的物理接口,则分组出口的定时就越准确。
因此,根据本发明的示例性实施方式,提供了一种交换设备,该交换设备包括:被配置为与分组源进行通信的输入接口,被配置为与分组目的地进行通信的输出接口,以及分组处理电路,该分组处理电路被配置为:经由输入接口从分组源接收多个分组,多个分组中的每一个与分组描述符相关联,分组描述符中的至少一个是传输时间分组描述符,该传输时间分组描述符包括针对与传输时间分组描述符相关联的分组的期望物理传输时间;接收时钟时间的指示;并且针对与传输时间分组描述符相关的每个分组,在与期望物理传输时间相对应的时钟时间处通过输出接口物理地传输与传输时间分组描述符相关联的分组。
进一步根据本发明的示例性实施方式,输入接口包括主机接口,并且分组源包括主机,并且输出接口包括网络接口。
仍然根据本发明的示例性实施方式,输入接口包括第一网络接口,并且分组源包括远离交换设备的网络源,并且输出接口包括第二网络接口。
另外,根据本发明的示例性实施方式,分组处理电路还被配置为在传输之前保持一个或多个分组,直到时钟时间对应于期望物理传输时间,被保持的一个或多个分组包括与传输时间分组描述符相关联的至少一个分组。
此外,根据本发明的示例性实施方式,交换设备包括时钟电路和主时钟电路,并且时钟电路被配置为向分组处理电路提供时钟时间的一个或多个指示,并且主时钟电路被配置为周期性地校正由时钟电路所提供的时间。
进一步根据本发明的示例性实施方式,主时钟电路包括PTP时钟。
更进一步根据本发明的示例性实施方式,以PTP时间格式提供由时钟电路提供的时钟时间的指示。
另外,根据本发明的示例性实施方式,分组处理电路还被配置为在传输之前保持一个或多个分组,直到由主时钟电路校正的时钟时间对应于期望物理传输时间,被保持的一个或多个分组包括与传输时间分组描述符相关联的至少一个分组。
此外,根据本发明的示例性实施方式,至少输入接口、输出接口和分组处理电路被包括在交换机中。
进一步根据本发明的示例性实施方式,至少输入接口、输出接口和分组处理电路被包括在网络适配器中。
更进一步根据本发明的示例性实施方式,至少输入接口、输出接口和分组处理电路被包括在图形处理单元中。
根据本发明的另一示例性实施方式,还提供了一种用于分组调度的方法,该方法包括在分组处理电路中执行以下操作:经由输入接口从分组源接收多个分组,该分组源在分组处理电路的外部,多个分组中的每一个与分组描述符相关联,分组描述符中的至少一个是传输时间分组描述符,该传输时间分组描述符包括针对与传输时间分组描述符相关联的分组的期望物理传输时间;接收时钟时间的指示;并且针对与传输时间分组描述符相关联的每个分组,在与期望物理传输时间相对应的时钟时间处经由输出接口物理地传输与传输时间分组描述符相关联的分组。
进一步根据本发明的示例性实施方式,该方法还包括:在传输之前保持一个或多个分组,直到时钟时间对应于期望物理传输时间,被保持的一个或多个分组包括与传输时间分组描述符相关联的至少一个分组。
更进一步根据本发明的示例性实施方式,该方法还包括从分组处理电路外部的时钟电路接收时钟时间的一个或多个指示,并且时钟电路周期性地从分组处理电路外部的主时钟电路接收时间校正。
另外,根据本发明的示例性实施方式,主时钟电路包括PTP时钟。
此外,根据本发明的示例性实施方式,以PTP时间格式提供从时钟电路接收的时间的指示。
进一步根据本发明的示例性实施方式,在传输之前保持一个或多个分组包括:在传输之前保持一个或多个分组,直到由主时钟电路校正的时钟时间对应于期望物理时间。
更进一步根据本发明的示例性实施方式,该方法还包括:在传输之前保持一个或多个分组,直到由主时钟电路校正的时钟时间对应于期望物理传输时间,被保持的一个或多个分组包括与传输时间分组描述符相关联的至少一个分组。
另外,根据本发明的示例性实施方式,主时钟电路在时钟电路的外部。
根据本发明的另一示例性实施方式,还提供了一种装置,包括:分组处理电路,该分组处理电路被配置为:经由输入接口从分组源接收分组,该分组与传输时间分组描述符相关联,该传输时间分组描述符包括针对与传输时间分组描述符相关联的分组的期望物理传输时间;接收时钟时间的指示;并且针对与传输时间分组描述符相关联的分组,在与期望物理传输时间相对应的时钟时间处经由输出接口物理地传输与传输时间分组描述符相关联的分组。
附图说明
从以下结合附图的详细描述中,将更充分地理解和了解本发明,其中:
图1是根据本发明的示例性实施方式可操作和构造的分组调度系统的简化图示;
图2和图3是用于理解图1的系统的简化图形图示;
图4和图5是用于理解图1的系统的一部分的用于时钟调整的电路的示例性实施方式的简化框图;和
图6是图1的系统的示例性操作方法的简化流程图示。
具体实施方式
现在对图1进行参考,图1是根据本发明的示例性实施方式可操作和构造的分组调度系统的简化图示。
图1的系统(总体标明为100)包括以下:
主机处理器105,其可以包括任何适当的处理器,诸如例如通用计算机的处理器;和
交换设备,其在图1中为了简化描述而被表示为交换机或NIC(网络接口控制器)110。可以了解,除了交换机或NIC之外,可以使用另一个交换设备(诸如,作为非限制性示例,专用处理设备或图形处理单元(GPU))来代替交换机或NIC 110,前提是该另一个交换设备执行或被配置为执行参考交换机或NIC 110在本文中所述的操作。
交换机或NIC 110中包括的各种元件的子组合,不包括被(如下所述)用于将分组输入到交换机或NIC 110或用于从其中输出分组的部分,在本文中也被称为“分组处理电路”。在没有交换机或NIC 110的任何其他组件的情况下,这种分组处理电路可以包括本发明的示例性实施方式。
在不限制本发明的示例性实施方式的一般性的情况下,本文将一般性地描述NIC110的示例。NIC在本文中也可以被称为“网络适配器”。
在不限制本发明的示例性实施方式的一般性的前提下,仅以示例的方式描绘和描述主机处理器105。下面参考NIC 110描述的与分组处理相关的功能可以发生在从主机处理器105之外接收的分组上,诸如作为非限制性示例,从网络接收的分组。
现在简要描述系统100的结构和操作的其他示例性细节。
如在传统的分组处理/调度系统中一样,起源于主机处理器105中并且存储在其片外(主机)存储器107中的分组可以经由NIC 110被发送到目的地;并且起源于目的地的分组可以经由NIC 110被发送到主机处理器105。下面将更详细地描述超出了常规分组处理/调度系统的图1的系统的结构和功能的细节。一般来说,可以根据许多众所周知的分组处理规范(诸如,作为非限制性示例,以太网;和PCIx或PCIe)中的任何一种来进行分组处理。
主机处理器105可以包括任何适当的处理器,诸如包括在通用或其他计算机系统(未示出)中的处理器。将了解的是,包括NIC 110(没有主机处理器105)的子组合可以包括本发明的替代示例性实施方式。
在示例性实施方式中,参考图1示出和描述的NIC 110的大部分或全部元件都被实现在单个IC芯片上,但是不一定是这种情况,因为可以使用多个IC芯片和其他组件。为了描绘和描述的简单起见,这种元件被描述为“片上”;这种描绘和描述并不意味着是限制性的。
图1的主机处理器105经由总线115连接到NIC 110并与之通信。总线115可以包括在主机处理器105与NIC 110之间提供通信的任何适当的总线,诸如,作为非限制性示例,PCIe总线。
在不限制本发明的示例性实施方式的一般性的情况下,仅作为示例示出和描述了总线115。一般来说,可以使用任何适当的输入接口来代替总线115。作为非限制性示例,在使用网络(如以下和以上所述作为分组的源)而不是主机105的实施方式中,输入接口将包括任何适当的网络接口。
主机处理器105经由总线115将分组116和随附的描述符118(作为系统中的非限制性示例,随附的描述符118将是工作队列条目(WQE))从芯片外存储器107发送到NIC 110,其中分组116和随附的描述符118被存储在片上存储器125中。
分组116和随附的描述符118也在图1中被统一示出并给定参考标号120。
可以了解,在某些示例性实施方式中,首先将描述符116发送到NIC 110并存储在片上存储器125中。仅在稍后,当要发送与描述符116相关联的分组时,分组118由NIC 110提取或被发送到NIC 110。在这种情况下,NIC 110内的调度模块130负责引起将分组118提取或预提取到NIC 110。在示例性实施方式中,调度模块130可以被安置在控制平面140中,将在下面立即描述;在一些示例性实施方式中,调度模块130可以被称为或可以包括“WQE仲裁器”。此外,在一些示例性实施方式中,如所描述的WQE仲裁器可以被包括在传输模块145的仲裁中,如下所述。在其他示例性实施方式中,WQE仲裁器可以被包括在排队模块135中,如下所述。
给定的分组描述符116传递到控制平面140,然后在排队模块135中排队。在示例性实施方式中,排队模块135支持多个队列。支持多个队列的一个优点是(例如,在InfiniBand的情况下中众所周知),WQE预取操作不被严格排序,因为不知道分组是否将以与对于WQE排队的相同顺序到达以用于发送。例如,多个WQE队列可以由运行在主机处理器105上的应用来排列,每个应用一个WQE队列;WQE仲裁器可以从给定队列中选择WQE,以用于基于对应分组的可用性而发送。
控制平面140被配置为执行各种操作,其可以包括但不限于:分组描述符116中的地址的地址修正(fix-up);在发送之前对由分组描述符116指向的分组118中的全部或部分分组数据进行加密;在发送之前对由分组描述符116指向的分组118中的数据进行截断;以及转向操作。这样的操作在本领域中是已知的。本发明的发明人已经意识到,这样的操作(在给定分组的情况下,每个操作可以发生或可以不发生)增加了给定分组在被发送的途中穿过图1的系统100所花费的时间量的不可预测性;在本发明的示例性实施方式中,这种不可预测性可以激发本发明的使用。如图1中所示,分组描述符116被发送(无论是否被改变,作为控制平面140的操作的一部分)到排队模块135。
除了刚刚描述的操作之外,控制平面140还被配置为选择要在确切时间要被发送的特定分组(如下所述),并且通常在其描述符中标记所述分组,如本文所述。
作为非限制性示例,以下是控制平面140可以选择特定分组以在确切时间进行发送的情况的描述:
1.IEEE精确时间协议要求对运出分组准确地加时间戳记;根据IEEE精确时间协议发送的这样的运出分组将被选择在确切时间进行发送。
2.高分辨率视频源要求非常准确的分组传输时间以用于运出分组。一般而言,将选择视频帧中的第一分组以用于在确切时间进行发送。
3.另外,类似于高速视频接口,5G网络中的高带宽无线通信将向多个电话中的每一个发送许多分组;发送到给定电话的分组将在非常特定的时间发送,在此之后,分组将被发送到另一给定电话;如果针对给定电话的第一此类分组是在非常特定的时间被发送,那么针对此电话的其余分组将在此后不久发送。
4.此外,5G网络中的高带宽无线通信通常要求后端单元在非常准确的时隙中将信息发送到无线网络。为了在非常准确的时隙中发送分组,在本发明的示例性实施方式中,将时钟(诸如,作为非限制性示例,UTC时钟或TAI时钟)引入到分组转发系统中。
一般来说,本发明的发明人相信,该时钟(物理上)越接近发送分组的物理接口,则分组出口的定时就越准确。
本发明的发明人相信,为(例如)数百万个分组中的每个分组提供这种准确的传输时间是不切实际的,因为这将在其他分组的情况下降低性能。此外,本发明的发明人相信,通过为少于所有分组的分组提供准确的传输时间,可以获得良好的结果;并且还通过提前预先确定何时分组将运出也可以获得良好的结果,并且通过延迟分组的运出直到该确定的时间,可以获得高准确度。
应当了解,在示例性实施方式中,片外存储器107可以是异步的,并且可以参与除了本文所描述的操作以外的主机处理器105的各种操作。至少由于这些原因,由排队模块135提供的排队功能有助于提供NIC 110的平滑功能,减少将发生饥饿或超限的任何可能性。
如以下更详细描述的,排队模块135确定何时将发送给定分组。本领域技术人员将了解,一旦分组和关联的描述符在片上存储器125中,则在排队模块135做出这样的确定与从NIC 110向外发送分组之间所经过的时间在某种程度上是可预测的,同样如下面更详细所述。
当排队模块确定给定分组要被发送时,与给定分组相关联的描述符(诸如,作为非限制性示例,WQE)被传递给传输模块145的仲裁,其在给定分组实际被发送时进行仲裁。这样的仲裁(在图1中被示为元件150)可以以以下为基础:按优先级(较高优先级的分组先于较低优先级的分组被发送)的ASAP(尽快地发送分组);或粗略时间调度(分组将在大约给定的时间被发送)。刚刚提到的基础通常在描述符中被指示,并由传输模块的仲裁145进行仲裁。例如,高优先级分组可能比低优先级分组更早被发送;基于粗略时间调度要发送的分组可能在所指示的时间附近被发送;并且(高优先级)ASAP分组可能会被尽快地发送。
应当了解,根据上述内容,某些分组(诸如具有较低优先级的那些)在某些情况下可能永远不被发送,因为较高优先级的分组和/或基于粗略时间调度要被发送的分组可能会使用全部可用发送容量。在这种情况下,如本领域中已知的,某些分组可以被丢弃。
一般来说,传输模块的仲裁145可操作来从多个队列中选择要被发送的分组;因此,在按优先级的ASAP的情况下,将基于优先级从多个队列中选择分组,并ASAP发送被选分组。作为非限制性示例,可以分别对应于在主机处理器105上运行的多个应用而维持优先级队列。
作为非限制性示例,仲裁模块可以实现VL仲裁,如在系统中或者在以太网系统中的增强传输选择(ETS)中已知的那样,例如在IEEE Std 802.1QazTM-2011中所描述的。
当要发送给定分组时,分组将从片上存储器125被发送到媒体访问控制(MAC)模块155。MAC模块155(除其他任务外)确保分组具有正确的开始和结束时间,被寻址到正确的地址,看起来是合法格式等等,并且向分组添加校验和。这样的功能在本领域中是众所周知的。
MAC模块155将分组向前发送到物理层160,该物理层160也可以被称为“输出接口”或“网络接口”。
物理层160包括:
先进先出(FIFO)存储器162,其被配置为接收和存储传入分组,并以FIFO的方式输出那些分组;
仲裁模块165,其被配置为从FIFO存储器162中提取分组,并实现如下所述的关于接收分组的仲裁策略170;
空闲数据模块175,当与物理介质相关的适用规范要求时(如下所述),当没有实际的分组数据要被发送时,该空闲数据模块175产生用于发送的空闲数据(比特);
PHY模块180,其被配置为:a)将分组的传出比特(或由空闲数据模块175接收的空闲比特)放置在诸如有线或本领域中已知的任何其他适当的物理介质之类的物理介质(未示出)上,以用于发送;和b)从物理介质接收分组的传入比特,并且以分组的形式将传入比特向前发送到片上存储器125;和
实时硬件时钟185(通常是协调世界时(UTC)时钟),它使用时间同步领域中已知的机制(诸如,作为非限制性示例,精确时间协议(PTP))来与UTC保持同步。下面参考图4和图5描述用于使用PTP将实时硬件时钟185保持与UTC同步的示例性电路。可以了解,可以使用另一个适当的时钟,诸如TAI时钟;UTC时钟的示例并不意味着是限制性的。
实时硬件时钟185将时间信号供应给仲裁模块165。
仲裁模块165仲裁何时将FIFO存储器162中的给定分组向前发送到PHY模块180。这种仲裁可以以以下为基础:始终首选给定分组(当分组到达时发送之);始终首选根据适用规范(诸如,例如,在以太网物理介质的情况下是适用的以太网规范,其包括有关何时可以发送分组的规则)的给定分组;或在确切时间发送分组。
在确切时间发送分组的情况下,在确切时间发送分组的请求与分组应被发送的确切时间一起经由适当的连接(在图1中被示为新连接190)从传输模块的仲裁145到达。然后,仲裁模块165基于由实时硬件时钟185所提供的时间信号,等待提取该分组(当该分组是FIFO存储器162中的下一个可用分组时),直到应该发送该分组的确切时间为止,然后从FIFO存储器162中提取分组,并经由PHY模块180发送该分组。可以了解,一般来说,如果仲裁模块等待从FIFO存储器162中提取分组,那么由空闲数据模块175产生的空闲数据将在该等待时间期间被发送,从而导致物理介质的较低利用率。换句话说,要在确切时间发送的分组将被“停顿”,直到到达该时间。
如果打算在准确时间发送的给定分组在准确时间时或在准确时间之后到达FIFO存储器162的头部,那么仲裁模块165立即从FIFO存储器162中提取该分组并发送(如上面所解释的,根据“始终首选分组”策略,或根据“始终首选根据适用规范的分组策略”。
应当了解,一般而言,传输模块的仲裁145可能能够估计从MAC单元155开始等待传输的分组的数量,因为离开片上存储器125的分组的速率和离开仲裁模块165的分组的速率的信息都是已知的,从而可以计算在片上存储器125之后并且在MAC单元155开始的“处理中”的分组的数量。因此,对于具有要发送的确切时间的分组,应被传输模块的仲裁145来调度该分组以进行发送的大概时间可以被确定。通过在所确定的大概时间(并且在精确时间之前)发送这样的分组,可以减少过早到达仲裁单元165(并且因此不能在FIFO存储器162中保持足够长的时间以在确切时间被发送)或过晚到达FIFO存储器162的头部(并且因此将在确切时间之后才被发送)的分组的问题。
另外对图2和图3进行参考,其是用于理解图1的系统的简化图形图示。
一般用200指明的图2包括水平通道的主时钟时间220与垂直通道的从时钟时间230的图形描绘。在理想时钟235的情况下,从时钟时间230将总是等于主时钟时间220。在自由运行时钟240(未根据主时钟校正的时钟)的情况下,随着时间的推移,与理想时钟时间220存在着相当大的漂移。在被训练的从时钟时间245的情况下,其中从时钟根据主时钟被周期性地校正(诸如,图1的实时硬件时钟185通常是这种情况),从时钟时间245是理想时钟235的时间的近似值。
在主时间X 250处,将了解到,在X处的从时间260非常接近在X处的理想时间235。
除了现在所描述的以外,通常用300指明的图3与图2相似,并且包括相似的参考标号。
在第一时间305处,分组和分组描述符被创建以用于发送,其中分组描述符指示该分组应当在时间X被发送。如果没有以上参照图1描述的机制,则分组将在预先计算的时间310被发送。如针对时间X320的被训练的值所指示的,以上参考图1所描述的机制允许分组被更精确地发送。因此,应当了解,图1的机制使得分组能够以更精确的时间被发送。
应当了解,为了简化描述的目的,在图2和图3中所描绘的各种时间不一定按比例示出,因此,例如,各个时钟之间描绘的差异(诸如,例如,被训练的从时钟245和理想时钟235之间的差异)在实践中可以是少于图2和图3中显现的。
现在对图4和图5进行参考,图4和图5是用于理解图1的系统的一部分的用于时钟调整的电路的示例性实施方式的简化框图。
图4是用于时钟调整的电路的示例性实施方式的框图,该时钟调整适用于调整图1的实时硬件时钟185,并且示出了图1的实时硬件时钟185与进入和运出图1的系统的分组的相互作用。
一般用400指明的图4的电路包括PTP硬件时钟模块410,该模块包括:
锁相环(PLL)单元415;
以及调整后的时间单元420。
PLL单元415以与本领域中已知的PLL单元一般类似的方式来操作,包括:
分子单元425;和
分母单元430。
PLL单元415(具体地,分子单元425)接收自由运行核心时钟信号435,其指示自由运行时钟(未示出)的值。PLL单元415根据需要执行频率乘法和除法,以如下所述校正自由运行时钟时间。如果自由运行时钟未被校正,则自由运行时钟将随着时间的推移产生诸如图2的自由运行时钟时间240之类的时间。
图4的电路还包括PTP守护程序450(其可以以与本领域中已知的PTP守护程序一般类似的方式来操作),其经由来自主时钟455的伺服环路来校正。在某些示例性实施方式中,PTP守护程序450以软件来实现。
PTP守护程序450将频率调整信号460发送到PLL单元415,从而使PLL单元415处的时间保持与PTP守护程序450的时间、并且因此与主时钟455的时间严格对准。PTP守护程序450可以以任何适当的发送速率来发送频率调整信号460,该发送速率通常取决于PTP守护程序450的特定实现。在不限制前述一般性的情况下,发送速率可以在每秒一次与每秒128次之间的范围内。本领域技术人员将了解,上面讨论的图2和图3的说明性图形描绘将基于PTP守护程序450的频率调整信号460的发送速率而看起来有所不同。
可以了解,可以根据众所周知的IEEE 1588PTP标准或以任何其他适当的方式来执行主时钟455和PTP守护程序450之间的伺服环路控制。作为非限制性示例,这样的其他适当的方式可以包括:1PPS;NPPS;以及适当的专有算法。还应了解,图4的电路的子组合在没有PTP守护程序450以及没有主时钟455的情况下,包括图4的电路的替代示例性实施方式。
返回到PLL单元415的功能,PLL单元415将调整后的时钟440(一般被指示为时钟滴答)发送到时间寄存器445。将理解,如所描述的,时间寄存器445保持调整后的时间,其对应于图2的被训练的从时钟245。
如上所述的时钟滴答可以以任何适当的速率发生,这将取决于图4的电路的特定实现。在不限制前述一般性的情况下,适当的速率例如可以是每秒2.5亿或5亿滴答。
一般来说,从分组源470运入到图1的交换机/NIC 110的每个分组465都从时间单元445接收时间戳。类似地,从图1的交换机/NIC 110运出到分组目的地480的每个分组475都从时间单元445接收时间戳。应当了解,一般来说,分组源470和分组目的地480在图4的电路和图1的系统两者的外部。
鉴于以上讨论,将了解,在图1的示例性实施方式中,图4的电路用于帮助在与分组中的时间戳紧密匹配的特定时间发送那些分组。
除了现在所描述的以外,通常用500指明的图5与图4相似,并且包括相似的参考标号。
在图5的电路中,调整后的PTP时间单元520包括秒寄存器545和纳秒寄存器550;因此,调整后的PTP时间单元520被配置为保持PTP格式的时间,并使用该格式的时间。结果,可以将工作从PTP守护程序450中卸载,因为传入分组在被提供时间戳时可能会被提供PTP时间戳,从而避免了(例如,通过在主机处理器105上运行的应用)请求协助将另一种时间格式转换为PTP时间的必要性。
此外,以PTP时间格式,由调整后的PTP时间单元520向(传出)分组(诸如向分组465和475)提供时间戳,从而使得能够根据特定时间更好地进行调度。
现在对图6进行参考,图6是图1的系统的示例性操作方法的简化流程图示。图6的示例性方法(一般被标记为600)包括以下步骤,这些步骤在如上所述的分组处理电路中被执行:
在步骤610中,经由输入接口从分组源接收多个分组。分组源在分组处理电路的外部(尽管在某些示例性实施方式中,分组源可能不在外部)。多个分组中的每一个都与分组描述符相关联;分组描述符中的至少一个是传输时间分组描述符,其包括针对与该传输时间分组描述符相关联的分组的期望物理传输时间。
在步骤620中,时钟时间的指示被接收。如上所述,应当了解,在某些示例性实施方式中,可以从分组处理电路外部的时钟接收时钟时间的指示,并且可以由主时钟(作为非限制性示例,其可以是如上文更详细描述的PTP时钟)来校正分组处理电路外部的时钟。
在步骤630中,对于与传输时间分组描述符相关联的每个分组,在与期望的物理传输时间相对应的时钟时间经由输出接口物理地传输该分组。上面描述了在示例性实施方式中如何可以实现在期望的物理传输时间进行这种传输的细节。
应当了解,如果期望的话,本发明的软件组件可以以ROM(只读存储器)的形式来实现。如果期望的话,通常可以使用常规技术在硬件中实现软件组件。还应当了解,软件组件可以例如被实例化为计算机程序产品或被实例化在有形介质上。在一些情况下,可以将软件组件实例化为可由适当的计算机解释的信号,但是在本发明的某些实施方式中可以不包括这样的实例化。
应当了解,为清楚起见,在分开的实施方式的上下文中描述的本发明的各种特征也可以在单个实施方式中被组合提供。相反,为简洁起见,在单个实施方式的上下文中描述的本发明的各种特征也可以分开地或以任何合适的子组合来提供。
本领域技术人员将了解,本发明不限于上文已经具体示出和描述的内容。相反,本发明的范围由所附权利要求及其等同物来限定:
Claims (13)
1.一种交换设备,包括:
输入接口,所述输入接口被配置为与分组源进行通信;
输出接口,所述输出接口被配置为与分组目的地进行通信;和
分组处理电路,所述分组处理电路包括用于存储从所述分组源接收到的分组的分组存储存储器和物理上位于所述分组存储存储器和所述输出接口附近的仲裁模块,所述分组处理电路:
经由所述输入接口从所述分组源接收多个分组,所述多个分组中的每一个与多个分组描述符中的一个相关联,所述多个分组描述符中的至少一个是传输时间分组描述符,所述传输时间分组描述符包括针对与所述传输时间分组描述符相关联的所述分组的期望物理传输时间;
接收时钟时间的指示;以及
针对与所述至少一个传输时间分组描述符相关联的每个分组,在先前已从所述输入接口接收到每个所述分组、将每个所述分组存储在所述分组存储存储器中并将其指定用于传输之后,保持具有包括期望物理传输时间的所述至少一个传输时间分组描述符的每个分组,直到所述仲裁模块接收到对应于所述期望物理传输时间的时钟时间指示,然后所述仲裁模块从所述分组存储存储器中提取具有对应于所述时钟时间指示的期望物理传输时间的每个所述分组并将每个所述提取的分组传递以在与所述期望物理传输时间相对应的时钟时间处经由所述输出接口进行物理传输,
其中,所述交换设备还包括时钟电路和主时钟电路,并且:
所述时钟电路被配置为向所述分组处理电路提供时钟时间的一个或多个指示,以及
所述主时钟电路被配置为周期性地校正由所述时钟电路所提供的时间。
2. 根据权利要求1所述的交换设备,其中:
所述输入接口包括主机接口,以及
所述分组源包括主机,以及
所述输出接口包括网络接口。
3. 根据权利要求1所述的交换设备,其中:
所述输入接口包括第一网络接口,以及
所述分组源包括远离所述交换设备的网络源,以及
所述输出接口包括第二网络接口。
4.根据权利要求1所述的交换设备,其中所述主时钟电路包括精确时间协议(PTP)时钟。
5.根据权利要求4所述的交换设备,其中以PTP时间格式提供由所述时钟电路提供的所述时钟时间的指示。
6.根据权利要求1所述的交换设备,其中至少所述输入接口、所述输出接口和所述分组处理电路被包括在交换机中。
7.根据权利要求1所述的交换设备,其中至少所述输入接口、所述输出接口和所述分组处理电路被包括在网络适配器中。
8.根据权利要求1所述的交换设备,其中至少所述输入接口、所述输出接口和所述分组处理电路被包括在图形处理单元中。
9.一种用于分组调度的方法,所述方法包括在包括用于存储从分组源接收到的分组的分组存储存储器和物理上位于所述分组存储存储器和输出接口附近的仲裁模块的分组处理电路中执行以下步骤:
经由输入接口从所述分组源接收多个分组,所述分组源在所述分组处理电路的外部,所述多个分组中的每一个与多个分组描述符中的一个相关联,所述多个分组描述符中的至少一个是传输时间分组描述符,所述传输时间分组描述符包括针对与所述传输时间分组描述符相关联的所述分组的期望物理传输时间;
接收时钟时间的指示;以及
针对与所述至少一个传输时间分组描述符相关联的每个分组,在先前已从所述输入接口接收到每个所述分组、将每个所述分组存储在所述分组存储存储器中并将其指定用于传输之后,保持具有包括期望物理传输时间的传输时间分组描述符的每个分组,直到所述仲裁模块接收到对应于所述期望物理传输时间的时钟时间指示,然后所述仲裁模块从所述分组存储存储器中提取具有对应于所述时钟时间指示的期望物理传输时间的每个所述分组并将每个所述提取的分组传递以进行物理传输,然后在与所述期望物理传输时间相对应的传输时钟时间处经由所述输出接口物理地传输与所述传输时间分组描述符相关联的所述分组,
其中所述方法还包括:
从所述分组处理电路外部的时钟电路接收时钟时间的一个或多个指示,
以及,所述时钟电路周期性地从所述分组处理电路外部的主时钟电路接收时间校正。
10.根据权利要求9所述的方法,其中所述主时钟电路包括精确时间协议(PTP)时钟。
11.根据权利要求10所述的方法,其中以PTP时间格式提供从所述时钟电路接收的所述时间的指示。
12.根据权利要求9所述的方法,其中所述主时钟电路在所述时钟电路的外部。
13.一种分组调度装置,包括:
分组处理电路,所述分组处理电路包括用于存储从分组源接收到的分组的分组存储存储器和物理上位于所述分组存储存储器和输出接口附近的仲裁模块,所述分组处理电路:
经由输入接口从所述分组源接收分组,所述分组与传输时间分组描述符相关联,所述传输时间分组描述符包括针对与所述传输时间分组描述符相关联的所述分组的期望物理传输时间;
接收时钟时间的指示;以及
针对与所述传输时间分组描述符相关联的分组,在先前已从所述输入接口接收到所述分组、将所述分组存储在所述分组存储存储器中并将其指定用于传输之后,保持具有包括期望物理传输时间的传输时间分组描述符的分组,直到所述仲裁模块接收到对应于所述期望物理传输时间的时钟时间指示,然后所述仲裁模块从所述分组存储存储器中提取具有对应于所述时钟时间指示的期望物理传输时间的所述分组并将所述提取的分组传递以经由所述输出接口进行物理传输,从而在与所述期望物理传输时间相对应的传输时钟时间处物理地传输与所述传输时间分组描述符相关联的所述分组,
其中所述装置还包括时钟电路和主时钟电路,并且:
所述时钟电路被配置为向所述分组处理电路提供时钟时间的一个或多个指示,以及
所述主时钟电路被配置为周期性地校正由所述时钟电路所提供的时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/910,193 | 2020-06-24 | ||
US16/910,193 US11336383B2 (en) | 2020-06-24 | 2020-06-24 | Packet scheduling system with desired physical transmission time for packets |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113839731A CN113839731A (zh) | 2021-12-24 |
CN113839731B true CN113839731B (zh) | 2024-09-03 |
Family
ID=76695492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110684990.5A Active CN113839731B (zh) | 2020-06-24 | 2021-06-21 | 具有用于分组的所需物理传输时间的分组调度系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11336383B2 (zh) |
EP (1) | EP3930266A1 (zh) |
CN (1) | CN113839731B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
US12028155B2 (en) | 2021-11-24 | 2024-07-02 | Mellanox Technologies, Ltd. | Controller which adjusts clock frequency based on received symbol rate |
US11835999B2 (en) | 2022-01-18 | 2023-12-05 | Mellanox Technologies, Ltd. | Controller which adjusts clock frequency based on received symbol rate |
US20230276301A1 (en) * | 2022-02-27 | 2023-08-31 | Nvidia Corporation | System and method for gpu-initiated communication |
US11764939B1 (en) | 2022-07-14 | 2023-09-19 | Mellanox Technologies, Ltd. | Controlling latency of cable interconnections |
US11917045B2 (en) | 2022-07-24 | 2024-02-27 | Mellanox Technologies, Ltd. | Scalable synchronization of network devices |
US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450846B1 (en) * | 2012-10-17 | 2016-09-20 | Cisco Technology, Inc. | System and method for tracking packets in a network environment |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5307459A (en) | 1992-07-28 | 1994-04-26 | 3Com Corporation | Network adapter with host indication optimization |
US5530874A (en) | 1993-02-02 | 1996-06-25 | 3Com Corporation | Network adapter with an indication signal mask and an interrupt signal mask |
US6072796A (en) | 1995-06-14 | 2000-06-06 | Avid Technology, Inc. | Apparatus and method for accessing memory in a TDM network |
US7324546B1 (en) * | 1996-08-07 | 2008-01-29 | Cisco Technology, Inc. | Network router integrated onto a silicon chip |
JP3929553B2 (ja) * | 1997-06-11 | 2007-06-13 | 株式会社フィリップスエレクトロニクスジャパン | データ放送受信機の受信制御方法 |
US6064676A (en) * | 1998-01-14 | 2000-05-16 | Skystream Corporation | Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors |
CA2310909C (en) * | 1999-06-12 | 2005-05-24 | Jinoo Joung | Packet switching apparatus and method in data network |
US6570884B1 (en) | 1999-11-05 | 2003-05-27 | 3Com Corporation | Receive filtering for communication interface |
US6564267B1 (en) | 1999-11-22 | 2003-05-13 | Intel Corporation | Network adapter with large frame transfer emulation |
US6816492B1 (en) | 2000-07-31 | 2004-11-09 | Cisco Technology, Inc. | Resequencing packets at output ports without errors using packet timestamps and timestamp floors |
US6954432B1 (en) | 2000-10-04 | 2005-10-11 | Motorola, Inc. | Method and apparatus for improving perceived signal quality of transmitted information in a full duplex wireless communication system |
US8051212B2 (en) | 2001-04-11 | 2011-11-01 | Mellanox Technologies Ltd. | Network interface adapter with shared data send resources |
DE50200454D1 (de) | 2001-06-07 | 2004-06-24 | Siemens Ag | Verfahren zum Übermitteln von Zeitinformation über ein Datenpaketnetz |
US7224669B2 (en) | 2002-01-22 | 2007-05-29 | Mellandx Technologies Ltd. | Static flow rate control |
US7535913B2 (en) | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
US7245627B2 (en) | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
US7468979B2 (en) | 2002-12-20 | 2008-12-23 | Force10 Networks, Inc. | Layer-1 packet filtering |
US7583664B2 (en) | 2004-12-28 | 2009-09-01 | Michael Ho | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
JP2007042145A (ja) | 2006-11-16 | 2007-02-15 | Fujitsu Ltd | 稼動監視装置及び稼動監視システム |
US8068429B2 (en) * | 2007-05-31 | 2011-11-29 | Ixia | Transmit scheduling |
US8370675B2 (en) | 2009-01-28 | 2013-02-05 | Mellanox Technologies Ltd. | Precise clock synchronization |
US20120201248A1 (en) | 2009-10-14 | 2012-08-09 | Nec Corporation | Transmission control method for packet communication and packet communication system |
EP2367309B1 (en) * | 2010-02-10 | 2016-07-13 | Alcatel Lucent | Method for detecting a synchronization failure of a transparent clock and related protection schemes |
US8792491B2 (en) | 2010-08-12 | 2014-07-29 | Citrix Systems, Inc. | Systems and methods for multi-level quality of service classification in an intermediary device |
US9406336B2 (en) | 2010-08-26 | 2016-08-02 | Blast Motion Inc. | Multi-sensor event detection system |
FR2979719B1 (fr) | 2011-09-02 | 2014-07-25 | Thales Sa | Systeme de communications permettant la transmission de signaux entre des equipements terminaux raccordes a des equipements intermediaires relies a un reseau ethernet |
US9397960B2 (en) | 2011-11-08 | 2016-07-19 | Mellanox Technologies Ltd. | Packet steering |
US9390056B1 (en) | 2011-12-19 | 2016-07-12 | Chelsio Communications, Inc. | Method for efficient routing in a network interface card |
EP2618502A1 (en) * | 2012-01-19 | 2013-07-24 | ABB Technology AG | Data transmission over packet switched network |
US9336162B1 (en) * | 2012-02-16 | 2016-05-10 | Applied Micro Circuits Corporation | System and method for pre-fetching data based on a FIFO queue of packet messages reaching a first capacity threshold |
US9515868B2 (en) | 2012-03-23 | 2016-12-06 | Nec Corporation | System and method for communication |
US9817742B2 (en) | 2013-06-25 | 2017-11-14 | Dell International L.L.C. | Detecting hardware and software problems in remote systems |
US9541947B2 (en) | 2013-08-07 | 2017-01-10 | General Electric Company | Time protocol based timing system for time-of-flight instruments |
JP6382029B2 (ja) * | 2013-09-20 | 2018-08-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置、及び受信装置 |
US9667446B2 (en) | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
US20160295426A1 (en) | 2015-03-30 | 2016-10-06 | Nokia Solutions And Networks Oy | Method and system for communication networks |
US10027601B2 (en) | 2015-06-03 | 2018-07-17 | Mellanox Technologies, Ltd. | Flow-based packet modification |
US10284383B2 (en) | 2015-08-31 | 2019-05-07 | Mellanox Technologies, Ltd. | Aggregation protocol |
US11418632B2 (en) | 2015-12-15 | 2022-08-16 | Intel Corporation | High speed flexible packet classification using network processors |
US10187400B1 (en) | 2016-02-23 | 2019-01-22 | Area 1 Security, Inc. | Packet filters in security appliances with modes and intervals |
WO2017155545A1 (en) | 2016-03-11 | 2017-09-14 | Tektronix Texas, Llc. | Timestamping data received by monitoring system in nfv |
US10320952B2 (en) | 2016-05-16 | 2019-06-11 | Mellanox Technologies Tlv Ltd. | System-wide synchronized switch-over of multicast flows |
JP6820586B2 (ja) | 2016-08-31 | 2021-01-27 | 株式会社メディアリンクス | 時刻同期システム |
US10231253B2 (en) | 2016-11-02 | 2019-03-12 | Cisco Technology, Inc. | Per-packet, time slotted channel hopping (TSCH), meta-timeslot |
US20180191629A1 (en) | 2016-12-30 | 2018-07-05 | Intel Corporation | Time-based flexible packet scheduling |
US10727966B1 (en) | 2017-08-30 | 2020-07-28 | Amazon Technologies, Inc. | Time synchronization with distributed grand master |
GB201717295D0 (en) * | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Synchronization in a multi-tile processing array |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
US20190044879A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Technologies for reordering network packets on egress |
US11689440B2 (en) * | 2019-02-06 | 2023-06-27 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for transmit time timestamping |
US11296807B2 (en) | 2019-06-25 | 2022-04-05 | Intel Corporation | Techniques to operate a time division multiplexing(TDM) media access control (MAC) |
-
2020
- 2020-06-24 US US16/910,193 patent/US11336383B2/en active Active
-
2021
- 2021-06-21 CN CN202110684990.5A patent/CN113839731B/zh active Active
- 2021-06-24 EP EP21181591.5A patent/EP3930266A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450846B1 (en) * | 2012-10-17 | 2016-09-20 | Cisco Technology, Inc. | System and method for tracking packets in a network environment |
Also Published As
Publication number | Publication date |
---|---|
US11336383B2 (en) | 2022-05-17 |
CN113839731A (zh) | 2021-12-24 |
EP3930266A1 (en) | 2021-12-29 |
US20210409137A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113839731B (zh) | 具有用于分组的所需物理传输时间的分组调度系统 | |
US11277455B2 (en) | Streaming system | |
US6967951B2 (en) | System for reordering sequenced based packets in a switching network | |
US6188699B1 (en) | Multi-channel encoder/decoder | |
US8549341B2 (en) | System and method for reducing latency associated with timestamps in a multi-core, multi-threaded processor | |
US9582440B2 (en) | Credit based low-latency arbitration with data transfer | |
US7818470B2 (en) | Adaptive interrupt on serial rapid input/output (SRIO) endpoint | |
US20220321493A1 (en) | Method for transmitting data packet and apparatus for implementing the same | |
WO1999010804A1 (en) | Method and apparatus for performing frame processing for a network | |
US20140317220A1 (en) | Device for efficient use of packet buffering and bandwidth resources at the network edge | |
CN103975569A (zh) | 用于仲裁时间敏感数据传输的方法和装置 | |
JP6266982B2 (ja) | データを受信しフォワードするための装置および方法 | |
US6690683B1 (en) | Method and apparatus for demultiplexing a shared data channel into a multitude of separate data streams, restoring the original CBR | |
JP2014504817A5 (zh) | ||
JP5768289B2 (ja) | ネットワークノード及びパケット管理方法 | |
US6665266B1 (en) | Method and apparatus for multiplexing a multitude of separate data streams into one shared data channel, while maintaining CBR requirements | |
WO2012163395A1 (en) | An apparatus and a method of parallel receipt, forwarding and time stamping data packets using synchronized clocks | |
US20020101876A1 (en) | Head of line blockage avoidance system and method of operation thereof | |
US20090316726A1 (en) | Apparatus and method for data transmission | |
US20020136229A1 (en) | Non-blocking crossbar and method of operation thereof | |
CN118802816A (zh) | 一种数据分发电路、方法、介质及芯片 | |
CA2224392C (en) | Multi-channel encoder/decoder | |
CN115412508A (zh) | 传输报文的方法及装置 | |
JPH10336266A (ja) | 信号処理回路 | |
JP2000332789A (ja) | 同報セル転送制御装置 |
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 |