IP Library Granted Patent US 8,495,627
Granted Patent B2
US 8,495,627 · App. 11/769,185 · Granted Jul 23, 2013

Resource allocation based on anticipated resource underutilization in a logically partitioned multi-processor environment

Inventors: Eric Lawrence Barsness (Pine Island, MN); John Matthew Santosuosso (Rochester, MN)
Assignee: International Business Machines Corporation
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 8,495,627
App. No.
11/769,185
Granted
Jul 23, 2013
Kind
B2
Abstract

A method, apparatus and program product for allocating resources in a logically partitioned multiprocessor environment. Resource usage is monitored in a first logical partition in the logically partitioned multiprocessor environment to predict a future underutilization of a resource in the first logical partition. An application executing in a second logical partition in the logically partitioned multiprocessor environment is configured for execution in the second logical partition with an assumption made that at least a portion of the underutilized resource is allocated to the second logical partition during at least a portion of the predicted future underutilization of the resource.

Claims (38)

1. A method for allocating resources in a logically partitioned multiprocessor environment, the method comprising:

monitoring resource usage in a first logical partition in the logically partitioned multiprocessor environment to predict a future underutilization of a resource in the first logical partition, wherein monitoring resource usage includes monitoring a set of commands known to release resources when executed including checking commands to be executed at the first logical partition to determine whether a respective command to be executed at the first logical partition corresponds to the set of commands known to release resources when executed, and wherein predicting the future underutilization of the resource is based on whether the respective command to be executed by the first logical partition corresponds to the set of commands known to release resources when executed;

in response to determining that the respective command corresponds to the set of commands known to release resources when executed, communicating the predicted future underutilization to a database query optimizer executing in a second logical partition in the logically partitioned multiprocessor environment such that the database query optimizer generates a query plan for a query to be executed during at least a portion of the predicted future underutilization of the resource with the query plan optimized to utilize at least a portion of the resource during execution of the query plan; and

executing the query plan generated by the database query optimizer in the second partition utilizing the portion of the resource at a time associated with the predicted future underutilization of the resource and while the portion of the resource is allocated to the second partition,

wherein communicating the predicted underutilization to the database query optimizer is performed prior to the time associated with the predicted future underutilization of the resource and execution of the query plan while the portion of the resource is allocated to the second partition.

2. A method for allocating resources in a logically partitioned multiprocessor environment, the method comprising:

monitoring resource usage in a first logical partition in the logically partitioned multiprocessor environment to predict a future underutilization of a resource in the first logical partition, wherein monitoring resource usage includes monitoring a set of commands known to release resources when executed, wherein predicting the future underutilization of the resource is based on whether the first logical partition receives a respective command for execution corresponding to the set of commands known to release resources when executed;

in response to the first logical partition receiving the respective command, configuring an application for execution in a second logical partition in the logically partitioned multiprocessor environment with an assumption made that at least a portion of the resource is allocated to the second logical partition during at least a portion of the predicted future underutilization of the resource, wherein the application comprises a database query optimizer; and

executing the application in the second partition at the time associated with the predicted future underutilization of the resource while the portion of the resource is allocated to the second logical partition.

3. The method of claim 2 wherein configuring the application is performed prior to a time associated with the predicted future underutilization of the resource.

4. The method of claim 2 wherein monitoring resource usage further comprises:

monitoring an event.

5. The method of claim 4 wherein monitoring resource usage further comprises:

tracking at least one of resource consumption, execution, and down times of the event; and

identifying repeatable patterns of resource underutilization.

6. The method of claim 4 wherein the event is an application program or a subsystem restart.

7. The method of claim 2 further comprising:

checking the first partition for a broken pattern of resource usage; and

in response to finding the broken pattern of resource usage, reconfiguring the application executing in the second logical partition and reallocating the portion of the resource to the first logical partition.

8. The method of claim 7 wherein utilization of the resource by the first logical partition during the predicted underutilization of the resource creates the broken pattern of resource usage.

