CN107846443B - 网络中的分布式处理 - Google Patents

网络中的分布式处理 Download PDF

Info

Publication number
CN107846443B
CN107846443B CN201710804662.8A CN201710804662A CN107846443B CN 107846443 B CN107846443 B CN 107846443B CN 201710804662 A CN201710804662 A CN 201710804662A CN 107846443 B CN107846443 B CN 107846443B
Authority
CN
China
Prior art keywords
avb
processing core
data
computing system
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710804662.8A
Other languages
English (en)
Other versions
CN107846443A (zh
Inventor
L.K.乔伊
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.)
Harman International Industries Inc
Original Assignee
Harman International Industries Inc
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 Harman International Industries Inc filed Critical Harman International Industries Inc
Publication of CN107846443A publication Critical patent/CN107846443A/zh
Application granted granted Critical
Publication of CN107846443B publication Critical patent/CN107846443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA
    • G06F2213/2802DMA using DMA transfer descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

公开了用于在多个处理核心之间分配以太网数据处理的实例。在一个实例中,计算系统包括主主机处理器,其包括多个处理核心和由所述多个处理核心中的每个可访问的共享片上存储器;以及以太网硬件子系统,其经由直接存储器访问(DMA)子系统通信地耦合到所述主主机处理器,所述DMA子系统被配置成将数据从所述以太网硬件子系统路由到所述多个处理核心中的一个或多个。

Description

