Managing memory in devices that host virtual machines and have shared memory
US-10817333-B2 · Oct 27, 2020 · US
US11526380B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11526380-B2 |
| Application number | US-202016912419-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 25, 2020 |
| Priority date | Dec 19, 2019 |
| Publication date | Dec 13, 2022 |
| Grant date | Dec 13, 2022 |
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.
This disclosure describes methods, devices, systems, and procedures in a computing system for capturing a configuration state of an operating system executing on a central processing unit (CPU), and offloading resource-related tasks, based on the configuration state, to a resource management unit such as a system-on-chip (SoC). The resource management unit identifies a status of each resource based on the captured configuration state of the operating system. The resource management unit then processes tasks associated with the status of the resources, such as modifying a clock rate of a clocked component in the computing system. This can alleviate the CPU from processing those tasks thereby improving overall computing system performance and dynamics.
Opening claim text (preview).
The invention claimed is: 1. A method of managing a computing system, the method comprising: determining, by a resource management unit having access to a first memory, a configuration state of an operating system, the operating system located in the first memory, the operating system executing on a processor of the computing system, the configuration state comprising a process queue of one or more processes to be executed by the processor; storing, by the resource management unit, the configuration state of the operating system into a second memory; identifying, by the resource management unit and based on the configuration state of the operating system, a resource of the computing system to be used by the one or more processes in the process queue when executed; and processing, by the resource management unit, a task associated with the resource, the task including altering the resource of the computing system to be used by the one or more processes to improve a capability of the computing system to execute the one or more processes using the processor, the processing of the task by the resource management unit effective to alleviate the processor from processing the task. 2. The method of claim 1 , wherein the resource management unit communicates with at least one of the processor or the first memory for obtaining the configuration state of the operating system using a low-latency communication data link or a high-speed interface bus, or by being integrated with a same integrated circuit die as the processor. 3. The method of claim 1 , wherein processing the task associated with the resource comprises altering the resource to improve at least one of: a performance of the computing system; a security aspect of the computing system; or a processing of an overhead management activity of the computing system. 4. The method of claim 1 , wherein: identifying the resource identifies a first process in the second memory that is configured to use the resource to execute; and processing the task comprises modifying a clock rate of a component of the computing system based on the first process. 5. The method of claim 1 , wherein: identifying the resource identifies a first process in the second memory that is configured to use the resource to execute; and processing the task comprises modifying a clock rate of the processor, the first memory, the second memory, or another clock-controlled component of the computing system, based on the first process. 6. The method of claim 1 , wherein: identifying the resource identifies a hypervisor or a virtual machine in the second memory that is configured to use the resource to execute; and processing the task comprises modifying a clock rate of a component of the computing system based on the hypervisor or the virtual machine. 7. The method of claim 6 , further comprising obtaining metrics associated with a first process relative to the resource or other resources used by the computing system to execute the first process and modifying the clock rate of the component based on the metrics. 8. The method of claim 7 , further comprising detecting a first score associated with the first process or assigning a first score to the first process, the first score indicative of the resource or other resources used by the first process, and modifying the clock rate of the component based on the first score. 9. The method of claim 8 , further comprising detecting a second score associated with a second process of the computing system or assigning a second score to the second process, the second score indicative of resources used by the second process, and modifying the clock rate of the component based on the first score of the first process relative to the second score of the second process. 10. A computing system comprising: a processor; a resource management unit; and a first memory or second memory having instructions stored thereon that, responsive to execution by the processor or the resource management unit, perform operations comprising: determining, by a resource management unit having access to the first memory, a configuration state of an operating system, the operating system located in the first memory, the operating system executing on a processor of the computing system, the configuration state comprising a process queue of one or more processes to be executed by the processor; storing, by the resource management unit, the configuration state of the operating system into the second memory; identifying, by the resource management unit and based on the configuration state of the operating system, a resource of the computing system to be used by the one or more processes in the process queue when executed; and processing, by the resource management unit, a task associated with the resource, the task including altering the resource of the computing system to be used by the one or more processes to improve a capability of the computing system to execute the one or more processes at the processor, the processing of the task by the resource management unit effective to alleviate the processor from processing the task. 11. The computing system of claim 10 , wherein the first and second memory are a shared memory in which the instructions are stored. 12. The computing system of claim 10 , wherein the resource management unit is comprised within a system-on-chip, an application-specific integrated circuit, or an application-specific standard product. 13. The computing system of claim 10 , wherein the resource management unit communicates with at least one of the processor or the first memory for obtaining the configuration state of the operating system using a low-latency communication data link or a high-speed interface bus, or by being integrated with a same integrated circuit die as the processor. 14. The computing system of claim 10 , wherein processing the task associated with the resource comprises altering the resource to improve at least one of: a performance of the computing system; a security aspect of the computing system; or a processing of an overhead management activity of the computing system. 15. The computing system of claim 10 , wherein: identifying the status of the resource identifies a first process in the second memory that is configured to use the resource to execute; and processing the task comprises modifying a clock rate of the processor, the first memory, the second memory, or another clock-controlled component of the computing system, based on the first process. 16. The computing system of claim 10 , wherein: identifying the status of the resource identifies a first process in the second memory that is configured to use the resource to execute; and processing the task comprises modifying a clock rate of a component of the computing system based on the first process. 17. The computing system of claim 10 , wherein: identifying the resource identifies a hypervisor or a virtual machine in the second memory that is configured to use the resource to execute; and processing the task comprises modifying a clock rate of a component of the computing system based on the hypervisor or the virtual machine. 18. The computing system of claim 17 , further comprising obtaining metrics associated with a first process relative to the resource or other resources used during execution by the computing system and modifying the clock rate of the component based on the metrics. 19. The computing system of claim 17 , further comprising detecting a first score associated
where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
the resources being hardware resources other than CPUs, Servers and Terminals · CPC title
Buffers; Shared memory; Pipes · CPC title
Monitoring or debugging support · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.