Information processing system and information processing method
US-2024256410-A1 · Aug 1, 2024 · US
US9250968B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9250968-B2 |
| Application number | US-56675209-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 25, 2009 |
| Priority date | Sep 26, 2008 |
| Publication date | Feb 2, 2016 |
| Grant date | Feb 2, 2016 |
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 memory managing method and memory manager for a multi processing environment are provided. The memory manager adjusts the number of processors assigned to a consumer process and/or an assignment unit size of data to be consumed by the consumer process based on a condition of a shared queue which is shared by a producer process producing data and the consumer process consuming the data.
Opening claim text (preview).
What is claimed is: 1. A memory manager in a multi-processing environment, comprising: one or more producer processors configured to produce jobs; one or more consumer processors configured to consume the produced jobs; and a controller configured to manage the one or more consumer processors based on a condition of a bandwidth between a memory and the producer processors, wherein the controller determines a variation in length of a shared queue shared by the processors including calculating a moving average of the shared queue determined according to the number and specific time of jobs to be processed in the shared queue and manages the one or more consumer processors based on the variation in length of the shared queue. 2. The memory manager of claim 1 , wherein the controller comprises: a bandwidth monitor configured to check the condition of the bandwidth between the memory and the producer processors. 3. The memory manager of claim 2 , wherein the bandwidth monitor comprises: a queue monitor configured to check a length of a shared queue shared by the producer processors and the consumer processors, determined according to the number of jobs to be processed in the shared queue. 4. The memory manager of claim 2 , wherein the bandwidth monitor comprises: a queue monitor configured to calculate the moving average of the shared queue shared by the producer processors and the consumer processors, determined according to the number and specific time of jobs to be processed in the shared queue. 5. The memory manager of claim 1 , wherein the controller adjusts the number of consumer processors based on the condition of the bandwidth. 6. The memory manager of claim 5 , wherein the controller comprises: a process adjustor configured to increase the number of consumer processors when a length of a shared queue is greater than a predetermined upper limit, and configured to decrease the number of consumer processors when the length of the shared queue is less than a predetermined lower limit. 7. The memory manager of claim 5 , wherein the controller comprises: a process adjustor configured to decrease an assignment unit size of data to be consumed by the one or more consumer processors when a length of a shared queue is greater than a predetermined upper limit, and configured to increase the assignment unit size of data to be consumed by the one or more consumer processors when the length of the shared queue is less than a predetermined lower limit. 8. The memory manager of claim 5 , wherein the controller comprises: a process adjustor configured to increase the number of consumer processors when a length of a shared queue continues to increase for a given period of time, and configured to decrease the number of consumer processors when the length of the shared queue continues to decrease for a given period of time. 9. The memory manager of claim 5 , wherein the controller comprises: a process adjustor configured to decrease an assignment unit size of data to be consumed by the one or more consumer processors when a length of a shared queue continues to increase for a given period of time, and configured to increase the assignment unit size of data to be consumed by the one or more consumer processors when the length of the shared queue continues to decrease for a given period of time. 10. A memory managing method in a multi-processing environment comprising a producer process, a consumer process and a memory, the method comprising: checking a condition of a bandwidth between the memory and one or more producer processors assigned to the producer process and one or more consumer processors assigned to the consumer process; and managing the consumer process based on the condition of the bandwidth, wherein the checking condition of the bandwidth comprises determining of a variation in length of a shared queue including calculating a moving average of the shared queue determined according to the number and specific time of jobs to be processed in the shared queue, and wherein the managing the consumer process comprises managing the one or more consumer processors based on the variation in length of the shared queue. 11. The method of claim 10 , wherein the checking of the condition of the bandwidth comprises determining a length of a shared queue shared by the producer process and the consumer process according to the number of jobs to be processed in the shared queue. 12. The method of claim 10 , wherein the managing of the consumer process comprises adjusting the number of consumer processors assigned to the consumer process based on the condition of the bandwidth. 13. The method of claim 12 , wherein: the adjusting the number of consumer processors comprises increasing the number of consumer processors assigned to the consumer process when a length of a shared queue is greater than a predetermined upper limit, and decreasing the number of consumer processors assigned to the consumer process when the length of the shared queue is less than a predetermined lower limit. 14. The method of claim 12 , wherein: the adjusting the number of consumer processors comprises increasing the number of consumer processors assigned to the consumer process when a length of a shared queue continues to increase for a given period of time, and decreasing the number of consumer processors assigned to the consumer process when the length of the shared queue continues to decrease for a given period of time. 15. The method of claim 10 , wherein: the managing of the consumer process comprises decreasing an assignment unit size of data to be consumed by the consumer process when a length of a shared queue is greater than a predetermined upper limit, and increasing the assignment unit size of data to be consumed by the consumer process when the length of the shared queue is less than a predetermined lower limit. 16. The method of claim 10 , wherein: the managing of the consumer process comprises decreasing an assignment unit size of data to be consumed by the consumer process when a length of a shared queue continues to increase for a given period of time, and increasing the assignment unit size of data to be consumed by the consumer process when the length of the shared queue continues to decrease for a given period of time. 17. A non-transitory computing device for use in a multi-processing environment, comprising: a shared queue shared by a first process configured to produce jobs and a second process configured to consume the jobs produced by the first process; and a controller comprising a processor and configured to determine a condition of a bandwidth between a memory and one or more processors assigned to the first process, based on a condition of the shared queue; and manage the second process based on the determined condition of the bandwidth, wherein the controller is configured to determine a variation in length of the shared queue including calculating a moving average of the shared queue determined according to the number and specific time of jobs to be processed in the shared queue, and to manage the second process based on the variation in length of the shared queue. 18. The non-transitory computing device of claim 17 , wherein the controller adjusts a number of processors assigned to the second process based on the determined condition of the bandwidth. 19. The non-transitory computing device of claim 17 , wherein the controller further comprises: a queue monitor which checks a length of the shared queue, the length being
Cross-Sectional Technologies · mapped topic
Monitor · CPC title
the resource being the memory · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Resource capping · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.