1. A system comprising: a plurality of nodes, each of the nodes comprising circuitry configured to: execute computing processes; calculate power consumption of the node; and store power consumption data of the node in a storage device; a cluster agent configured to: monitor a power usage of each of the plurality of nodes based at least in part on the power consumption data; track historical computation durations; assign a power budget to each node of the plurality of nodes; predict, based at least in part on the historical computation durations, how much performance would decrease on a first node due to an increased latency from having to wake from a power-gated state; and increase on a second node, if power were to be reassigned from the first node to the second node; if said increase in performance is determined to be greater than said decrease in performance: cause the first node to enter the power-gated state; and reassign power saved by power-gating the first node to the second node.