摘要:
A network device may receive packets and may calculate, during a time interval, an arrival rate and a departure rate, of the packets, at one of multiple virtual output queues. The network device may calculate a current oversubscription factor based on the arrival rate and the departure rate, and may calculate a target oversubscription factor based on an average of previous oversubscription factors associated with the multiple virtual output queues. The network device may determine whether a difference exists between the target oversubscription factor and the current oversubscription factor and may calculate, when the difference exists, a scale factor based on the current oversubscription factor and the target oversubscription factor. The network device may calculate new scheduling weights based on prior scheduling weights and the scale factor, and may process packets received by the multiple virtual output queues based on the new scheduling weights.
摘要:
Techniques are disclosed for a queuing system for network devices. In one example, a network device determines a transmit rate of packets from the queue. In one example the network device determines the transmit rate by determining a number of tokens used over a unit of time by a token bucket shaper for the queue to dequeue the packets from the queue, wherein each of the tokens represents a given number of bytes to be dequeued from the queue. The network device determines a temporal queue length of the queue based on a target queue latency and the determined transmit rate. Further, the network device adjusts at least one parameter of the queue based on the determined temporal queue length such that an actual queue latency of the queue at the determined transmit rate is equal to the target queue latency.
摘要:
An apparatus for switching network traffic includes an ingress packet forwarding engine and an egress packet forwarding engine. The ingress packet forwarding engine is configured to determine, in response to receiving a network packet, an egress packet forwarding engine for outputting the network packet and enqueue the network packet in a virtual output queue. The egress packet forwarding engine is configured to output, in response to a first scheduling event and to the ingress packet forwarding engine, information indicating the network packet in the virtual output queue and that the network packet is to be enqueued at an output queue for an output port of the egress packet forwarding engine. The ingress packet forwarding engine is further configured to dequeue, in response to receiving the information, the network packet from the virtual output queue and enqueue the network packet to the output queue.
摘要:
An apparatus for increasing scheduling efficiency in network devices may include (1) at least one memory device that stores at least one data chunk included in a packet, (2) a scheduler device that (a) schedules transmission of the packet that includes the data chunk and (b) issues a request to transmit the packet based at least in part on the scheduled transmission, and (3) a packet-delivery device that (a) receives the request to transmit the packet from the scheduler device, (b) prepares the packet for transmission at a faster rate than the scheduler device schedules the transmission of the packet, and then (c) facilitates transmitting the data chunk included in the packet to a computing device. Various other apparatuses, systems, and methods are also disclosed.
摘要:
Stacked (i.e., hierarchically arranged) rate wheels schedule traffic flows in a network. A first rate wheel operates to efficiently schedule traffic flows in which traffic shaping parameters may be applied to individual traffic flows. A second rate wheel schedules group of the traffic flows in which traffic shaping parameters may be applied at the group level. In the context of an ATM network, the first rate wheel may operate at the virtual circuit level and the second rate wheel may operate at the virtual path level.
摘要:
Techniques are disclosed for a queuing system for network devices. In one example, a network device includes a plurality of memories and processing circuitry connected to the plurality of memories. The plurality of memories includes a local memory of processing circuitry and an external memory to the processing circuitry. The processing circuitry is configured to receive an incoming network packet to be processed, wherein the network packet is held in a queue prior to processing and determine a predicted lifetime of the network packet based on a dequeue rate for the queue. The processing circuitry is further configured to select a first memory from the plurality of memories based on the predicted lifetime and store the network packet at the first memory in response to selecting the first memory from the plurality of memories.
摘要:
In some embodiments, an apparatus includes a rate module implemented in at least one of a memory or a processing device that can be operatively coupled to a set of rate counters. Each rate counter is associated with a different network device associated with a level within the hierarchy of a network. The rate module can receive from a schedule module a signal to begin execution of a first page of a first rate program and can send during a first time period transmission credits to a first subset of rate counters. The rate module can send during a second time period transmission credits to a second subset of rate counters based on the execution of a page of a second rate program where the priority of the second rate program is no lower than a priority of the first rate program.
摘要:
A network device may receive packets and may calculate, during a time interval, an arrival rate and a departure rate, of the packets, at one of multiple virtual output queues. The network device may calculate a current oversubscription factor based on the arrival rate and the departure rate, and may calculate a target oversubscription factor based on an average of previous oversubscription factors associated with the multiple virtual output queues. The network device may determine whether a difference exists between the target oversubscription factor and the current oversubscription factor and may calculate, when the difference exists, a scale factor based on the current oversubscription factor and the target oversubscription factor. The network device may calculate new scheduling weights based on prior scheduling weights and the scale factor, and may process packets received by the multiple virtual output queues based on the new scheduling weights.
摘要:
A network device may receive one or more packets, and may determine a flow control parameter, a rate limiting parameter, and a statistical sampling parameter associated with a slow counter. The network device may determine whether the flow control parameter satisfies a first threshold, whether the rate limiting parameter satisfies a second threshold, and whether the statistical sampling parameter satisfies a third threshold. The network device may identify a counter event associated with one of the one or more packets, and may selectively assign the counter event to a fast counter when at least one of the first threshold, the second threshold, or the third threshold being satisfied, or to the slow counter when none of the first threshold, the second threshold, and the third threshold being satisfied.
摘要:
An apparatus for switching network traffic includes an ingress packet forwarding engine and an egress packet forwarding engine. The ingress packet forwarding engine is configured to determine, in response to receiving a network packet, an egress packet forwarding engine for outputting the network packet and enqueue the network packet in a virtual output queue. The egress packet forwarding engine is configured to output, in response to a first scheduling event and to the ingress packet forwarding engine, information indicating the network packet in the virtual output queue and that the network packet is to be enqueued at an output queue for an output port of the egress packet forwarding engine. The ingress packet forwarding engine is further configured to dequeue, in response to receiving the information, the network packet from the virtual output queue and enqueue the network packet to the output queue.