Managing storage system performance
US-2020042473-A1 · Feb 6, 2020 · US
US10771580B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10771580-B1 |
| Application number | US-201916353153-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 14, 2019 |
| Priority date | Mar 14, 2019 |
| Publication date | Sep 8, 2020 |
| Grant date | Sep 8, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.