Resource fairness enforcement in shared IO interfaces
AssigneePensando Systems Inc.
InventorMichael Brian Galles
Life of this patent
Estimating the term…
Abstract
Described are platforms, systems, and methods for resource fairness enforcement. In one aspect, a programmable input output (IO) device comprises a memory unit, the memory unit having instructions stored thereon which, when executed by the programmable IO device, cause the programmable IO device to perform operations comprising: receiving an input from a logical interface (LIF); determining, by at least one meter, a metric regarding at least one resource used during a processing of the input through a programmable pipeline; and regulating additional input received from the LIF based on the metric and a threshold for the at least one resource.
Claims20
An input output (IO) device comprising:
- a memory unit, the memory unit having instructions stored thereon which, when executed by the IO device, cause the IO device to perform operations comprising:
- receiving input from a first logical interface (LIF) and a second LIF;
- tracking a first metric regarding a usage per packet of at least one resource when processing input from the first LIF and tracking a second metric regarding a usage per packet of the at least one resource when processing input from the second LIF;
- and
- regulating additional input received from the first and second LIFs by comparing the first metric to a first threshold assigned to the first LIF for the at least one resource and by comparing the second metric to a second threshold assigned to the second LIF for the at least one resource, wherein the first and second thresholds are different.
One or more non-transitory computer-readable storage media coupled to an input output (IO) device and having instructions stored thereon which, when executed by the IO device, cause the IO device to perform operations comprising:
- receiving input from a first logical interface (LIF) and a second LIF;
- tracking a first metric regarding a usage per packet of at least one resource when processing input from the first LIF and tracking a second metric regarding a usage per packet of the at least one resource when processing input from the second LIF;
- and
- regulating additional input received from the first and second LIFs by comparing the first metric to a first threshold assigned to the first LIF for the at least one resource and by comparing the second metric to a second threshold assigned to the second LIF for the at least one resource, wherein the first and second thresholds are different.
An input output (IO) device comprising:
- a plurality of pipelined stages;
- and
- a plurality of hardware meters, each of which is assigned to a determine whether received packets are permitted to enter a respective stage of the plurality of pipelined stages, wherein each of the plurality of hardware meters is configured to:
- track a first metric regarding a usage of a hardware resource in the respective stage when processing packets received from a first logical interface (LIF),
- track a second metric regarding a usage of a hardware resource in the respective stage when processing packets received from a second LIF,
- block the packets received from the first LIF from being processed by the respective stage when the first metric satisfies a first threshold, and
- block the packets received from the second LIF from being processed by the respective stage when the second metric satisfies a second threshold, wherein the first and second thresholds are different.
Dependencies are inferred from the claim text.