US2024012683A1PendingUtilityA1

Resource Management Unit for Capturing Operating System Configuration States and Offloading Tasks

Assignee: GOOGLE LLCPriority: Dec 19, 2019Filed: Sep 21, 2023Published: Jan 11, 2024
Est. expiryDec 19, 2039(~13.4 yrs left)· nominal 20-yr term from priority
G06F 9/5011G06F 9/3869G06F 9/44505G06F 9/45558G06F 9/544G06F 2009/45591G06F 9/5094Y02D10/00
71
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

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.

Claims

exact text as granted — not AI-modified
What is 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 in the first memory, the configuration state comprising a process queue of one or more processes to be executed;   storing, by the resource management unit, data relating to the configuration state of the operating system into a second memory;   identifying, in the stored data and by the resource management unit, a resource of the computing system to be used by the one or more processes in the process queue when executed, the identifying the resource identifies at least one of a hypervisor or a virtual machine in the computing system that is configured to use the resource to execute; and   processing, by the resource management unit, a task associated with the resource, the processing of the task comprising modifying a clock rate of a component of the computing system based on at least one of a status of the hypervisor or the virtual machine, metrics associated with a respective process of the one or more processes relative to the resource or other resources used by the computing system, a determined score associated with the respective process, or process priority data.   
     
     
         2 . The method of  claim 1 , further comprising:
 detecting a transaction event of the operating system, and wherein determining a configuration state is responsive to the detection of the transaction event.   
     
     
         3 . The method of  claim 1 , wherein the resource management unit communicates with at least one of a processor or the first memory for storing 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. 
     
     
         4 . The method of  claim 1 , wherein processing the task associated with the resource comprises managing 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.   
     
     
         5 . The method of  claim 1 , wherein identifying the resource in the stored data is based on at least one of memory usage, memory need, secondary memory usage, scheduling, process run queue, process wait queue, process priority data, process run-time remaining data, process scheduling data, or hypervisor or virtual machine activity. 
     
     
         6 . The method of  claim 1 , wherein modifying the clock rate of component of the computing system comprises modifying the clock rate of at least one of a processor, the first memory, the second memory, or another clock-controlled component of the computing system. 
     
     
         7 . The method of  claim 1 , wherein the determined score is indicative of the resource or other resources used by the respective process. 
     
     
         8 . The method of  claim 1 , further comprising:
 determining a second score associated with a second respective process of the one or more processes of the computing system, the second score indicative of resources used by the second respective process.   
     
     
         9 . The method of  claim 8 , wherein modifying the clock rate of the component based on the determined score of the respective process is relative to the second determined score of the second respective process. 
     
     
         10 . A computing system comprising:
 a processor;   a resource management unit; and   a first 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 a first memory, a configuration state of an operating system in the first memory, the configuration state comprising a process queue of one or more processes to be executed; 
 storing, by the resource management unit, data relating to the configuration state of the operating system into a second memory; 
 identifying, in the stored data and by the resource management unit, a resource of the computing system to be used by the one or more processes in the process queue when executed, the identifying the resource identifies at least one of a hypervisor or a virtual machine in the computing system that is configured to use the resource to execute; and 
 processing, by the resource management unit, a task associated with the resource, the processing of the task comprising modifying a clock rate of a component of the computing system based on at least one of a status of the hypervisor or the virtual machine, metrics associated with a respective process of the one or more processes relative to the resource or other resources used by the computing system, a determined score associated with the respective process, or process priority data. 
   
     
     
         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 second 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 the first or second memory further comprise instructions that further perform operations comprising:
 detecting a transaction event of the operating system, and wherein determining a configuration state is responsive to the detection of the transaction event.   
     
     
         15 . The computing system of  claim 10 , wherein processing the task associated with the resource comprises managing 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.   
     
     
         16 . The computing system of  claim 10 , wherein identifying the resource in the stored data is based on at least one of memory usage, memory need, secondary memory usage, scheduling, process run queue, process wait queue, process priority data, process run-time remaining data, process scheduling data, or hypervisor or virtual machine activity. 
     
     
         17 . The computing system of  claim 10 , wherein modifying the clock rate of component of the computing system comprises modifying the clock rate of at least one of the processor, the first memory, the second memory, or another clock-controlled component of the computing system. 
     
     
         18 . The computing system of  claim 10 , wherein the determined score is indicative of the resource or other resources used by the respective process. 
     
     
         19 . The computing system of  claim 10 , wherein the first or second memory further comprise instructions that further perform operations comprising:
 determining a second score associated with a second respective process of the one or more processes of the computing system, the second score indicative of resources used by the second respective process.   
     
     
         20 . The computing system of  claim 19 , wherein modifying the clock rate of the component based on the determined score of the respective process is relative to the second determined score of the second respective process.

Join the waitlist — get patent alerts

Track US2024012683A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.