Systems and methods for weighted best effort scheduling
    11.
    发明申请
    Systems and methods for weighted best effort scheduling 失效
    加权最佳努力调度的系统和方法

    公开(公告)号:US20060233177A1

    公开(公告)日:2006-10-19

    申请号:US11108485

    申请日:2005-04-18

    IPC分类号: H04L12/56 H04L12/54

    摘要: Systems and methods for scheduling data packets in a network processor are disclosed. Embodiments provide a network processor that comprises a best-effort scheduler with a minimal calendar structure for addressing schedule control blocks. In one embodiment, a three-entry calendar structure provides for weighted best effort scheduling. Each of a plurality different flows has an associated schedule control block. Schedule control blocks are stored as linked lists in a last-in-first-out buffer. Each calendar entry is associated with a different linked list by storing in the calendar entry the address of the first-out schedule control block in the linked list. Each schedule control block has a counter and is assigned a weight according to the bandwidth priority of the flow to which the corresponding packet belongs. Each time a schedule control block is accessed from a last-in-first-out buffer storing the linked list, the scheduler generates a scheduling event and the counter of the schedule control block is incremented. When an incremented counter of a schedule control block equals its weight, the schedule control block is temporarily removed from further scheduling.

    摘要翻译: 公开了一种用于在网络处理器中调度数据分组的系统和方法。 实施例提供了一种网络处理器,其包括具有用于寻址日程控制块的最小日历结构的尽力而为调度器。 在一个实施例中,三入口日历结构提供加权最佳努力调度。 多个不同的流中的每一个具有相关的进度控制块。 计划控制块作为链表存储在先进先出缓冲区中。 通过在日历条目中存储链表中的先出时间表控制块的地址来将每个日历条目与不同的链表相关联。 每个调度控制块具有计数器,并根据相应分组所属的流的带宽优先级分配权重。 每当从存储链表的最先进先出缓冲器访问调度控制块时,调度器生成调度事件,并且调度控制块的计数器递增。 当调度控制块的递增计数器等于其权重时,调度控制块暂时从进一步调度中移除。

    Systems and methods for rate-limited weighted best effort scheduling

    公开(公告)号:US20060245443A1

    公开(公告)日:2006-11-02

    申请号:US11119329

    申请日:2005-04-29

    IPC分类号: H04L12/28 G01R31/08

    摘要: Systems and methods for scheduling data packets in a network processor are disclosed. Embodiments provide a network processor that comprises a best-effort scheduler with a minimal calendar structure for addressing schedule control blocks. In one embodiment, a four-entry calendar structure provides for rate-limited weighted best effort scheduling. Each of a plurality of different flows has associated schedule control blocks. Schedule control blocks are stored as linked lists in a last-in-first-out buffer. Each calendar entry is associated with a different linked list by storing in the calendar entry the address of the first-out schedule control block in the linked list. Each schedule control block has a counter and is assigned a rate limit according to the bandwidth priority of the flow to which the corresponding packet belongs. Each time a schedule control block is accessed from a last-in-first-out buffer storing the linked list, the scheduler generates a scheduling event and the counter of the schedule control block is incremented. When an incremented counter of a schedule control block equals its rate limit, the schedule control block is temporarily removed from further scheduling until a time interval concludes.

    Method for prevention of out-of-order delivery of data
    13.
    发明申请
    Method for prevention of out-of-order delivery of data 失效
    防止数据乱序传送的方法

    公开(公告)号:US20050259659A1

    公开(公告)日:2005-11-24

    申请号:US10850296

    申请日:2004-05-20

    IPC分类号: H04L12/56 H04L29/06

    摘要: A method for sequencing delivery of information packets from a router having several processing elements to a receiving processing installation, wherein delivery of the packets must be completed in the order the packets arrive at the router. A linked list of packets is formed in the order they are received at the router, and each packet fragmented into successive fragments. Each fragment is processed at the router. The last fragment of each packet in each linked list is labeled with the sequence in which the packet was received, and enqueued in the order labeled for each last fragment on each linked list. Each fragment of each packet is delivered as processed, except the last fragment of each packet on its linked list to the receiving processor installation, and thereafter, transmitting the final fragment of each packet after processing only if that fragment is at the head of the queue.

    摘要翻译: 一种用于将信息分组从具有多个处理元件的路由器传送到接收处理设备的方法,其中分组的传送必须按分组到达路由器的顺序完成。 分组的链表以它们在路由器处接收的顺序形成,并且每个分组被分段成连续的片段。 每个片段在路由器处理。 每个链表中每个数据包的最后一个片段都标有接收数据包的顺序,并按照每个链表上每个最后一个片段标记的顺序排队。 每个分组的每个片段被处理,除了其链接列表上的每个分组的最后片段到接收处理器安装,然后在处理之后仅在该片段位于队列的头部时发送每个分组的最后片段 。

    Method and system for maintaining and examining timers for network connections
    15.
    发明申请
    Method and system for maintaining and examining timers for network connections 失效
    用于维护和检查网络连接的定时器的方法和系统

    公开(公告)号:US20050209804A1

    公开(公告)日:2005-09-22

    申请号:US10802235

    申请日:2004-03-17

    IPC分类号: G06F11/00

    CPC分类号: H04L69/28

    摘要: System and method for maintenance and examination of timers for a computer system having connections in a networking system. Timer values in a connection table each indicate a timeout for a timer for a connection, where each connection has multiple timers, and one of the timer values is written to a global timer array for each connection such that the global timer array can be scanned to determine when timeouts occur for active connections. Sparse restart of a timer includes restarting the timer if data is communicated with a connected computer before the timeout occurs and after a predetermined time interval after timer start, and not restarting the timer if data is communicated before the timeout occurs and within the predetermined interval after timer start.

    摘要翻译: 用于维护和检查具有网络系统中的连接的计算机系统的定时器的系统和方法。 连接表中的定时器值各自表示连接的定时器的超时,其中每个连接具有多个定时器,并且其中一个定时器值被写入到每个连接的全局定时器阵列,以便可以扫描全局定时器阵列 确定活动连接的超时时间。 定时器的稀疏重新启动包括重新启动定时器,如果数据在超时发生之前与连接的计算机通信,并且在定时器启动之后的预定时间间隔之后重新启动,并且如果在超时发生之前传输数据并且在超时之后的预定时间间隔内,则不重新启动定时器 定时器启动。

    Merging Result from a Parser in a Network Processor with Result from an External Coprocessor
    16.
    发明申请
    Merging Result from a Parser in a Network Processor with Result from an External Coprocessor 失效
    从具有外部协处理器结果的网络处理器中的解析器合并结果

    公开(公告)号:US20120204190A1

    公开(公告)日:2012-08-09

    申请号:US13365778

    申请日:2012-02-03

    IPC分类号: G06F9/46

    CPC分类号: G06F9/546 G06F9/544

    摘要: A mechanism is provided for merging in a network processor results from a parser and results from an external coprocessor providing processing support requested by said parser. The mechanism enqueues in a result queue both parser results needing to be merged with a coprocessor result and parser results which have no need to be merged with a coprocessor result. An additional queue is used to enqueue the addresses of the result queue where the parser results are stored. The result from the coprocessor is received in a simple response register. The coprocessor result is read by the result queue management logic from the response register and merged to the corresponding incomplete parser result read in the result queue at the address enqueued in the additional queue.

    摘要翻译: 提供了一种机制,用于在来自解析器的网络处理器结果和来自提供由所述解析器请求的处理支持的外部协处理器的结果中合并。 结果队列中的机制排队,解析器结果需要与协处理器结果合并,并且不需要与协处理器结果合并的解析器结果。 使用一个附加队列来排列存储解析器结果的结果队列的地址。 协处理器的结果是在简单的响应寄存器中接收的。 协处理器结果由响应寄存器的结果队列管理逻辑读取,并被合并到在附加队列中排队的地址的结果队列中读取的相应的不完整解析器结果。

    Host Ethernet Adapter for Handling Both Endpoint and Network Node Communications
    17.
    发明申请
    Host Ethernet Adapter for Handling Both Endpoint and Network Node Communications 失效
    用于处理端点和网络节点通信的主机以太网适配器

    公开(公告)号:US20120192190A1

    公开(公告)日:2012-07-26

    申请号:US13011663

    申请日:2011-01-21

    IPC分类号: G06F9/46

    CPC分类号: G06F15/1735

    摘要: A host Ethernet adapter (HEA) and method of managing network communications is provided. The HEA includes a host interface configured for communication with a multi-core processor over a processor bus. The host interface comprises a receive processing element including a receive processor, a receive buffer and a scheduler for dispatching packets from the receive buffer to the receive processor; a send processing element including a send processor and a send buffer; and a completion queue scheduler (CQS) for dispatching completion queue elements (CQE) from the head of the completion queue (CQ) to threads of the multi-core processor in a network node mode. The method comprises operatively coupling an Ethernet adapter to a multi-core processor system via a processor bus, selectively assigning a first plurality of packets to a first queue pair for servicing in an endpoint mode, running a device driver on the multi-core processing system, the device driver controlling the servicing of the first queue pair by dispatching the first plurality of packets to only one processor core of the multi-core processor system, selectively assigning a second plurality of packets to a second queue pair for servicing in a network node mode; and the Ethernet adapter controlling the servicing of the second queue pair by dispatching the second plurality of packets to multiple processor threads.

    摘要翻译: 提供主机以太网适配器(HEA)和管理网络通信的方法。 HEA包括被配置为通过处理器总线与多核处理器进行通信的主机接口。 所述主机接口包括接收处理元件,所述接收处理元件包括接收处理器,接收缓冲器和用于从所述接收缓冲器向所述接收处理器分发分组的调度器; 包括发送处理器和发送缓冲器的发送处理元件; 以及用于从完成队列(CQ)的头部将网络节点模式中的多核处理器的线程调度完成队列元素(CQE)的完成队列调度器(CQS)。 该方法包括经由处理器总线可操作地将以太网适配器耦合到多核处理器系统,选择性地将第一多个分组分配到第一队列对以在端点模式下进行服务,在多核处理系统上运行设备驱动程序 所述设备驱动程序通过将所述第一多个分组分派到所述多核处理器系统的一个处理器核心来控制所述第一队列对的服务,选择性地将第二多个分组分配给第二队列对以在网络节点中进行服务 模式; 以及所述以太网适配器通过将所述第二多个分组分派到多个处理器线程来控制所述第二队列对的服务。

    Multicore communication processing
    18.
    发明授权
    Multicore communication processing 有权
    多核通讯处理

    公开(公告)号:US07715428B2

    公开(公告)日:2010-05-11

    申请号:US11669419

    申请日:2007-01-31

    IPC分类号: H04L12/66 H04J3/16 H04J3/22

    CPC分类号: H04L47/50

    摘要: Mechanisms for processing of communications between data processing devices are provided. With the mechanisms of the illustrative embodiments, a set of techniques that enables sustaining media speed by distributing transmit and receive-side processing over multiple processing cores is provided. In addition, these techniques also enable designing multi-threaded network interface controller (NIC) hardware that efficiently hides the latency of direct memory access (DMA) operations associated with data packet transfers over an input/output (I/O) bus. Multiple processing cores may operate concurrently using separate instances of a communication protocol stack and device drivers to process data packets for transmission with separate hardware implemented send queue managers in a network adapter processing these data packets for transmission. Multiple hardware receive packet processors in the network adapter may be used, along with a flow classification engine, to route received data packets to appropriate receive queues and processing cores for processing.

    摘要翻译: 提供了用于处理数据处理设备之间的通信的机制。 利用说明性实施例的机制,提供了一组通过在多个处理核上分发发送和接收侧处理来维持媒体速度的技术。 此外,这些技术还可以设计出多线程网络接口控制器(NIC)硬件,可有效地隐藏通过输入/输出(I / O)总线传输数据分组的直接存储器访问(DMA)操作的延迟。 多个处理核心可以使用通信协议栈和设备驱动程序的单独实例同时运行,以处理用于传输的数据分组,其中单独的硬件实现了处理这些数据分组以进行传输的网络适配器中的发送队列管理器。 可以使用网络适配器中的多个硬件接收分组处理器以及流分类引擎将接收到的数据分组路由到适当的接收队列和处理核心进行处理。

    Providing to a parser and processors in a network processor access to an external coprocessor
    19.
    发明授权
    Providing to a parser and processors in a network processor access to an external coprocessor 有权
    向网络处理器中的解析器和处理器提供对外部协处理器的访问

    公开(公告)号:US09088594B2

    公开(公告)日:2015-07-21

    申请号:US13365679

    申请日:2012-02-03

    IPC分类号: G06F9/30 H04L29/06

    CPC分类号: H04L69/12

    摘要: A mechanism is provided for sharing a communication used by a parser (parser path) in a network adapter of a network processor for sending requests for a process to be executed by an external coprocessor. The parser path is shared by processors of the network processor (software path) to send requests to the external processor. The mechanism uses for the software path a request mailbox comprising a control address and a data field accessed by MMIO for sending two types of messages, one message type to read or write resources and one message type to trigger an external process in the coprocessor and a response mailbox for receiving response from the external coprocessor comprising a data field and a flag field. The other processors of the network poll the flag until set and get the coprocessor result in the data field.

    摘要翻译: 提供了一种用于共享由网络处理器的网络适配器中的解析器(解析器路径)使用的通信的机制,用于发送对要由外部协处理器执行的进程的请求。 解析器路径由网络处理器(软件路径)的处理器共享,以将请求发送到外部处理器。 该机制用于软件路径,包括由MMIO访问的控制地址和数据字段的请求邮箱,用于发送两种类型的消息,一种用于读取或写入资源的消息类型和一个消息类型以触发协处理器中的外部进程, 用于从包括数据字段和标志字段的外部协处理器接收响应的响应邮箱。 网络的其他处理器轮询该标志直到设置,并获得协处理器结果的数据字段。

    Providing to a Parser and Processors in a Network Processor Access to an External Coprocessor
    20.
    发明申请
    Providing to a Parser and Processors in a Network Processor Access to an External Coprocessor 有权
    提供给网络处理器中的解析器和处理器访问外部协处理器

    公开(公告)号:US20120204002A1

    公开(公告)日:2012-08-09

    申请号:US13365679

    申请日:2012-02-03

    IPC分类号: G06F15/76 G06F9/06

    CPC分类号: H04L69/12

    摘要: A mechanism is provided for sharing a communication used by a parser (parser path) in a network adapter of a network processor for sending requests for a process to be executed by an external coprocessor. The parser path is shared by processors of the network processor (software path) to send requests to the external processor. The mechanism uses for the software path a request mailbox comprising a control address and a data field accessed by MMIO for sending two types of messages, one message type to read or write resources and one message type to trigger an external process in the coprocessor and a response mailbox for receiving response from the external coprocessor comprising a data field and a flag field. The other processors of the network poll the flag until set and get the coprocessor result in the data field.

    摘要翻译: 提供了一种用于共享由网络处理器的网络适配器中的解析器(解析器路径)使用的通信的机制,用于发送对要由外部协处理器执行的进程的请求。 解析器路径由网络处理器(软件路径)的处理器共享,以将请求发送到外部处理器。 该机制用于软件路径,包括由MMIO访问的控制地址和数据字段的请求邮箱,用于发送两种类型的消息,一种用于读取或写入资源的消息类型和一个消息类型以触发协处理器中的外部进程, 用于从包括数据字段和标志字段的外部协处理器接收响应的响应邮箱。 网络的其他处理器轮询该标志直到设置,并获得协处理器结果的数据字段。