Automatic detection of optimal compute unit partitioning

US10437646B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10437646-B2
Application numberUS-201715430657-A
CountryUS
Kind codeB2
Filing dateFeb 13, 2017
Priority dateFeb 13, 2017
Publication dateOct 8, 2019
Grant dateOct 8, 2019

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.

A system, method, and computer-readable medium are disclosed for performing an automatic partition optimization operation on a processor, comprising: monitoring compute unit usage of the processor over time; determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application; and, automatically adjusting compute unit partitioning of the processor based upon whether the application executing on the processor comprises the lightly threaded application or the heavily threaded application.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implementable method for performing an automatic partition optimization operation on a processor, comprising: monitoring compute unit usage of the processor over time; determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application, a lightly threaded application corresponding to a percentage of processor usage below 30 percent, a heavily threaded application corresponding to the percentage of processor usage above 50 percent; determining whether the application executing on the processor results in a mixed use compute usage; providing programmable thresholds for use when adjusting compute unit partitioning, the programmable thresholds providing a tenability function and a hysteresis function when adjusting compute partitioning of processor; and, automatically adjusting compute unit partitioning of the processor based upon whether the application executing on the processor comprises the lightly threaded application or the heavily threaded application. 2. The method of claim 1 , wherein: for lighter threaded compute unit usage, the compute units are automatically partitioned to maximize performance by eliminating conflicts due to resource sharing. 3. The method of claim 1 , wherein: for heavily threaded compute unit usage, the compute units are partitioned to maximize symmetric multi-processing capabilities. 4. The method of claim 1 , wherein: the determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application comprises identifying a percentage of processor usage. 5. The method of claim 4 , wherein: the percentage of processor usage is analyzed across a plurality of regular time intervals. 6. The method of claim 1 , further comprising: querying a basic input output system (BIOS) to determine a currently configured compute unit partitioning scheme. 7. A system comprising: a processor; a data bus coupled to the processor; and a non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus, the computer program code interacting with a plurality of computer operations and comprising instructions executable by the processor and configured for: monitoring compute unit usage of the processor over time; determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application, a lightly threaded application corresponding to a percentage of processor usage below 30 percent, a heavily threaded application corresponding to the percentage of processor usage above 50 percent; determining whether the application executing on the processor results in a mixed use compute usage; providing programmable thresholds for use when adjusting compute unit partitioning, the programmable thresholds providing a tenability function and a hysteresis function when adjusting compute partitioning of processor; and, automatically adjusting compute unit partitioning of the processor based upon whether the application executing on the processor comprises the lightly threaded application or the heavily threaded application. 8. The system of claim 7 , wherein: for lighter threaded compute unit usage, the compute units are automatically partitioned to maximize performance by eliminating conflicts due to resource sharing. 9. The system of claim 7 , wherein: for heavily threaded compute unit usage, the compute units are partitioned to maximize symmetric multi-processing capabilities. 10. The system of claim 7 , wherein: the determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application comprises identifying a percentage of processor usage. 11. The system of claim 10 , wherein: the percentage of processor usage is analyzed across a plurality of regular time intervals. 12. The system of claim 7 , wherein the instructions are further configured for: querying a basic input output system (BIOS) to determine a currently configured compute unit partitioning scheme. 13. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for: monitoring compute unit usage of a processor over time; determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application, a lightly threaded application corresponding to a percentage of processor usage below 30 percent, a heavily threaded application corresponding to the percentage of processor usage above 50 percent; determining whether the application executing on the processor results in a mixed use compute usage; providing programmable thresholds for use when adjusting compute unit partitioning, the programmable thresholds providing a tenability function and a hysteresis function when adjusting compute partitioning of processor; and, automatically adjusting compute unit partitioning of the processor based upon whether the application executing on the processor comprises the lightly threaded application or the heavily threaded application. 14. The non-transitory, computer-readable storage medium of claim 13 , wherein: for lighter threaded compute unit usage, the compute units are automatically partitioned to maximize performance by eliminating conflicts due to resource sharing. 15. The non-transitory, computer-readable storage medium of claim 13 , wherein: for heavily threaded compute unit usage, the compute units are partitioned to maximize symmetric multi-processing capabilities. 16. The non-transitory, computer-readable storage medium of claim 13 , wherein: the determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application comprises identifying a percentage of processor usage. 17. The non-transitory, computer-readable storage medium of claim 16 , wherein: the percentage of processor usage is analyzed across a plurality of regular time intervals. 18. The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions are further configured for: querying a basic input output system (BIOS) to determine a currently configured compute unit partitioning scheme.

Assignees

Inventors

Classifications

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 US10437646B2 cover?
A system, method, and computer-readable medium are disclosed for performing an automatic partition optimization operation on a processor, comprising: monitoring compute unit usage of the processor over time; determining whether an application executing on the processor comprises a lightly threaded application or a heavily threaded application; and, automatically adjusting compute unit partition…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F9/5061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 08 2019 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).