Traffic-dependent adaptive interrupt moderation
AssigneeMellanox Technologies, Ltd.
InventorYuval Degani
Life of this patent
Estimating the term…
Abstract
A method for communications includes receiving in a network interface controller (NIC) of a host computer incoming data packets from a network on multiple active rings. An average throughput rate of the incoming data packets is measured over the active rings. For each ring among a plurality of the active rings, a respective throughput rate of the incoming data packets on the ring is measured, and a respective interrupt moderation parameter of the ring is set responsively to a comparison of the respective throughput rate on the ring to the average throughput rate. Interrupts are issued from the NIC to a central processing unit (CPU) of the host computer in response to the incoming data packets on the ring at a rate determined in accordance with the respective interrupt moderation parameter.
Claims17
A method for communications, comprising:
- receiving in a network interface controller (NIC) of a host computer incoming data packets from a network on multiple active rings;
- measuring a total average throughput rate of the incoming data packets over the multiple active rings;
- and
- for each ring among a plurality of the multiple active rings:
- measuring a respective throughput rate of the incoming data packets on the ring;
- setting a respective interrupt moderation parameter of the ring responsively to a comparison of the respective throughput rate on the ring to the total average throughput rate over the multiple active rings;
- and
- issuing interrupts from the NIC to a central processing unit (CPU) of the host computer in response to the incoming data packets on the ring at a rate determined in accordance with the respective interrupt moderation parameter.
Apparatus for communications, comprising:
- a central processing unit (CPU);
- a system memory;
- and
- a network interface controller (NIC), which is configured to receive incoming data packets from a network on multiple active rings and to issue interrupts to the CPU in response to the incoming data packets at a rate determined, for each ring, in accordance with a respective interrupt moderation parameter that is set for the ring,
- wherein the CPU is configured to measure an average throughput rate of the incoming data packets over the multiple active rings, as a function of the total throughput of all the rings divided by a count of the multiple active rings, and, for each ring among a plurality of the multiple active rings, to measure a respective throughput rate of the incoming data packets on the ring, and to set the respective interrupt moderation parameter of the ring responsively to a comparison of the respective throughput rate on the ring to the average throughput rate over the multiple active rings.
A computer software product, comprising a non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a computer that includes a CPU and a network interface controller (NIC), which is configured to receive incoming data packets from a network on multiple active rings and to issue interrupts to the CPU in response to the incoming data packets at a rate determined, for each ring, in accordance with a respective interrupt moderation parameter that is set for the ring, cause the computer to measure a collective average throughput rate of the incoming data packets over the multiple active rings and, for each ring among a plurality of the multiple active rings, to measure a respective throughput rate of the incoming data packets on the ring, and to set the respective interrupt moderation parameter of the ring responsively to a comparison of the respective throughput rate on the ring to the collective average throughput rate over the multiple active rings.
Dependencies are inferred from the claim text.