网络中的分布式处理
技术领域
本公开涉及用于诸如以太网音频视频桥接(AVB)网络的网络中的网络处理的分布式架构。
背景技术
AVB定义了超过7跳的最大延迟为2ms的低延迟A类业务,以及超过7跳的最大延迟为50ms的更高延迟的B类业务。音频流式传送标准(诸如AVB 61883-6音频格式)建议“每8kHz生成A类同步数据包”。在这些音频格式中,这种数据包代表125μs的音频。因此,48kHz的音频CD类型(16位样本,立体声)流生成6个样本,这意味着24字节的有效载荷。在缓冲2ms的音频的实例中,以125/250μs的间隔发送音频数据可能对实施构成挑战。
A/B类业务被配置成以125/250μs的间隔率进行成形或调度。特定类别的AVB流的列队通常被配置成使得可以在一个调度周期(A类为125μs,B类为250μs)内调度每个流的唯一最大间隔帧。因此,软件调度任务将以调度周期(125/250μs)的频率运行。在抢占式多任务操作系统(例如,Linux、QNX、Windows)上,125/250μs的调度周期不太可行,并且如果实施为中断服务例程,则这种开销的额外负载可能会大大降低系统性能。
发明内容
公开了用于提供分布式以太网AVB堆栈的实施方案,其具有分布到多个核心的各种模块以便共享网络处理负载。在一个实例中,计算系统包括主主机处理器,其包括多个处理核心和由多个处理核心中的每个可访问的共享片上存储器;以及以太网硬件子系统,其经由直接存储器访问(DMA)子系统通信地耦合到主主机处理器,DMA子系统被配置成将数据从以太网硬件子系统路由到多个处理核心中的一个或多个。
本公开还提供了在音频/视频桥接(AVB)计算系统中在主机处理器的多个核心之间分配处理负载的示例性方法。示例性方法包括在AVB计算系统的直接存储器访问(DMA)子系统处从AVB计算系统的以太网硬件子系统接收数据;确定数据是否包括尽力而为流量或AVB流量;响应于确定数据包括尽力而为流量,将尽力而为流量传输到主机处理器的应用处理器;以及响应于确定数据包括AVB流量,将AVB流量传输到主机处理器的AVB音频处理核心和主机处理器的AVB视频处理核心中的一个或多个。
本公开还提供了一种AVB计算系统,包括主主机处理器,其包括至少一个AVB数据处理核心、至少一个应用处理器以及由至少一个AVB数据处理核心和至少一个应用处理器中的每个可访问的共享片上存储器;直接存储器访问(DMA)子系统,其包括一个或多个传输信道和一个或多个接收信道;以及以太网硬件子系统,其经由直接存储器访问(DMA)子系统通信地耦合到主主机处理器,DMA子系统被配置成在以太网硬件子系统与至少一个AVB数据处理核心和至少一个应用处理器中的一个或多个之间路由数据。
附图说明
参考附图,通过阅读以下非限制性实施方案的描述可以更好地理解本公开,其中下面:
图1示出根据本公开的一个或多个实施方案的示例性通信系统;
图2示意性地示出根据本公开的一个或多个实施方案的包括多核处理器和以太网硬件子系统的示例性分布式以太网AVB系统;
图3是示出根据本公开的一个或多个实施方案的在处理核心之间传达的数据的示例性通信时序的时序图;
图4是根据本公开的一个或多个实施方案的用于路由在直接存储器访问子系统处接收的数据的示例性方法的流程图;以及
图5是根据本公开的一个或多个实施方案的用于执行虚拟化描述符逻辑的示例性方法的流程图。
具体实施方式
分布处理的当前方法包括为软件模块/服务器配备连接到其他处理器的其他网络接口,以便在多个处理器之间分配网络接口处理负载。由于包括额外的网络接口卡,这些方法可能是低效的。上述方法还引入了用于协调多个网络接口的额外的开销。
本公开提供了用于处理和实施以太网音频/视频桥接(AVB)堆栈的系统和方法,以太网AVB堆栈包括具有多个核心的至少一个中央处理器单元(CPU)。本公开进一步提供了用于在网络和多个CPU核心之间形成连接的网络接口,使得对于从网络接收的所有数据包,在多个指定的CPU核心中处理中断以处理接收的数据包。从网络接收的每个数据包可以与在基于处理器负载选择的指定的CPU核心上运行的软件模块相关联。所公开的系统和方法可以通过网络接口将网络和以太网堆栈操作重新分布到各种核心。以这种方式,分布式多核心可以被配置成使得利用相对大量的CPU资源(例如,高于阈值和/或高于非时间关键任务)的接收代码的部分可以被卸载到另一个专用核心中,并且非时间关键任务可以由主机/单独的CPU或CPU核心来处理。本公开为AVB提供了一种高度优化的新架构,这将有助于显著减少所需的CPU资源。分布式处理还使得能够在用于分布式处理的多个核心之间共享相同的网络流量,这可以通过基于虚拟描述符的DMA共享的概念来实现。
图1是包括对话器102和监听器104的示例性通信系统100。对话器102可以是用于向一个或多个监听器(例如,监听器104)发送音频/视频流的任何合适的设备。监听器104可以是用于接收和播放从一个或多个对话器(例如,对话器102)接收的音频/视频流的任何合适的设备。例如,对话器102可以对应于车载计算系统,并且监听器104可以对应于车辆的扬声器和/或显示器。尽管图示为对话器/监听器,但是应当理解,通信系统100中的一个或多个设备(例如,对话器102和/或监听器104中的任何一个)可以被配置成执行多个角色。例如,系统中的一个或多个设备可以同时传输音频/视频数据和接收音频/视频数据,由此有选择地承担对话器和监听器的角色。对话器的角色可以是跨AVB网络106传输信息和/或数据。另外或替代地,对话器的角色可以包括建立、创建和/或预留用于传输携带信息和/或数据的数据流的连接。另外或替代地,对话器的角色可以是去除或拆除连接。监听器的角色可以是接收通过网络106发送的信息和/或数据。另外或替代地,监听器的角色可以包括连接到和/或预留与数据流的连接。另外或替代地,监听器的角色可以包括去除与数据流的连接。对话器/监听器的角色可以是在同一时间或在不同的时间同时执行对话器和监听器的角色。
设备还可以承担其他角色,包括但不限于客户端角色、控制器、主时钟设备等。控制器的角色可以包括控制对话器和监听器或对话器/监听器之间的数据流的流动。控制器可以通过向对话器、监听器和/或对话器/监听器发送一个或多个消息来创建连接和/或去除对话器和监听器或对话器/监听器之间的数据流的连接,来控制数据流的流动。消息可以通过对话器、监听器和/或对话器/监听器的高级应用层传达给对话器、监听器和/或对话器/监听器。另外或替代地,控制器的角色可以是识别和/或确定哪些对话器是重要的,相关的和/或预期被监听器使用的。客户端的角色可以包括确定输入(诸如用户输入),其指示创建或去除数据流的连接并将输入传达给控制器。应当理解,通信系统100中可能存在额外或替代设备,包括但不限于网桥、交换机、路由器和其他合适的网络设备。例如,AVB网络106中可以包括一个或多个网桥和/或交换机,以在系统中的一个或多个对话器和一个或多个监听器之间传播消息和/或为系统中的一个或多个对话器和一个或多个监听器之间的数据流建立预留。对话器102和监听器104中的每个可以包括用于执行存储在相关联的存储设备(分别为107和109)和/或存储器(分别为111和113)中的指令的处理器(分别为103和105)。
数据(诸如数据包108)可以通过网络(例如,AVB网络106)从对话器102(例如,经由对话器通信接口110)传输到监听器104(例如,经由监听器通信接口112)。例如,数据包108可以经由网络106内的网桥114传输。因此,对话器通信接口110和监听器通信接口112可以被配置成经由AVB网络(例如,经由音频/视频传输协议,AVTP)进行通信。对话器通信接口110和监听器通信接口112可以包括通信地连接到网桥114的端口的一个或多个端口(例如,用于经由网络分别接收和传输消息的入口/出口端口)。
在发送用于数据流的数据包之前,对话器102和监听器104可以执行预留例程以确保网络和设备之间的相关联的路径能够支持数据流。当对话器确定传输数据流时,对话器可以被配置成将传输广告为第2层广告消息。可以传输第2层广告消息以通过可以在其上传达数据流的至少一个网络(例如,网络106)来预留和建立网络路径。广告消息可以包括一个或多个对话器属性,包括但不限于对话器标识符、监听器标识符、传输类型(例如,单播、多播、广播等)、目的地地址(例如,第2层或MAC地址)、流标识符(例如,可以只分配给一个数据流或以其他方式归属于特定个别数据流的唯一字符和/或数字序列)、服务质量参数,和/或关于对话器和/或被广告的数据流的其他特征。
一个或多个监听器可以接收广告消息并且确定是否接收被广告的数据流。例如,监听器可以被配置成分配和/或识别流ID以确定监听器是否要接收数据流。如果要接收数据流,则监听器可以注册或存储第2层广告消息和/或对话器属性。监听器可以发送指示如果作出这种确定,则监听器已经确定接收数据流的响应(例如,第2层就绪消息)。就绪消息可以包括用于请求接收被广告的数据流的监听器属性(例如,用于在接收对话器设备处进行比较的数据流的流ID)。响应于在发送广告消息的对话器设备处接收到就绪消息,对话器设备可以注册或存储就绪消息和/或所包括的监听器属性。另外,响应于接收到就绪消息可以完成数据路径的预留和/或建立。预留可以包括对在第2层广告消息中识别的资源和/或QoS参数(诸如带宽)的预留。在一些实例中,响应于接收到一个或多个就绪消息可以预留和/或建立多个路径。
一旦对一个或多个网络路径的预留完成并且第2层广告和就绪消息以及相关联的对话器和监听器属性被注册,则数据流可以在对话器和一个或多个监听器之间进行通信。在数据流的通信结束之后,对话器和一个或多个监听器可以被配置成传达第2层终止消息以终止通信。响应于第2层终止消息,可以终止对网络路径的预留,第2层广告消息、响应和相关联的对话器属性的注册可以被撤销注册,并且为数据流的通信而消耗的任何资源可以可用于数据流的其他通信。
AVB的配置中的一个属性是最小化整个传输和处理链中的延迟。低延迟加上音频的低带宽又意味着处理节点通常是非常高的中断负载。每个AVB的A类流意味着一秒钟内的8000个样本。如果节点请求发送2个流并接收2个流,则每秒产生32000个样本。在处理所有系统任务的正常核心之上处理这种高的处理负载可能非常棘手。
精确时间协议(PTP)是另一种AVB协议,其依赖于使用仔细的时间戳数据包来使一个或多个从时钟与主时钟同步。同步时间信息是分层分布的,在层次结构的根部有大的主时钟。PTP包括两个功能,即,链路延迟的测量和时间信息的分布。主时钟设备通过使用周期性同步和同步跟踪消息(通常每隔100ms)使附接的从时钟设备同步。从时钟设备使用这些消息中捕获的信息对其本地时钟执行周期性调整。主时钟为同步消息的传输盖上时间戳,并且从时钟为其接收盖上时间戳。
在一些系统中,在主机CPU上运行的PTP应用程序可以启动PTP消息(同步或延迟请求)。时间戳通过基于中断的模型传回到CPU,以便PTP应用程序可以发送跟踪消息。每个MAC模块可以保持对应的计数器来调整PTP时间格式的纳秒字段。由于PTP同步消息每秒被传输和接收十次,所以CPU以较低的速率处理所有必要的操作。
如上所述,一些系统利用单个处理核心来处理上述处理任务,其中一些处理任务是时间关键的。在这些系统中,在尝试处理多个任务时可能会遇到瓶颈和其他延迟,这在时间关键的上下文中可能是不期望的。图2示出主主机处理器202中的分布式以太网AVB堆栈,其包括分布到多个处理核心的各种模块,由此共享负载,使得诸如AVTP(音频视频传输协议)的CPU占用任务可以与其他任务分开处理。图2还示出在多个核心之间共享的以太网硬件子系统204。以太网硬件子系统204可以包括N(大于或等于1的整数)个端口,其由图2中的端口0和端口N表示。端口连接到硬件FIFO 206,硬件FIFO 206被分成Tx和Rx路径以用于传输和接收数据包。FIFO 206的传输信道可以具有与之相关联的优先级,其定义通过该信道的流量的优先级。较高优先级的传输信道可以用于时间关键或时间敏感的流量(诸如AVB流量),而较低优先级的传输信道可以用于非时间关键的流量(诸如尽力而为流量)。FIFO 206经由直接存储器访问(DMA)子系统208连接到主机进程处理器202,DMA子系统208包括多个信道210,每个信道适于专用于具有相同数据包优先级的特定类型的数据包类型。在所示实例中,DMA子系统208包括比以太网硬件子系统204更多的传输信道。在其他实例中,传输信道可以基于预期或历史吞吐量来匹配或以其他方式配置(例如,在主机处理器发送比以太网硬件子系统更多的数据的情况下,主机处理器将具有比以太网硬件子系统更多的传输信道,反之亦然)。
所涉及的各种CPU核心可以包括数字信号处理(DSP)核心212,其可以是音频样本的来源以及媒体时钟源;以及具有实时操作系统的AVB音频处理核心214,其生成AVTP音频流以及执行PTP操作。固定数据包优先级的AVB流量可以映射到通过分配给AVB流量的DMA信道。因此,AVB音频处理核心214可以接收和传输AVB流量(例如,AVTP音频流)。AVB音频处理核心214还可以从DSP核心212接收PTP数据包,诸如PTP定时数据(例如,用于使AVB音频处理核心与媒体时钟源同步的信息),并且将PTP定时数据传输到其他核心。
CPU核心可以另外包括应用处理核心/处理器216,其可以包括和/或执行通用操作系统(OS)。应用处理核心/处理器216可以处理以太网流量并且接收尽力而为流量。主主机处理器202还可以包括其他子处理器,诸如子处理器218。尽管图2中仅图示了一个子处理器,但是应当理解,在其他实例中,主主机处理器202可以包括多个子处理器。子处理器可以使用虚拟寄存器的概念来接收应用处理器216接收的相同的数据包(例如,复制的数据包),如下面将更详细地描述的。
CPU核心可以进一步包括具有实时操作系统的AVB视频处理核心220,其生成AVTP视频流以及执行视频处理。固定数据包优先级的AVB流量可以映射到通过分配给AVB流量的DMA信道。CPU核心可以进一步包括视频加速器硬件模块222,其将视频样本提供给AVB视频处理核心220以传送到以太网硬件子系统204。
在将在单核系统中接收和传输以太网数据包的情况下,可以将描述符附加到特定信道。当将在多个核心中接收以太网数据时,系统可以利用虚拟描述符来控制主机处理器中的路由。虚拟描述符逻辑224可以服务于所有接收到的流量,并且帮助通过映射到单独的直接存储器访问和/或访问路由(DMA)的单独的以太网队列,将这些数据包提供给多个单独的核心。虚拟接收描述符可以存储在网络设备的每个网络驱动器的存储器内部。那些虚拟接收描述符的工作方式可以与硬件描述符的工作方式相同。因此,对于网络驱动器,可能只有接收描述符所在的不同地址。通过这种布置,尽力而为或AVB流量可以为以太网驱动程序以及多个核心共享相同的接收描述符。
当数据包的接收是基于中断时,还可以执行DMA驱动程序(这是两个核心中的多核心以太网驱动程序的部分)的同步。同步可以包括当在描述符中更新数据指针后,相同的中断出现在多个核心中时,确定和设置关于处理中断屏蔽清除的方法的规则。如果没有虚拟接收描述符,则可能无法将以太网数据共享到多个核心(因为将数据从一组描述符复制到另一组描述符将产生额外开销)。可以通过保持单独处理的读取和写入周期(例如,对于访问的存储器)来隐式地处理同步。可以保持Ping和Pong缓冲区的概念,使得当ping更新时,pong总是被读取。以这种方式,音频和视频样本可能保持未损坏。此外,对于共同共享的数据结构,在一些实例中,仅允许并行执行读取动作。写入动作可以与AVB处理间隔同步,使得不存在同步写入。操作可以是同步的,使得各种核心中的所有任务基于在周期期间触发和访问的处理周期来访问数据结构。
每个核心可以访问和共享驻留在主主机处理器202的片上存储器中的存储器AVB对象226。基于存储器AVB对象的关键数据共享支持执行分布式以太网AVB处理的所有核心,并且提供在整个主主机处理器中可用的相同信息,包括PTP信息、样本细节等。用于利用存储器AVB对象的缓冲操作被组织为缓冲区所有者和缓冲区用户。缓冲区所有者和阅读器的功能描述如下。
缓冲区所有者可以实施和管理缓冲区的操作,允许其他用户通过使用DMA缓冲区共享API来共享缓冲区,管理缓冲区分配的细节,决定这种分配发生时的实际备份存储,和/或处理这个缓冲区的所有(共享)用户的散聚表的任何迁移。缓冲区用户可以是缓冲区的(许多)共享用户中的一个,可能不涉及确定如何分配缓冲区,或在哪里分配缓冲区,并且可以利用机制来获取对组成存储器中的该缓冲区的散聚表的访问,映射到其自己的地址空间中,因此缓冲区用户可以访问相同的存储器区域。片上存储器可能无法为不包括操作系统的缓冲区用户(例如,处理核心)提供任何缓存能力。
由于主机处理器的不同处理器/处理核心的启动定时可能变化,所以系统可能无法预测哪个处理器/处理核心将首先启动,或额外的处理器/处理核心何时将变得可用并能够访问共享存储器。因此,可以使用基于硬件的弹簧锁来确保系统设置的更改在没有并发或冲突相关问题的情况下独特地执行。
图3是示出图2的处理器/处理核心和DMA子系统208之间的示例性通信的时序图300。在302,将PTP数据包从AVB音频处理核心214传输到应用/OS处理器216。PTP数据包可以包括用于使AVB音频处理核心和应用/OS处理器的时钟(例如,彼此和/或与由图2的DSP核心212生成/维护的媒体时钟)同步的定时信息。在304和306,将AVB流量(分别为音频和视频)同时从DMA子系统208分别传输到AVB音频处理核心214和AVB视频处理核心220。由于分布式处理核心,可以在每个专用处理核心处大体上同时处理AVB流量,从而在应用/OS处理器216和子处理器218处释放资源来执行其他任务。
在308,将尽力而为流量从应用/OS处理器216发送到DMA子系统208。在310和312,分别从AVB音频处理核心214和AVB视频处理核心220传输AVB音频和视频流量。由于这些传输中的每个都是从不同的处理核心发送的,所以这些传输可以在大体上相同的时间被DMA子系统208接收。尽力而为流量可以包括对服务质量度量(抖动、丢包、延迟等)不敏感的各种非不利的流量。一个实例是点对点和电子邮件应用程序。流量整形确保尽力而为流量获得敏感流量后留下的流量。所有尽力而为流量都通过具有较低优先级的单独硬件队列来处理,并且所有AVB流量都通过高优先级队列来处理。一些数据包可以具有带有VLAN标头的802.1Q标签。尽力而为流量通常是未标记的,而AVB流量通常被标记并具有数据包优先级。切换优先级的数据包优先级可以包括通过交换机MAC映射来处理,使得AVB数据包总是通过与尽力而为流量相比具有更高优先级的信道。
在314,将尽力而为流量从DMA子系统208传输到应用/OS处理器216。在大体上相同的时间,将复制的尽力而为流量316从DMA子系统208传输到子处理器218。以这种方式,尽力而为流量可以由具有可用资源和/或最低处理负载的那个处理器/子处理器来处理。
图4示出将数据传达给分布式以太网堆栈的多个核心的示例性方法400的流程图。例如,方法400可以由DMA子系统(诸如图2的DMA子系统208),和/或具有多个核心的主机处理器(例如,图2的主机处理器202)和以太网硬件子系统(例如,图2的以太网硬件子系统204)之间的另一个接口来执行。在402,方法包括接收数据。在404,方法可选地包括评估与接收的数据相关联的任何虚拟描述符。虚拟描述符可以识别要路由数据的处理器和/或处理核心。例如,查找表可以将不同的虚拟描述符映射到不同类别的数据、处理器/处理核心,和/或可能影响由DMA子系统或其他逻辑作出的路由决策的其他参数。
在406,方法包括确定是否从以太网硬件子系统接收数据。如果从以太网硬件子系统接收到数据(例如,在406处的“是”),则方法进行至408以确定数据是否包括尽力而为流量。如果数据确实包括尽力而为流量(例如,在408处的“是”),则方法进行至410以复制尽力而为流量,并向应用处理器(例如,图2的应用处理器216)和子处理器(例如,图2的子处理器218)发送尽力而为流量。在数据包括多类数据的实例中,可以仅将尽力而为流量传输到应用处理器和子处理器,并且可以根据方法400的剩余评估来评估剩余数据。
如果数据不包括尽力而为流量和/或针对不是尽力而为流量的任何数据(例如,在408处的“否”),则方法进行至412以确定数据是否包括AVB流量。如果数据包括AVB流量(例如,在412处的“是”),则方法进行至414以将音频相关数据发送到AVB音频处理核心(例如,图2的处理核心214)。方法还进行至416以将视频相关数据发送到AVB视频处理核心(例如,图2的处理核心220)。在数据包括多类数据的实例中,可以仅将AVB流量传输到音频/视频处理核心,并且可以根据方法400的剩余评估来评估剩余数据。
如果数据不包括AVB流量和/或针对不是AVB流量的任何数据(例如,在412处的“否”),则方法进行至418以将数据(或任何剩余数据)发送到所选择的处理器/处理核心。如在420所指示,所选择的处理器和/或处理核心可以基于主机处理器的各种核心处的处理负载进行选择。例如,所选择的处理器和/或处理核心可以被选择为主机处理器中具有最低负载和/或最低预测负载的处理器和/或处理核心。在其他实例中,数据可以分布在所有核心上,数量对应于每个核心处的负载(例如,使得具有较高负载的核心接收较少的数据,反之亦然)。
返回到406,如果没有从以太网硬件子系统接收到数据(例如,在406处的“否”),则方法进行至422以将数据发送到以太网硬件子系统(例如,由于数据源自一个或多个处理核心)。如果数据包括优先级指定(例如,与数据类别相关联),则DMA子系统可以将数据路由到与数据的优先级相关联的特定传输信道。
图5示出执行虚拟描述符逻辑以跨分布式处理核心(诸如图2的主机处理器202的处理器/处理核心)处理数据包的示例性方法500的流程图。在502,方法包括接收要传输到主机处理器的数据的描述符。在504,方法包括将接收的描述符放置在可由主机处理器的核心访问的一个或多个虚拟化描述符队列中。例如,每个核心可以被配置成访问不同的虚拟化描述符队列。
在506,方法包括处理与队列中的虚拟化描述符相关联的数据。例如,与虚拟化队列相关联的处理核心可以处理数据包数据以执行流量分类(如在508所指示),流程管理和/或例程(如在510所指示),和/或内容修改(如在512所指示)。方法然后可以进行至514以将虚拟化描述符移动到相关联的处理器/处理核心的设备描述符队列。通过在描述符处于虚拟化队列中时执行修改,可以避免由于设备描述符队列的修改而可能发生的同步问题。
上述系统和方法还提供了一种计算系统,包括主主机处理器,其包括多个处理核心和由多个处理核心中的每个可访问的共享片上存储器;以及以太网硬件子系统,其经由直接存储器访问(DMA)子系统通信地耦合到主主机处理器,DMA子系统被配置成将数据从以太网硬件子系统路由到多个处理核心中的一个或多个。在计算系统的第一实例中,以太网硬件子系统可以另外或替代地包括一个或多个端口,其通信地连接到音频/视频桥接(AVB)网络以从AVB网络接收AVB数据。计算系统的第二实例可选地包括第一实例,并且进一步包括计算系统,其中主主机处理器包括AVB音频处理核心和AVB视频处理核心中的一个或多个。计算系统的第三实例可选地包括第一实例和第二实例中的一个或两个,并且进一步包括计算系统,其中主主机处理器包括数字信号处理核心和视频加速器硬件模块中的一个或多个,数字信号处理核心适于将AVB音频发送到AVB音频处理核心或从AVB音频处理核心接收AVB音频,并且视频加速器硬件模块适于将视频发送到AVB视频处理核心或从AVB视频处理核心接收视频。计算系统的第四实例可选地包括第一至第三实例中的一个或多个,并且进一步包括计算系统,其中主主机处理器包括数字信号处理核心,并且其中数字信号处理核心适于维护媒体时钟并将精确时间协议(PTP)数据发送到AVB音频处理核心。计算系统的第五实例可选地包括第一至第四实例中的一个或多个,并且进一步包括计算系统,其中主主机处理器包括应用处理器和一个或多个子处理器,并且其中AVB音频处理核心适于将精确时间协议(PTP)数据发送到应用处理器。计算系统的第六实例可选地包括第一至第五实例中的一个或多个,并且进一步包括计算系统,其中应用处理器和一个或多个子处理器适于接收尽力而为流量,并且其中AVB音频处理核心和AVB视频处理核心适于接收AVB流量。计算系统的第七实例可选地包括第一至第六实例中的一个或多个,并且进一步包括计算系统,其中AVB音频处理核心和AVB视频处理核心中的每个包括实时操作系统。计算系统的第八实例可选地包括第一至第七实例中的一个或多个,并且进一步包括计算系统,其进一步包括可执行以对由DMA子系统路由的数据的虚拟描述符进行排队的虚拟描述符逻辑。计算系统的第九实例可选地包括第一至第八实例中的一个或多个,并且进一步包括计算系统,其中共享片上存储器包括由多个处理核心中的每个可访问的一个或多个存储器AVB对象。计算系统的第十实例可选地包括第一至第九实例中的一个或多个,并且进一步包括计算系统,其中共享片上存储器包括适于控制对片上存储器的访问的一个或多个基于硬件的弹簧锁。
上述系统和方法还提供了一种在音频/视频桥接(AVB)计算系统中在主机处理器的多个核心之间分配处理负载的方法,方法包括在AVB计算系统的直接存储器访问(DMA)子系统处从AVB计算系统的以太网硬件子系统接收数据;确定数据是否包括尽力而为流量或AVB流量;响应于确定数据包括尽力而为流量,将尽力而为流量传输到主机处理器的应用处理器;以及响应于确定数据包括AVB流量,将AVB流量传输到主机处理器的AVB音频处理核心和主机处理器的AVB视频处理核心中的一个或多个。在方法的第一实例中,方法另外或替代地进一步包括响应于确定数据包括尽力而为流量,复制尽力而为流量并将复制的尽力而为流量传输到主机处理器的子处理器。方法的第二实例可选地包括第一实例,并且进一步包括方法,其进一步包括评估与接收的数据相关联的虚拟描述符,并基于虚拟描述符选择性地处理数据。方法的第三实例可选地包括第一实例和第二实例中的一个或两个,并且进一步包括方法,其中与将AVB流量传输到AVB音频处理核心和AVB视频处理核心中的一个或多个大体上同时将尽力而为流量传输到应用处理器。方法的第四实例可选地包括第一至第三实例中的一个或多个,并且进一步包括方法,其进一步包括大体上同时从AVB音频处理核心和AVB视频处理核心中的一个或多个接收AVB流量和从应用处理器接收尽力而为流量。
上述系统和方法还提供了一种AVB计算系统,包括主主机处理器,其包括至少一个AVB数据处理核心、至少一个应用处理器以及由至少一个AVB数据处理核心和至少一个应用处理器中的每个可访问的共享片上存储器;直接存储器访问(DMA)子系统,其包括一个或多个传输信道和一个或多个接收信道;以及以太网硬件子系统,其经由直接存储器访问(DMA)子系统通信地耦合到主主机处理器,DMA子系统被配置成在以太网硬件子系统与至少一个AVB数据处理核心和至少一个应用处理器中的一个或多个之间路由数据。在AVB计算系统的第一实例中,至少一个AVB数据处理核心另外或替代地包括AVB音频处理核心和AVB视频处理核心,并且主机处理器另外或替代地进一步包括耦合到AVB音频处理核心的数字信号处理核心,和耦合到AVB视频处理核心的视频加速器硬件模块。AVB计算系统的第二实例可选地包括第一实例,并且进一步包括AVB计算系统,其中数字信号处理核心适于维护媒体时钟并将精确时间协议(PTP)信息传输到AVB音频处理核心,AVB音频处理核心适于将PTP信息传输到应用处理器。AVB计算系统的第三实例可选地包括第一实例和第二实例中的一个或两个,并且进一步包括AVB计算系统,其中主机处理器进一步包括一个或多个子处理器,一个或多个子处理器适于接收与由应用处理器接收的尽力而为流量相同的复制的尽力而为流量。
为了说明和描述的目的已经呈现了实施方案的描述。对实施方案的适当的修改和变化可以根据上述描述来执行,或可以从实践方法中获得。例如,除非另有说明,否则所描述的方法中的一个或多个可以由合适的设备和/或设备的组合来执行,诸如图2的主主机处理器202的处理器/处理核心、DMA子系统208和以太网硬件子系统204。可以通过使用一个或多个逻辑设备(例如,处理器)结合一个或多个额外硬件元件(诸如存储设备、存储器、硬件网络接口/天线、交换机、致动器、时钟电路等)执行存储指令来执行方法。除了本申请中描述的顺序,即,并行和/或同时之外,还可能以各种顺序执行所描述的方法和相关联的动作。所描述的系统本质上是示例性的,并且可以包括额外元件和/或省略元件。本公开的主题包括各种系统和配置以及所公开的其他特征、功能和/或属性的所有新颖和不明显的组合和子组合。
如本申请中所使用的,以单数叙述并且用词“一”继续进行的元件或步骤应被理解为不排除复数个所述元件或步骤,除非说明这种排除。此外,对本公开的“一个实施方案”或“一个实例”的引用不旨在被解释为排除也包括所述特征的额外实施方案的存在。术语“第一”、“第二”和“第三”等仅用作标签,并且不旨在对其对象施加数字要求或特定位置顺序。以下的权利要求特别指出了被认为是新颖而不明显的上述公开内容的主题。

