Packet load-balancing
AssigneeMellanox Technologies, Ltd.
InventorsLiron Mula, Eran Gil Beracha
Life of this patent
Estimating the term…
Abstract
A device, communication system, and method are provided. In one example, a system for routing traffic is described that includes circuits to receive a packet, determine a size of the packet, determine a group of a plurality of groups of the packet based on the size of the packet, determine a port for the packet using a round-robin for the group of the packet, and send the packet via the port. Described systems include circuits to receive packet sizes from an application, initialize packet arbiter circuits based on the sizes, receive a packet associated with the application, determine a size of the packet, associate the packet with one of the packet arbiter circuits, and route the packet to a selected port.
Claims20
A system comprising one or more circuits to:
- receive a packet;
- determine a size of the packet;
- determine a group of a plurality of groups based on the size of the packet, wherein each group of the plurality of groups is associated with a respective packet size, and wherein each group of the plurality of groups is associated with a respective round-robin circuit of a plurality of round-robin circuits, wherein each round-robin circuit of the plurality of round-robin circuits is configured to distribute packets of a respective size or range of sizes between queues of a group of queues;
- select a queue from a group of queues using the round-robin circuit associated with the group determined based on the size of the packet;
- and
- in response to selecting the queue using the round-robin circuit associated with the group determined based on the size of the packet, send the packet to the selected queue.
A system comprising one or more circuits to:
- receive a plurality of packet sizes from an application;
- initialize a plurality of round-robin circuits, wherein each round-robin circuit is associated with one of the plurality of packet sizes, wherein each round-robin circuit is configured to distribute packets of a respective size or range of sizes between queues of a group of queues;
- receive a packet associated with the application;
- determine a size of the packet;
- based on the determined size of the packet, select one of the round-robin circuits;
- select, with the associated round-robin circuit, a queue of a plurality of queues;
- and
- in response to selecting the queue using the round-robin circuit selected based on the determined size of the packet, send the packet to the selected queue of the plurality of queues.
A switch comprising one or more circuits to:
- receive a packet;
- determine a size of the packet;
- identify a packet size range including the size of the packet;
- based on the identified packet size range, select a queue for the packet using a round-robin circuit associated with the identified packet size range, wherein the round-robin circuit associated with the identified packet size range is one of a plurality of round-robin circuits, wherein each round-robin circuit is associated with a respective packet size range, and wherein each round-robin circuit is configured to distribute packets of a respective range of sizes between queues of a group of queues;
- and
- in response to selecting the queue using the round-robin circuit associated with the identified packet size range including the size of the packet, send the packet to the queue.
Dependencies are inferred from the claim text.