Using machine learning to improve input/output performance of an application

US10771580B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10771580-B1
Application numberUS-201916353153-A
CountryUS
Kind codeB1
Filing dateMar 14, 2019
Priority dateMar 14, 2019
Publication dateSep 8, 2020
Grant dateSep 8, 2020

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.

In some examples, a computing device may determine that a selected application is executing and gather, over a predetermined time interval, data associated with operations being performed to the input/output stack by the selected application. After gathering the data, a classifier may analyze the data and determine a particular workload type from a predefined set of workload types associated with the selected application. The computing device may select a particular profile from a plurality of predefined profiles based at least in part on the particular workload type, and modify, based on the particular profile, a plurality of parameters to create a plurality of modified parameters. The modified parameters may reduce an execution time of performing the operations to the input/output stack.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: determining, by one or more processors of a computing device, that a selected application is performing operations to an input/output stack of the computing device; ordering, according to a frequency of occurrence, the operations performed by the selected application to the input/output stack; determining, by the one or more processors, a subset of the operations comprising a plurality of most frequently performed operations performed by the selected application to the input/output stack; performing a comparison of the subset of the operations to frequent operations associated with each of a predefined set of workload types; classifying, by a classifier executed by the one or more processors, the subset of the operations performed by the selected application as a particular workload type from a predefined set of workload types, wherein the classifier comprises a machine learning algorithm trained to classify input/output operations as a type of workload; selecting, by the one or more processors, a particular profile corresponding to the particular workload type from a plurality of predefined profiles based at least in part on the particular workload type and on the comparison; and modifying, by the one or more processors and based on the particular profile, a plurality of parameters to create modified parameters to reduce an execution time of the selected application performing the operations to the input/output stack using the modified parameters. 2. The method of claim 1 , wherein modifying the plurality of parameters to create the modified parameters comprises: modifying a process priority associated with the selected application to a highest priority; modifying a power plan of an operating system to a high-performance power plan; modifying a hyperthreading feature associated with the one or more processors; disabling a core parking feature associated with the one or more processors; disabling a compression feature to compress data stored in a random-access memory; and modifying a page combining feature of the operating system to remove duplicates of content stored in the random-access memory. 3. The method of claim 1 , wherein modifying the plurality of parameters to create the modified parameters comprises: modifying a vertical synchronization feature associated with synchronizing a frame rate output of the selected application with a monitor refresh rate of a display device associated with the computing device; and modifying a pre-fetch feature associated with the one or more processors to store frequently accessed data in a random-access memory of the computing device. 4. The method of claim 1 , further comprising: displaying a user interface; and receiving, via the user interface, a user selection of a particular application of a plurality of applications to create the selected application. 5. The method of claim 1 , wherein before ordering, according to the frequency of occurrence, the operations performed by the selected application to the input/output stack, the method comprises: gathering over a predetermined interval of time, data associated with the selected application performing the operations to the input/output stack, wherein the predetermined interval of time comprises one of fifteen minutes, thirty minutes, forty-five minutes, or sixty minutes and performing an analysis of the data. 6. The method of claim 1 , wherein the input/output stack comprises: a file system used by the computing device; a random-access memory used by the computing device; a logical storage used by an operating system; a cache allocated in the random-access memory by the operating system; a pagefile used by the operating system; and physical storage accessible to the operating system. 7. A computing device comprising: one or more processors; and one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising: determining that a selected application is performing operations to an input/output stack of the computing device; ordering, according to a frequency of occurrence, the operations performed by the selected application to the input/output stack; determining a subset of the operations comprising a plurality of most frequently performed operations performed by the selected application to the input/output stack; performing a comparison of the subset of the operations to frequent operations associated with each of a predefined set of workload types; classifying, by a classifier, the subset of the operations as a particular workload type from a predefined set of workload types, wherein the classifier comprises a machine learning algorithm trained to classify input/output operations as a type of workload; selecting a particular profile corresponding to the particular workload type from a plurality of predefined profiles based at least in part on the particular workload type and on the comparison; and modifying, based on the particular profile, a plurality of parameters to create modified parameters, the modified parameters reducing an execution time of the selected application performing the operations to the input/output stack using the modified parameters. 8. The computing device of claim 7 , wherein modifying the plurality of parameters to create the modified parameters comprises at least one of: modifying a process priority associated with the selected application to a highest priority; modifying a power plan of an operating system to a high-performance power plan; modifying a hyperthreading feature associated with the one or more processors; disabling a core parking feature associated with the one or more processors; disabling a compression feature to compress data stored in a random-access memory; or modifying a page combining feature of the operating system to remove duplicates of content stored in the random-access memory. 9. The computing device of claim 7 , wherein modifying the plurality of parameters to create the modified parameters comprises: modifying a vertical synchronization feature associated with synchronizing a frame rate output of the selected application with a monitor refresh rate of a display device associated with the computing device. 10. The computing device of claim 7 , further comprising: displaying a user interface; and receiving, via the user interface, a user selection of a particular application of a plurality of applications to create the selected application. 11. The computing device of claim 7 , wherein the input/output stack comprises: a file system used by the computing device; a random-access memory used by the computing device; a logical storage used by an operating system; a cache allocated in the random-access memory by the operating system; a pagefile used by the operating system; and physical storage accessible to the operating system. 12. One or more non-transitory computer readable media storing instructions executable by one or more processors of a computing device to perform operations comprising: determining that a selected application is performing operations to an input/output stack of the computing device; ordering, according to a frequency of occurrence, the operations performed by the selected application to the input/output stack; determining, by the one or more processors, a subset of the operations comprising a plurality of most frequently performed operations performed by the selected application to the input/output stack; performing a comparison of the subset of the operations to frequent operations associated with each of

Assignees

Inventors

Classifications

  • H04L67/303Primary

    Terminal profiles · CPC title

  • Enhancement of application control based on intercepted application data · CPC title

  • Generating training patterns; Bootstrap methods, e.g. bagging or boosting · CPC title

  • the supervisor being an automated module, e.g. intelligent oracle · CPC title

  • for interfaces, buses · 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 US10771580B1 cover?
In some examples, a computing device may determine that a selected application is executing and gather, over a predetermined time interval, data associated with operations being performed to the input/output stack by the selected application. After gathering the data, a classifier may analyze the data and determine a particular workload type from a predefined set of workload types associated wi…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification H04L67/303. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 08 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).