Claims (19)

1.一种计算系统,包括:
主主机处理器,其包括多个处理核心和由所述多个处理核心中的每个可访问的共享片上存储器;以及
以太网硬件子系统,其经由直接存储器访问(DMA)子系统通信地耦合到所述主主机处理器,所述DMA子系统被配置成将数据从所述以太网硬件子系统路由到所述多个处理核心中的一个或多个,
其中,所述主主机处理器包括数字信号处理核心和音频/视频桥接(AVB)音频处理核心,并且其中所述数字信号处理核心适于维护媒体时钟并将精确时间协议(PTP)数据发送到所述AVB音频处理核心。
2.根据权利要求1所述的计算系统,其中所述以太网硬件子系统包括通信地连接到音频/视频桥接(AVB)网络以从所述AVB网络接收AVB数据的一个或多个端口。
3.根据权利要求2所述的计算系统,其中所述主主机处理器包括AVB音频处理核心和AVB视频处理核心中的一个或多个。
4.根据权利要求3所述的计算系统,其中所述主主机处理器包括数字信号处理核心和视频加速器硬件模块中的一个或多个,所述数字信号处理核心适于将AVB音频发送到所述AVB音频处理核心或从所述AVB音频处理核心接收AVB音频,并且所述视频加速器硬件模块适于将视频发送到所述AVB视频处理核心或从所述AVB视频处理核心接收视频。
5.根据权利要求3所述的计算系统,其中所述主主机处理器包括应用处理器和一个或多个子处理器,并且其中所述AVB音频处理核心适于将精确时间协议(PTP)数据发送到所述应用处理器。
6.根据权利要求5所述的计算系统,其中所述应用处理器和所述一个或多个子处理器适于接收尽力而为流量,并且其中所述AVB音频处理核心和所述AVB视频处理核心适于接收AVB流量。
7.根据权利要求3所述的计算系统,其中所述AVB音频处理核心和所述AVB视频处理核心中的每个包括实时操作系统。
8.根据权利要求2所述的计算系统,其进一步包括可执行以对由所述DMA子系统路由的所述数据的虚拟描述符进行排队的虚拟描述符逻辑。
9.根据权利要求2所述的计算系统,其中所述共享片上存储器包括由所述多个处理核心中的每个可访问的一个或多个存储器AVB对象。
10.根据权利要求9所述的计算系统,其中所述共享片上存储器包括适于控制对所述片上存储器的访问的一个或多个基于硬件的弹簧锁。
11.一种在音频/视频桥接(AVB)计算系统中在主机处理器的多个核心之间分配处理负载的方法,所述方法包括:
在所述AVB计算系统的直接存储器访问(DMA)子系统处从所述AVB计算系统的以太网硬件子系统接收数据;
确定所述数据是否包括尽力而为流量或AVB流量;
响应于确定所述数据包括尽力而为流量,将所述尽力而为流量传输到所述主机处理器的应用处理器;以及
响应于确定所述数据包括AVB流量,将所述AVB流量传输到所述主机处理器的AVB音频处理核心和所述主机处理器的AVB视频处理核心中的一个或多个,
其中,主主机处理器包括数字信号处理核心和所述音频/视频桥接(AVB)音频处理核心,并且其中所述数字信号处理核心适于维护媒体时钟并将精确时间协议(PTP)数据发送到所述AVB音频处理核心。
12.根据权利要求11所述的方法,其进一步包括响应于确定所述数据包括尽力而为流量,复制所述尽力而为流量并将所述复制的尽力而为流量传输到所述主机处理器的子处理器。
13.根据权利要求11所述的方法,其进一步包括评估与所述接收的数据相关联的虚拟描述符,并基于所述虚拟描述符选择性地处理所述数据。
14.根据权利要求11所述的方法,其中与将所述AVB流量传输到所述AVB音频处理核心和所述AVB视频处理核心中的所述一个或多个同时将所述尽力而为流量传输到所述应用处理器。
15.根据权利要求11所述的方法,其进一步包括同时从所述AVB音频处理核心和所述AVB视频处理核心中的一个或多个接收AVB流量和从所述应用处理器接收尽力而为流量。
16.一种AVB计算系统,包括:
主主机处理器,其包括至少一个AVB数据处理核心、至少一个应用处理器以及由所述至少一个AVB数据处理核心和所述至少一个应用处理器中的每个可访问的共享片上存储器;
直接存储器访问(DMA)子系统,其包括一个或多个传输信道和一个或多个接收信道;以及
以太网硬件子系统,其经由所述直接存储器访问(DMA)子系统通信地耦合到所述主主机处理器,所述DMA子系统被配置成在所述以太网硬件子系统与所述至少一个AVB数据处理核心和所述至少一个应用处理器中的一个或多个之间路由数据,
其中,所述主主处理器包括数字信号处理核心和音频/视频桥接(AVB)音频处理核心,并且其中所述数字信号处理核心适于维护媒体时钟并将精确时间协议(PTP)数据发送到所述AVB音频处理核心。
17.根据权利要求16所述的AVB计算系统,其中所述至少一个AVB数据处理核心包括AVB音频处理核心和AVB视频处理核心,所述主主机处理器进一步包括耦合到所述AVB音频处理核心的数字信号处理核心,和耦合到所述AVB视频处理核心的视频加速器硬件模块。
18.根据权利要求17所述的AVB计算系统,其中所述数字信号处理核心适于维护媒体时钟并将精确时间协议(PTP)信息传输到所述AVB音频处理核心,所述AVB音频处理核心适于将PTP信息传输到所述应用处理器。
19.根据权利要求16所述的AVB计算系统,其中所述主主机处理器进一步包括一个或多个子处理器,所述一个或多个子处理器适于接收与由所述应用处理器接收的尽力而为流量相同的复制的尽力而为流量。
CN201710804662.8A 2016-09-19 2017-09-08 网络中的分布式处理 Active CN107846443B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/269,826 US10248615B2 (en) 2016-09-19 2016-09-19 Distributed processing in a network
US15/269,826 2016-09-19

