| CPC G06F 1/3209 (2013.01) [A61K 36/185 (2013.01); B03B 1/00 (2013.01); B03B 5/02 (2013.01); B03B 5/58 (2013.01); B03B 11/00 (2013.01); G05D 23/19 (2013.01); G06F 1/20 (2013.01); G06F 1/206 (2013.01); G06F 1/3203 (2013.01); G06F 1/3206 (2013.01); G06F 1/3228 (2013.01); G06F 9/45558 (2013.01); G06F 9/4893 (2013.01); G06F 9/5094 (2013.01); G06F 13/409 (2013.01); G06K 19/0723 (2013.01); G06K 19/07705 (2013.01); G06K 19/07722 (2013.01); H04L 9/40 (2022.05); H04L 69/329 (2013.01); H05K 7/20836 (2013.01); G06F 2009/4557 (2013.01); Y02D 10/00 (2018.01)] | 20 Claims |

|
1. A system for allocating tasks to a plurality of servers, comprising:
an input port configured to receive a workload comprising a series of tasks;
a cooling system control configured to at least proactively control a cooling system configured to provide cooling to respective servers dependent on a predicted dissipation for processing respective tasks on respective servers, to maintain each respective server within a thermal limit; and
a scheduler configured to allocate respective tasks of the received workload to respective servers based on a joint optimization of at least:
server energy consumption,
cooling system energy consumption,
task completion metrics, and
speed or latency of task completion metrics.
|