Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments
AssigneeInternational Business Machines Corporation
InventorsJames E. Hanson, Jeffrey Owen Kephart, Malgorzata Steinder, Ian Nicholas Whalley
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for dynamically controlling application placement and server resource allocation in a distributed system wherein a performance manager and power manager collaborate during run-time execution of data processing tasks to coordinate management and control of workload placement and server usage and dynamically determine a tradeoff between performance level and power usage that meets power and performance objectives.
Claims20
A distributed computing system, comprising:
- a plurality of computing nodes interconnected in a network, wherein the computing nodes comprise a plurality of servers forming a server cluster that provides a shared pool of server resources for executing data processing tasks, and an automated resource management system to manage the plurality of servers;
- wherein the automated resource management system comprises:
- a performance manager that controls allocation of server resources and placement of workload on a set of servers in the server cluster according to performance constraints;
- a power manager that controls power states and usage of servers in the server cluster according to power consumption constraints,
- wherein the performance manager and power manager collaborate via a messaging scheme during run-time execution of data processing tasks to coordinate management, control and redistribution of workload placement among the servers and dynamically determine a tradeoff between performance level and power usage that meets power and performance objectives, the messaging scheme being configured for requesting and transferring control of the servers between the performance manager and the power manager to redistribute the workload placement among the servers to achieve the tradeoff.
A method for managing computing resources in a distributed system including a plurality of server nodes forming a server cluster that provides a shared pool of server resources for executing data processing tasks, said method comprising:
- allocating server resources for placing applications over a set of server nodes in the server cluster to perform data processing tasks;
- determining if a more optimal application placement can be made to achieve a more optimal balance between performance level and power usage and meet power and performance objectives for a current workload;
- and
- dynamically adjusting resource allocation to obtain a more optimal application placement, wherein dynamically adjusting resource allocation includes sending a request message to transfer control of at least one server node between a performance manager system and a power manager system to redistribute the workload placement among the server nodes to achieve the more optimal application placement.
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing computing resources in a distributed system including a plurality of server nodes forming a server cluster that provides a shared pool of server resources for executing data processing tasks, said method steps comprising:
- allocating server resources for placing applications over a set of server nodes in the server cluster to perform data processing tasks;
- determining if a more optimal application placement can be made to achieve a more optimal balance between performance level and power usage and meet power and performance objectives for a current workload;
- and
- dynamically adjusting resource allocation to obtain a more optimal application placement, wherein dynamically adjusting resource allocation includes sending a message to transfer control of at least one server node between a performance manager system and a power manager system to redistribute the workload placement among the server nodes to achieve the more optimal application placement.
Dependencies are inferred from the claim text.