Publications (2)

Publication Number Publication Date
CN107846443A CN107846443A (zh) 2018-03-27
CN107846443B true CN107846443B (zh) 2022-04-12

Family

ID=59930174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710804662.8A Active CN107846443B (zh) 2016-09-19 2017-09-08 网络中的分布式处理

Country Status (4)

Country Link
US (1) US10248615B2 (zh)
EP (1) EP3296884A1 (zh)
KR (1) KR102410422B1 (zh)
CN (1) CN107846443B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459517B2 (en) * 2017-03-31 2019-10-29 Qualcomm Incorporated System and methods for scheduling software tasks based on central processing unit power characteristics
US11074032B2 (en) * 2017-09-29 2021-07-27 Knowles Electronics, Llc Multi-core audio processor with low-latency sample processing core
WO2019067334A1 (en) * 2017-09-29 2019-04-04 Knowles Electronics, Llc MULTICORDER AUDIO PROCESSOR WITH FLEXIBLE MEMORY ALLOCATION
WO2019067335A1 (en) * 2017-09-29 2019-04-04 Knowles Electronics, Llc MULTICORDER AUDIO PROCESSOR WITH PHASE COHERENCE
DE102018124106A1 (de) * 2018-09-28 2020-04-02 Rockwell Collins Deutschland Gmbh Datenverarbeitungsvorrichtung mit mehreren Prozessoren und mehreren Schnittstellen
US10684963B2 (en) * 2018-12-28 2020-06-16 Intel Corporation Fixed ethernet frame descriptor
US11102445B1 (en) * 2019-03-12 2021-08-24 Ethernovia Inc. Extending support of Audio Video Transport Protocol by data encapsulation
CN111198840B (zh) * 2019-11-27 2023-12-22 南京国电南自维美德自动化有限公司 一种适用于双核系统的goose和mms共网通信方法和系统
US20240113986A1 (en) * 2022-10-03 2024-04-04 Qualcomm Incorporated Hardware Based Ethernet Audio And Video Bridging (EAVB) Packet Scheduling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1296585A (zh) * 1998-01-22 2001-05-23 英特罗杰斯公司 用于通用数据交换网关的方法和装置
CN1601512A (zh) * 2003-09-25 2005-03-30 国际商业机器公司 使用多个处理器的虚拟设备的系统和方法
US8103809B1 (en) * 2009-01-16 2012-01-24 F5 Networks, Inc. Network devices with multiple direct memory access channels and methods thereof
CN103703738A (zh) * 2011-06-30 2014-04-02 哈曼国际工业有限公司 用于使用avb网络中的应用层结构管理音频/视频流的系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644221B1 (en) 2005-04-11 2010-01-05 Sun Microsystems, Inc. System interface unit
US7949766B2 (en) * 2005-06-22 2011-05-24 Cisco Technology, Inc. Offload stack for network, block and file input and output
US7321524B2 (en) * 2005-10-17 2008-01-22 Rambus Inc. Memory controller with staggered request signal output
KR100754983B1 (ko) 2005-12-02 2007-09-04 주식회사 알티캐스트 인터넷 프로토콜의 형태로 이더넷을 통해 멀티캐스팅되는디지털 방송신호의 효율적 처리방법 및 이를 위한 디지털방송신호 처리장치
US8059532B2 (en) * 2007-06-21 2011-11-15 Packeteer, Inc. Data and control plane architecture including server-side triggered flow policy mechanism
US8391354B2 (en) * 2007-05-14 2013-03-05 Broadcom Corporation Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions
US8335213B2 (en) * 2008-09-11 2012-12-18 Juniper Networks, Inc. Methods and apparatus related to low latency within a data center
US20100153763A1 (en) * 2008-12-11 2010-06-17 Kapil Sood Method and apparatus to modulate multi-core usage for energy efficient platform operations
CN101771627B (zh) * 2009-01-05 2015-04-08 武汉邮电科学研究院 互联网实时深度包解析和控制节点设备和方法
US8533317B2 (en) * 2009-06-22 2013-09-10 Citrix Systems, Inc. Systems and methods for monitor distribution in a multi-core system
US8769067B2 (en) * 2009-06-22 2014-07-01 Citrix Systems, Inc. Systems and methods for statistics exchange between cores for load balancing
US8396953B2 (en) * 2010-03-12 2013-03-12 Hewlett-Packard Development Company, L.P. Processing packets using a virtualized descriptor queue
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US9647913B2 (en) * 2010-11-16 2017-05-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Measuring and managing power usage and cooling in a network
US20120131245A1 (en) * 2010-11-19 2012-05-24 Silicon Image, Inc. Transfer of control bus signaling on packet-switched network
US9516372B2 (en) * 2010-12-10 2016-12-06 Lattice Semiconductor Corporation Multimedia I/O system architecture for advanced digital television

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1296585A (zh) * 1998-01-22 2001-05-23 英特罗杰斯公司 用于通用数据交换网关的方法和装置
CN1601512A (zh) * 2003-09-25 2005-03-30 国际商业机器公司 使用多个处理器的虚拟设备的系统和方法
US8103809B1 (en) * 2009-01-16 2012-01-24 F5 Networks, Inc. Network devices with multiple direct memory access channels and methods thereof
CN103703738A (zh) * 2011-06-30 2014-04-02 哈曼国际工业有限公司 用于使用avb网络中的应用层结构管理音频/视频流的系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LogiCORE IP Ethernet AVB Endpoint v3.1;XILINX;《Product Specification》;20110301;全文第4页第15-16行、第5页第1-2行、图2 *

