Multi-stage scheduler
AssigneeMarvell Asia Pte Ltd
InventorsWilliam Brad MATTHEWS, Ashwin ALAPATI
Life of this patent
Estimating the term…
Abstract
Packet metadata for incoming packets are buffered in queue selection buffers associated with a port of a network node. Packet data for outgoing packets are buffered in a port selection buffer associated with the port. At a selection clock cycle, while a port scheduler of the network node selects a subset of the packet data for a subset of the outgoing packets from the port selection buffer, a queue scheduler of the port concurrently selects a subset of the packet metadata for a subset of the incoming packets from the queue selection buffers and adds new packet data for new outgoing packets to the port selection buffer of the port. The new packet data are derived based at least in part on the subset of the packet metadata for the subset of the incoming packets.
Claims24
A method comprising:
- buffering first packet metadata of incoming packets in multiple queue selection buffers set up for a port among multiple ports of a network node;
- buffering second packet metadata of outgoing packets in multiple port selection buffers of the multiple ports of the network node;
- at a selection clock cycle, while selecting, by a port scheduler of the network node, a subset of the second packet metadata of a subset of the outgoing packets from the multiple port selection buffers, concurrently selecting, by a queue scheduler of the multiple queue selection buffers for the port, a subset of the first packet metadata of a subset of the incoming packets in the multiple queue selection buffers;
- adding new second packet metadata of one or more new outgoing packets, corresponding to the subset of the incoming packets, to the port selection buffer of the port.
A system comprising:
- one or more computing devices;
- one or more non-transitory computer readable media storing instructions that, when executed by the one or more computing devices, cause performance of:
- buffering first packet metadata of incoming packets in multiple queue selection buffers set up for a port among multiple ports of a network node;
- buffering second packet metadata of outgoing packets in multiple port selection buffers of the multiple ports of the network node;
- at a selection clock cycle, while selecting, by a port scheduler of the network node, a subset of the second packet metadata of a subset of the outgoing packets from the multiple port selection buffers, concurrently selecting, by a queue scheduler of the multiple queue selection buffers for the port, a subset of the first packet metadata of a subset of the incoming packets in the multiple queue selection buffers;
- adding new second packet metadata of one or more new outgoing packets, corresponding to the subset of the incoming packets, to the port selection buffer of the port.
One or more non-transitory computer readable media storing instructions that, when executed by one or more computing devices, cause performance of:
- buffering first packet metadata of incoming packets in multiple queue selection buffers set up for a port among multiple ports of a network node;
- buffering second packet metadata of outgoing packets in multiple port selection buffers of the multiple ports of the network node;
- at a selection clock cycle, while selecting, by a port scheduler of the network node, a subset of the second packet metadata of a subset of the outgoing packets from the multiple port selection buffers, concurrently selecting, by a queue scheduler of the multiple queue selection buffers for the port, a subset of the first packet metadata of a subset of the incoming packets in the multiple queue selection buffers;
- adding new second packet metadata of one or more new outgoing packets, corresponding to the subset of the incoming packets, to the port selection buffer of the port.
Dependencies are inferred from the claim text.