Systems and methods for adaptive interrupt coalescing in a converged network

US10019396B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10019396-B2
Application numberUS-201615131970-A
CountryUS
Kind codeB2
Filing dateApr 18, 2016
Priority dateMay 28, 2013
Publication dateJul 10, 2018
Grant dateJul 10, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An information handling system is provided. The information handling system includes an information handling device having one or more processors in communication with a network interface card. The network interface card includes one or more interfaces for receiving frames the information handling device is coupled to an external network device. The device also includes a memory that is in communication with the one or more processors and stores a classification matrix. The classification matrix is used to generate a current interrupt throttling rate from a plurality of candidate interrupt throttling rates that are applied to the received frames according to at least two properties of each frame of the received frames. A method for providing adaptive interrupt coalescing is also provided.

First claim

Opening claim text (preview).

What is claimed is: 1. An information handling system comprising: a non-transitory memory storing instructions; and one or more hardware processors coupled to the non-transitory memory and configured to read the instructions from the non-transitory memory to cause the information handling system to perform operations comprising: receiving a first plurality of frames during a first period; generating a classification matrix based on two properties of each of the first plurality of frames; and determining, based on the classification matrix, an interrupt throttling rate from a plurality of candidate interrupt throttling rates. 2. The information handling system of claim 1 , wherein the two properties include a frame size and a class-of-service indicator. 3. The information handling system of claim 1 , wherein the interrupt throttling rate is applied to a second plurality of frames received during a second period after the first period. 4. The information handling system of claim 1 , wherein: the classification matrix comprises entries organized in rows and columns based on different combinations of the two properties; each of the entries stores a respective count value; and generating the classification matrix comprises incrementing the respective count value of a corresponding one of the entries for each frame from the first plurality of frames having a corresponding combination of the two properties. 5. The information handling system of claim 4 , wherein determining the interrupt throttling rate comprises selecting a first interrupt throttling rate corresponding to the one of the entries having a largest respective count value. 6. The information handling system of claim 4 , wherein the different combinations of the two properties include separating the different combinations based on ranges of a first one of the two properties. 7. The information handling system of claim 4 , wherein determining the interrupt throttling rate comprises: determining a first one of the rows having a highest total of respective count values; determining a first one of the columns having a highest total of respective count values; and selecting a first interrupt throttling rate corresponding to the first one of the rows and the first one of the columns. 8. The information handling system of claim 4 , wherein the operations further comprise: determining the respective count value in each of the entries based on the first plurality of frames; resetting the respective count value in each of the entries at an end of the first period; and determining the respective count value of each of the entries based on a second plurality of frames received during a second period after the first period. 9. The information handling system of claim 8 , wherein the operations further comprise: aggregating the respective count value of each of the entries determined based on the first plurality of frames with the respective count value of each of the entries determined based on the second plurality of frames; and determining the interrupt throttling rate based on the aggregation. 10. The information handling system of claim 1 , wherein the operations further comprise determining the candidate interrupt throttling rates based on one or more of: a clock speed of the one or more hardware processors; a quantity of processing cores; a cache size; a threading availability; an amount of random-access memory (RAM); and a size of a translation lookaside buffer. 11. A method comprising: receiving, at an information handling system, a first plurality of frames during a first period; generating, by the information handling system, a classification matrix based on two properties of each of the first plurality of frames; and determining, by the information handling system and based on the classification matrix, an interrupt throttling rate from a plurality of candidate interrupt throttling rates. 12. The method of claim 11 , wherein the two properties include a frame size and a class-of-service indicator. 13. The method of claim 11 , wherein: the classification matrix comprises entries organized in rows and columns based on different combinations of the two properties; each of the entries stores a respective count value; and generating the classification matrix comprises incrementing the respective count value of a corresponding one of the entries for each frame from the first plurality of frames having a corresponding combination of the two properties. 14. The method of claim 13 , wherein determining the interrupt throttling rate comprises selecting a first interrupt throttling rate corresponding to the one of the entries having a largest respective count value. 15. The method of claim 13 , wherein determining the interrupt throttling rate comprises: determining a first one of the rows having a highest total of respective count values; determining a first one of the columns having a highest total of respective count values; and selecting a first in e pt throttling rate corresponding to the first one of the rows and the first one of the columns. 16. The method of claim 13 , further comprising: determining the respective count value in each of the entries based on the first plurality of frames; resetting the respective count value in each of the entries at an end of the first period; determining the respective count value of each of the entries based on a second plurality of frames received during a second period after the first period; aggregating the respective count value of each of the entries determined based on the first plurality of frames with the respective count value of each of the entries determined based on the second plurality of frames; and determining the interrupt throttling rate based on the aggregation. 17. A non-transitory machine readable medium having stored thereon machine readable instructions executable to cause a machine to perform operations comprising: receiving a first plurality of frames during a first period; generating a classification matrix based on two properties of each of the first plurality of frames, the two properties including a frame size and a class-of-service indicator; and determining, based on the classification matrix, an interrupt throttling rate from a plurality of candidate interrupt throttling rates. 18. The non-transitory machine readable medium of claim 17 , wherein: the classification matrix comprises entries organized in rows and columns based on different combinations of the two properties; each of the entries stores a respective count value; and generating the classification matrix comprises incrementing the respective count value of a corresponding one of the entries for each frame from the first plurality of frames having a corresponding combination of the two properties. 19. The non-transitory machine readable medium of claim 18 , wherein determining the interrupt throttling rate comprises selecting a first interrupt throttling rate corresponding to the one of the entries having a largest respective count value. 20. The non-transitory machine readable medium of claim 18 , wherein the operations further comprise: determining the respective count value in each of the entries based on the first plurality of frames; resetting the respective count value in each of the entries at an end of the first period; determining the respective count value of each of the entries based on a second plurality of frames received during a second period after the fi

Assignees

Inventors

Classifications

  • G06F13/26Primary

    with priority control · CPC title

  • using interrupt (G06F13/32 takes precedence) · CPC title

  • for dedicated transfers to a network (for protocol converters G06F13/387) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10019396B2 cover?
An information handling system is provided. The information handling system includes an information handling device having one or more processors in communication with a network interface card. The network interface card includes one or more interfaces for receiving frames the information handling device is coupled to an external network device. The device also includes a memory that is in comm…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F13/26. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 10 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).