Method and apparatus for preventing starvation in a slotted-ring network
AssigneeIntel Corporation
InventorsMatthew Mattina, George Z. Chrysos, Yungho Choi
Life of this patent
Estimating the term…
Abstract
A method and apparatus for preventing starvation in a slotted-ring network. Embodiments may include a ring interconnect to transmit bits, with one of the bits being a slot reservation bit, and nodes coupled to the ring interconnect, with each node comprising a starvation detection element and a slot reservation element to reserve a slot for future use. In further embodiments, each node may also comprise a slot tracking element to track the location of the slot reserved by that node.
Claims17
A network comprising:
- a ring interconnect to transmit a plurality of bits, wherein one of the bits is a slot reservation bit;
- and
- a plurality of nodes coupled to the ring interconnect, wherein each node comprises:
- a starvation detection element to detect a number of unsuccessful attempts to dispatch a packet into a slot in the ring interconnect, wherein the starvation detection element comprises a starvation counter set to a first value wherein each unsuccessful dispatch results in the starvation counter being changed, each successful dispatch results in a reset to the first value, and the starvation counter reaching a final value indicates a starvation state;
- a slot reservation element to reserve a first slot on the ring interconnect for future use by the node if said starvation detection element detects that the number of unsuccessful attempts to dispatch the packet into the first slot in the ring interconnect exceeds a threshold;
- and
- a slot tracking element, wherein the slot tracking element comprises a circular shift register to track a location of slots reserved by said each node.
A node comprising:
- a starvation counter to count unsuccessful attempts to dispatch a packet into a slot in a ring interconnect in a slotted-ring network, wherein each unsuccessful dispatch results in the starvation counter being changed, each successful dispatch results in a reset to the first value, and the starvation counter reaching a final value indicates a starvation state;
- a slot reservation element to reserve the slot in the ring interconnect for future use by the node if a number of unsuccessful attempts to dispatch a packet into the slot in the ring interconnect exceeds a threshold;
- and
- a slot tracking element to determine if a slot in the ring interconnect is the reserved slot, wherein the slot tracking element comprises a circular shift register to track a location the slot reserved by said each node.
A system comprising:
- a ring interconnect to transmit a plurality of packets, wherein each packet is transmitted within a slot with a slot reservation bit;
- and
- a plurality of nodes coupled to the ring interconnect, wherein at least one of the nodes comprises:
- a starvation detection element to detect a number of unsuccessful attempts to dispatch a packet into the slot on the ring interconnect, wherein the starvation detection element comprises a starvation counter set to a first value wherein each unsuccessful dispatch results in the starvation counter being changed, each successful dispatch results in a reset to the first value, and the starvation counter reaching a final value indicates a starvation state;
- a slot reservation element to reserve a first slot for future use by the node if said starvation detection element detects that the number of unsuccessful attempts to dispatch a packet into the first slot on the ring interconnect exceeds a threshold;
- and
- a slot tracking element, wherein the slot tracking element comprises a circular shift register to track a location of the slot reserved by said each node.
A method comprising:
- determining at a node that a threshold number of attempts to dispatch a packet within slots in a slotted-ring network were unsuccessful because the slots were busy;
- reserving a slot in the slotted-ring network for future use by the node;
- and
- dispatching the packet from the node into the reserved slot,
- wherein a starvation detection element comprises a starvation counter set to a first value wherein each unsuccessful dispatch results in the starvation counter being changed, each successful dispatch results in a reset to the first value, and the starvation counter reaching a final value indicates a starvation state, and
- wherein a slot tracking element comprises a circular shift register to track a location of the slot reserved by said each node.
A single monolithic integrated circuit processing device comprising:
- a ring interconnect structure;
- a plurality of processing nodes, each of said plurality of processing nodes being coupled to the ring interconnect structure, each of said plurality of processing nodes having a ring interface portion to provide said processing node access to said ring interconnect structure, each processing node including
- a starvation detection element to detect a number of unsuccessful attempts to dispatch the packet into a slot on the ring interconnect structure wherein the starvation detection element comprises a starvation counter set to a first value wherein each unsuccessful dispatch results in the starvation counter being changed, each successful dispatch results in a reset to the first value, and the starvation counter reaching a final value indicates a starvation state,
- a slot reservation element to reserve a first slot for future use by the node if said starvation detection element detects that the number of unsuccessful attempts to dispatch the packet into the first slot on the ring interconnect structure exceeds a threshold;
- and
- a slot tracking element, wherein the slot tracking element comprises a circular shift register to track a location of the slot reserved by said each node.
Dependencies are inferred from the claim text.