Also Published As

Publication number Publication date
US20180081854A1 (en) 2018-03-22
US10248615B2 (en) 2019-04-02
CN107846443A (zh) 2018-03-27
KR102410422B1 (ko) 2022-06-17
EP3296884A1 (en) 2018-03-21
KR20180031569A (ko) 2018-03-28

Similar Documents

Publication Publication Date Title
CN107846443B (zh) 网络中的分布式处理
CN111522653B (zh) 基于容器的网络功能虚拟化平台
CN105511954B (zh) 一种报文处理方法及装置
US9158565B2 (en) Predictable computing in virtualizated distributed computer systems based on partitioning of computation and communication resources
US8155134B2 (en) System-on-chip communication manager
JP6392745B2 (ja) サーバノード相互接続デバイス及びサーバノード相互接続方法
US8848532B2 (en) Method and system for processing data
CN110214436B (zh) 一种多核无锁速率限制装置和方法
US20090006521A1 (en) Adaptive receive side scaling
TWI408934B (zh) 網路介面技術
US10999209B2 (en) Technologies for scalable network packet processing with lock-free rings
CN108702325B (zh) 增强网络业务的通信
JP7000088B2 (ja) 通知制御装置、通知制御方法及びプログラム
US11018986B2 (en) Communication apparatus, communication method, and computer program product
CN104468401A (zh) 一种报文处理方法和装置
JP2021082868A (ja) 通信装置、通信方法及びプログラム
US20230096461A1 (en) Method to process data in multicore system on chip processing architecture, multicore system on chip device and storage medium
JP7451438B2 (ja) 通信装置、通信システム、通知方法及びプログラム
CN112804166B (zh) 一种报文收发方法、装置及存储介质
CN114816651A (zh) 一种通信方法、装置以及系统
US20120210018A1 (en) System And Method for Lock-Less Multi-Core IP Forwarding
Meyer et al. Low latency packet processing in software routers
WO2022147762A1 (zh) 一种数据包排序方法及装置
US20220109613A1 (en) Programmable traffic management engine
WO2016138817A1 (zh) 报文搬移方法及装置

Legal Events

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