Resource allocation method
US-2015301864-A1 · Oct 22, 2015 · US
US2018095800A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2018095800-A1 |
| Application number | US-201715595968-A |
| Country | US |
| Kind code | A1 |
| Filing date | May 16, 2017 |
| Priority date | Sep 30, 2016 |
| Publication date | Apr 5, 2018 |
| Grant date | — |
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.
A method for allocating core resources of a multi-core CPU according to embodiments of the present disclosure, comprising: determining the number of time critical threads included in a focus process, wherein said focus process is created when a predetermined software is running; and allocating core resources for the time critical threads and making the allocated core resources dedicated to the time critical threads, based on the number of core resources included in the multi-core CPU and the number of the time critical threads, so as to maximize the number of the time critical threads that occupy exclusive core resources. In said method, it's desirable to try to allocate separate core resources for time critical threads included in a focus process, and said time critical threads can be locked within the correspondingly allocated core resources, so that the allocation of core resources can be more balanced. Accordingly, response speed and performance of a focus process can be improved, which allows a focus process to run in an optimal status, and thus bring better user experience. In addition, a device for allocating core resources of a multi-core CPU is also provided.
Opening claim text (preview).
1 . A method for allocating core resources of a multi-core CPU, comprising: determining the number of time critical threads included in a focus process, wherein said focus process is created when a predetermined software is running; and allocating core resources for the time critical threads and making the allocated core resources dedicated to the time critical threads, based on the number of core resources included in the multi-core CPU and the number of the time critical threads, so as to maximize the number of the time critical threads that occupy exclusive core resources. 2 . The method of claim 1 , further comprising: setting a priority of the focus process and the time critical threads included in the focus process higher than a normal priority. 3 . The method of claim 1 , wherein the step of allocating core resources for the time critical threads and making the allocated core resources dedicated to the time critical threads based on the number of core resources included in the multi-core CPU and the number of the time critical threads so as to maximize the number of the time critical threads that occupy exclusive core resources comprises: comparing the number of physical core resources included in the multi-core CPU and the number of said time critical threads; in response to that the number of the physical core resources is no less than the number of the time critical threads, allocating the physical core resources for the time critical threads and making the allocated physical core resources dedicated to the time critical threads, so as to maximize the number of the time critical threads that occupy exclusive physical core resources; and in response to that the number of the physical core resources is less than the number of the time critical threads, allocating logical core resources included in the multi-core CPU for the time critical threads and making the allocated logical core resources dedicated to the time critical threads based on the number of the logical core resources and the number of the time critical threads, so as to maximize the number of the time critical threads that occupy exclusive logical core resources. 4 . The method of claim 3 , wherein the step of in response to that the number of the physical core resources is no less than the number of the time critical threads, allocating the physical core resources for the time critical threads and making the physical core resources dedicated to the time critical threads comprises: in response to that the number of the physical core resources included in the multi-core CPU is more than the number of the time critical threads, allocating one physical core resource for each time critical thread and making the one physical core resource dedicated to each time critical thread, such that each time critical thread occupies exclusively one physical core resource respectively; and allocating remaining physical core resources of said multi-core CPU for background threads included in the focus process and making the physical core resources dedicated to the background threads, said background threads being different from the time critical threads and the remaining physical core resources are those included in the multi-core CPU but other than the physical core resources which have been allocated to the time critical threads. 5 . The method of claim 4 , further comprising: setting a priority of the background threads higher than a normal priority. 6 . The method of claim 4 , further comprising: allocating one predetermined physical core resource of the remaining physical core resources for all threads included in a background process and making the one predetermined physical core resource dedicated to the all threads included in the background process, wherein said background process is created when the predetermined software is running; and setting a priority of the background process and all threads included in the background process lower than a normal priority. 7 . The method of claim 3 , wherein the step of in response to that the number of the physical core resources is no less than the number of the time critical threads, allocating the physical core resources for the time critical threads and making the physical core resources dedicated to the time critical threads comprises: in response to that the number of the physical core resources is equal to the number of the time critical threads, allocating one physical core resource for each time critical thread respectively and making the one physical core resource dedicated to each time critical thread; allocating one predetermined physical core resource of said physical core resources for background threads included in the focus process and making the predetermined physical core resource dedicated to the background threads, wherein said background threads are different from the time critical threads; and wherein a first number of said time critical threads occupy exclusively one physical core resource respectively, and the first number is the number of the physical core resources minus one. 8 . The method of claim 7 , further comprising: setting a priority of the background threads as a normal priority. 9 . The method of claim 7 , further comprising: allocating one predetermined physical core resource for all threads included in a background process and making the one predetermined physical core resource dedicated to the all threads, wherein said background process is created while the predetermined software is running; and setting a priority of the background process and all threads included in the background process lower than a normal priority. 10 . The method of claim 3 , wherein the step of allocating logical core resources included in the multi-core CPU for the time critical threads and making the allocated logical core resources dedicated to the time critical threads based on the number of the logical core resources and the number of the time critical threads, comprises: comparing the number of logical core resources included in the multi-core CPU and the number of said time critical threads; in response to that the number of the logical core resources is more than the number of the time critical threads, allocating one logical core resource for each time critical thread and making the allocated logical core resources dedicated to each time critical thread, such that each time critical thread occupies exclusively one logical core resource respectively; and allocating remaining logical core resources of said multi-core CPU for background threads included in the focus process and making the remaining logical core resources dedicated to the background threads, said background threads being different from the time critical threads, and the remaining logical core resources are those included in the multi-core CPU other than the logical core resources which have been allocated to the time critical threads. 11 . The method of claim 10 , further comprising: allocating one predetermined logical core resource of the remaining logical core resources for all threads included in a background process and making the one predetermined physical core resource dedicated to the all threads, wherein said background process is created when the predetermined software is running; and setting a priority of the background process and all threads included in the background process lower than a normal priority. 12 . The method of claim 10 , further comprising: in response to that the number of the logical core resources is equal to the number of the time critical threads, allocating one logical core resource for each time critical thread respectively an
Techniques for rebalancing the load in a distributed system · CPC title
Allocation of resources, e.g. of the central processing unit [CPU] · CPC title
Multiprogramming arrangements · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
involving deadlines, e.g. rate based, periodic · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.