H04L12/883

High-speed packet processing system and control method thereof

A high-speed packet processing system and a method of controlling the system are disclosed. The high-speed packet processing system includes: a network interface card configured to receive or transmit packets; a memory which is accessible by an operating system, and which includes at least one or more data buffers and a single dedicated head (dedicated skb) decoupled from the data buffers, where the data buffers are pre-allocated in correspondence to the packets to allow storing of the packets, and the single dedicated head is connected to the data buffers sequentially in correspondence to the packets; and a packet processing unit configured to sequentially connect the single dedicated head with the data buffers and store the packets sequentially in the data buffers corresponding to reception (Rx) descriptors based on the reception (Rx) descriptors designated in correspondence to the packets, when the packets are received.

TECHNOLOGIES FOR SCALABLE NETWORK PACKET PROCESSING WITH LOCK-FREE RINGS

Technologies for network packet processing include a computing device that receives incoming network packets. The computing device adds the incoming network packets to an input lockless shared ring, and then classifies the network packets. After classification, the computing device adds the network packets to multiple lockless shared traffic class rings, with each ring associated with a traffic class and output port. The computing device may allocate bandwidth between network packets active during a scheduling quantum in the traffic class rings associated with an output port, schedule the network packets in the traffic class rings for transmission, and then transmit the network packets in response to scheduling. The computing device may perform traffic class separation in parallel with bandwidth allocation and traffic scheduling. In some embodiments, the computing device may perform bandwidth allocation and/or traffic scheduling on each traffic class ring in parallel. Other embodiments are described and claimed.

METHOD FOR TRANSFERRING TRANSMISSION DATA FROM A TRANSMITTER TO A RECEIVER FOR PROCESSING THE TRANSMISSION DATA AND MEANS FOR CARRYING OUT THE METHOD
20190007348 · 2019-01-03 ·

A method involves transferring a transmittal data block from a transmitting device via an Ethernet connection to a receiving device which has a storage for storing a transferred transmittal data block, and a processor for at least partially processing the transferred transmittal data block stored in the storage. The transmitting device forms from the data of the transmittal data block a sequence of Ethernet packets, comprising respectively management data and a transmittal data sub-block. The receiving device receives the Ethernet packets of the respective sequence and, while employing at least a part of the management data, writes the transmittal data sub-blocks of the received Ethernet packets of the sequence of Ethernet packets for the transmittal data block to the storage, wherein not upon or after the writing each of the transmittal data sub-blocks an interrupt is sent to the processor.

System and method for supporting a low contention queue in a distributed data grid
10133489 · 2018-11-20 · ·

A system and method which supports a low contention queue in a multithreaded processing environment such as a distributed data grid. The queue is optimized to reduce memory contention and queue processing overhead, and is lock-free. The queue includes a doubly-linked list of nodes, wherein each node is associated with a value, a reference to a next node and a reference to a previous node. Furthermore, the queue allows one or more consumer threads to access the queue via a reference to a last removed node from the doubly linked list, and allows one or more producer threads to insert a new node via a reference to a tail node in the doubly-linked list. The low queue efficiently serves large number of threads with reduced contention, overhead, and latency, thereby improving performance in a multithreaded processing environment such as a distributed data grid.

TECHNOLOGIES FOR JITTER-ADAPTIVE LOW-LATENCY, LOW POWER DATA STREAMING BETWEEN DEVICE COMPONENTS
20180295039 · 2018-10-11 ·

Technologies for low-latency data streaming include a computing device having a processor that includes a producer and a consumer. The producer generates a data item, and in a local buffer producer mode adds the data item to a local buffer, and in a remote buffer producer mode adds the data item to a remote buffer. When the local buffer is full, the producer switches to the remote buffer producer mode, and when the remote buffer is below a predetermined low threshold, the producer switches to the local buffer producer mode. The consumer reads the data item from the local buffer while operating in a local buffer consumer mode and reads the data item from the remote buffer while operating in a remote buffer consumer mode. When the local buffer is above a predetermined high threshold, the consumer may switch to a catch-up operating mode. Other embodiments are described and claimed.

Queuing methods and apparatus in a network device

A plurality of physical queues, in a memory of a network device, are logically coupled to define a logical queue. Packets are received by the network device, and respective data units associated with the packets are distributed to the plurality of physical queues for storage according to a predetermined scheme i) to alternate among the plurality of physical queues, and ii) to maintain an order of data units stored in the logical queue. The data units are retrieved from the plurality of physical queues according to the predetermined scheme i) to alternate among the plurality of physical queues, and ii) to maintain the order of the data units.

DATA ENQUEUING METHOD, DATA DEQUEUING METHOD, AND QUEUE MANAGEMENT CIRCUIT
20180159802 · 2018-06-07 · ·

The disclosure describes a data enqueuing method. The method may include: receiving a to-be-enqueued data packet, dividing the data packet into several slices to obtain slice information of the slices, and marking a tail slice of the data packet with a tail slice identifier; enqueuing corresponding slice information according to an order of the slices in the data packet, and in a process of enqueuing the corresponding slice information, if a slice is marked with the tail slice identifier, determining that the slice is the tail slice of the data packet, and generating a first-type node; and determining whether a target queue is empty, and if the target queue is empty, writing slice information of the tail slice into the target queue, and updating a head pointer of a queue head list according to the first-type node.

Node device used in disruption/delay/disconnect tolerant network and communication method
09985751 · 2018-05-29 · ·

A node device (1A) receives a second ACK list in communication with an adjacent node (1B) and updates a first ACK list and a first summary vector on the basis of the second ACK list. The first summary vector, which indicates messages stored in a message buffer of the node device (1A), is transmitted to the adjacent node (1B) prior to transmission of the messages in the communication with the adjacent node (1B). The first ACK list indicates ACK messages recognized by the node device (1A). The second ACK list indicates ACK messages recognized by the adjacent node (1B). Each ACK message represents a message of arrival at an ultimate destination node via a DTN (100). In this way, for example, a copy having the same content as a message having arrived at an ultimate destination node can be prevented from being scattered in the Disruption Tolerant Network (DTN).

Packet Deadlines in a Queue to Control the Age of Information

Systems and method are provided for controlling the age of information, or information freshness, for remote status updating through the use of a packet deadline. In an embodiment, a packet deadline determines how long a packet is allowed to wait in a queue at the source before being transmitted, and, if the deadline expires, it is dropped from the system and never transmitted. This mechanism can control the flow of packets into the system, which can be used to control and optimize the age of information, thus providing a fresh status at a monitor.

HIGH-SPEED PACKET PROCESSING SYSTEM AND CONTROL METHOD THEREOF

A high-speed packet processing system and a method of controlling the system are disclosed. The high-speed packet processing system includes: a network interface card configured to receive or transmit packets; a memory which is accessible by an operating system, and which includes at least one or more data buffers and a single dedicated head (dedicated skb) decoupled from the data buffers, where the data buffers are pre-allocated in correspondence to the packets to allow storing of the packets, and the single dedicated head is connected to the data buffers sequentially in correspondence to the packets; and a packet processing unit configured to sequentially connect the single dedicated head with the data buffers and store the packets sequentially in the data buffers corresponding to reception (Rx) descriptors based on the reception (Rx) descriptors designated in correspondence to the packets, when the packets are received.