IP Library Granted Patent US 9,021,495
Granted Patent B2
US 9,021,495 · App. 13/783,334 · Granted Apr 28, 2015

Management of resources within a computing environment

Inventors: Fadi Y. Busaba (Poughkeepsie, NY); Steven R. Carlough (Wappingers Falls, NY); Christopher A. Krygowski (Lagrangeville, NY); Brian R. Prasky (Wappingers Falls, NY); Chung-Lung K. Shum (Wappingers Falls, NY)
Assignee: International Business Machines Corporation
G06F9/50G06F9/38G06F9/5011G06F2209/504G06F2209/507
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,021,495
App. No.
13/783,334
Granted
Apr 28, 2015
Kind
B2
Abstract

Resources in a computing environment are managed, for example, by a hardware controller controlling dispatching of resources from one or more pools of resources to be used in execution of threads. The controlling includes conditionally dispatching resources from the pool(s) to one or more low-priority threads of the computing environment based on current usage of resources in the pool(s) relative to an associated resource usage threshold. The management further includes monitoring resource dispatching from the pool(s) to one or more high-priority threads of the computing environment, and based on the monitoring, dynamically adjusting the resource usage threshold used in the conditionally dispatching of resources from the pool(s) to the low-priority thread(s).

Claims (19)

1. A method of facilitating managing resources in a computing environment, the method comprising:

controlling, by a hardware controller, dispatching of resources from at least one pool of resources of multiple pools of resources to be used in execution of threads, the controlling comprising conditionally dispatching resources from one pool of resources of the at least one pool of resources to at least one low-priority thread of the computing environment based on usage of resources in the one pool of resources relative to a resource usage threshold associated with the one pool of resources, wherein each pool of resources of at least a plurality of pools of resources of the multiple pools of resources has a respective resource usage threshold associated therewith;

monitoring dispatching and dispatching rate of resources from one or more pools of resources of the multiple pools of resources to at least one high-priority thread of the computing environment, wherein the at least one high-priority thread has a higher priority than the at least one low-priority thread; and

based on the monitoring, dynamically adjusting more than one resource usage threshold associated with more than one pool of resources of the plurality of pools of resources.

2. The method of claim 1 , wherein the monitoring dispatching of resources from one or more pools of resources includes monitoring dispatching of resources from the one pool of resources, and wherein the dynamically adjusting more than one resource usage threshold includes dynamically adjusting the resource usage threshold associated with the one pool of resources.

3. The method of claim 2 , wherein the dynamically adjusting the resource usage threshold associated with the one pool of resources comprises dynamically adjusting the resource usage threshold based on types of resources used by the at least one high-priority thread.

4. The method of claim 2 , wherein the dynamically adjusting the resource usage threshold associated with the one pool of resources comprises dynamically adjusting the resource usage threshold based on whether the at least one high-priority thread encounters resource contention for one or more resources of the one pool of resources.

5. The method of claim 4 , wherein the dynamically adjusting the resource usage threshold associated with the one pool of resources comprises incrementally increasing the resource usage threshold associated with the one pool of resources based on the at least one high-priority thread not encountering resource contention for the one or more resources of the one pool of resources.

6. The method of claim 4 , wherein the dynamically adjusting the resource usage threshold associated with the one pool of resources further comprises, based on the at least one high-priority thread encountering resource contention for the one or more resources of the one pool of resources, determining whether the resource usage threshold associated with the one pool of resources is at a programmed minimum level, and based on the resource usage threshold being at the programmed minimum level, taking no action to further adjust the resource usage threshold, otherwise incrementally decreasing the resource usage threshold associated with the one pool of resources.

7. The method of claim 1 , wherein the conditionally dispatching of resources from the one pool of resources comprises dynamically adjusting a dispatch rate of resources from the one pool of resources to the at least one low-priority thread based on the usage of resources in the one pool of resources relative to the resource usage threshold associated therewith.

8. The method of claim 1 , wherein the conditionally dispatching of resources from the one pool of resources comprises dynamically throttling a dispatch rate of resources from the one pool of resources to the at least one low-priority thread based on the usage of resources in the one pool of resources exceeding the resource usage threshold associated with the one pool of resources.

9. The method of claim 8 , wherein the conditionally dispatching of resources from the one pool of resources further comprises discontinuing the throttling of the dispatch rate of resources to the at least one low-priority thread based on the usage of resources in the one pool of resources dropping below the resource usage threshold associated with the one pool of resources.

10. The method of claim 1 , wherein each pool of resources of the multiple pools of resources comprises a respective, adjustable resource usage threshold.

11. The method of claim 10 , wherein the monitoring comprises monitoring resource dispatching to the at least one high-priority thread from each pool of the multiple pools of resources, and the method further comprises separately dynamically adjusting one or more respective resource usage thresholds associated with the multiple pools of resources based on the monitoring of dispatching of resources from the multiple pools of resources to the at least one high-priority thread.

12. The method of claim 10 , wherein the conditionally dispatching of resources comprises separately, dynamically adjusting a dispatch rate of resources from each pool of resources of the multiple pools of resources to the at least one low-priority thread based on the usage of resources in that pool of resources relative to the respective resource usage threshold associated therewith.

13. A method of facilitating managing of resources in a computing environment, the method comprising:

controlling, by a hardware controller, dispatching of resources from at least one pool of resources of multiple pools of resources to be used in execution of threads, the controlling comprising conditionally dispatching resources from one pool of resources of the at least one pool of resources to at least one low-priority thread of the computing environment based on usage of resources in the one pool of resources relative to a resource usage threshold associated with the one pool of resources, wherein each pool of resources of at least a plurality of pools of resources of the multiple pools of resources has a respective resource usage threshold associated therewith;

monitoring dispatching and dispatching rate of resources from one or more pools of resources of the multiple pools of resources to at least one low-priority thread of the computing environment; and

based on the monitoring, dynamically adjusting more than one resource usage threshold associated with more than one pool of resources of the plurality of pools of resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2013
From: BUSABA, FADI Y.; CARLOUGH, STEVEN R.; KRYGOWSKI, CHRISTOPHER A.; PRASKY, BRIAN R.; SHUM, CHUNG-LUNG K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029910/0984 →
Continuity (2)
Continuation 13615704 · Sep 14, 2012
Related Publication 20140082626A1 · Mar 20, 2014