9. The method of claim 2 wherein the database query optimizer is configured to generate a query plan for a query based on the predicted availability of the resource to the second logical partition when the query plan will be executed.

10. The method of claim 2 wherein the resource is processor time.

11. The method of claim 2 wherein the application comprises a job executing in a batch mode.

12. An apparatus comprising:

a processor; and

program code configured to be executed by the processor to allocate resources in a logically partitioned multiprocessor environment, the program code configured to monitor resource usage in a first logical partition in the logically partitioned multiprocessor environment to predict a future underutilization of a resource in the first logical partition, and configure an application for execution in a second logical partition in the logically partitioned multiprocessor environment with an assumption made that at least a portion of the resource is allocated to the second logical partition during at least a portion of the predicted future underutilization of the resource, wherein the application comprises a database query optimizer, wherein the program code is configured to monitor resource usage in the first logical partition by monitoring a set of commands known to release resources when executed, wherein the program code is configured to predict the future underutilization of the resource based on whether the first logical partition receives a respective command for execution corresponding to the set of commands known to release resources when executed, wherein the program code is configured to configure the application for execution in the second logical partition in response to the first logical partition receiving the respective command, and wherein the program code is further configured to execute the application in the second partition at the time associated with the predicted future underutilization of the resource while the portion of the resource is allocated to the second logical partition.

13. The apparatus of claim 12 wherein configuring the application is performed prior to a time associated with the predicted future underutilization of the resource.

14. The apparatus of claim 12 wherein the program code is further configured to monitor resource by monitoring an event.

15. The apparatus of claim 14 wherein the program code is further configured to monitor resource usage by tracking at least one of resource consumption, execution, and down times of the event, and identifying repeatable patterns of resource underutilization.

16. The apparatus of claim 14 wherein the event is an application program or a subsystem restart.

17. The apparatus of claim 12 wherein the program code is further configured to check the first partition for a broken pattern of resource usage, and in response to finding the broken pattern of resource usage, reconfigure the application executing in the second logical partition and reallocate the portion of the resource to the first logical partition.

18. The apparatus of claim 17 wherein utilization of the resource by the first logical partition during the predicted underutilization of the resource creates the broken pattern of resource usage.

19. The apparatus of claim 12 wherein the database query optimizer is configured to generate a query plan for a query based on the predicted availability of the resource to the second logical partition when the query plan will be executed.

20. The apparatus of claim 12 wherein the application comprises a job executing in a batch mode.

21. A program product, comprising:

a non-transitory computer readable medium; and

program code resident on the computer readable medium and configured to allocate resources in a logically partitioned multiprocessor environment, the program code configured to monitor resource usage in a first logical partition in the logically partitioned multiprocessor environment to predict a future underutilization of a resource in the first logical partition, and configure an application for execution in a second logical partition in the logically partitioned multiprocessor environment with an assumption made that at least a portion of the resource is allocated to the second logical partition during at least a portion of the predicted future underutilization of the resource, wherein the application comprises a database query optimizer, wherein the program code is configured to monitor resource usage in the first logical partition by monitoring a set of commands known to release resources when executed, wherein the program code is configured to predict the future underutilization of the resource based on whether the first logical partition receives a respective command for execution corresponding to the set of commands known to release resources when executed, wherein the program code is configured to configure the application for execution in the second logical partition in response to the first logical partition receiving the respective command, and wherein the program code is further configured to execute the application in the second partition at the time associated with the predicted future underutilization of the resource while the portion of the resource is allocated to the second logical partition.

22. The program product of claim 21 wherein configuring the application is performed prior to a time associated with the predicted future underutilization of the resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2007
From: BARSNESS, ERIC LAWRENCE; SANTOSUOSSO, JOHN MATTHEW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019486/0826 →
Continuity (1)
Related Publication 20090007125A1 · Jan 1, 2009