机房运行了K个计算节点,每个节点当前负载数为T,每个节点的CPU核心数为C,一个CPU核心的最大负载数为200,节点总负载数=节点CPU核心数∗200,节点的CPU负载-节点当前负载数/节点总负载数。节点宕机在机房是经常发生的事,因此要设计一种算法将宕机节点的负载均衡地迁移到负载低的节点,使各节点的CPU负载保持一致,给定右机节点的负载数N,求每个计算节点应该新增的负载数。 备注:1.如果宕机节点的负载数超出了所有节点总负载数,不进行重新调度,则每个节点新增的任务数为0。
2.如果宕机节点的负载数没有超出所有节点总负载数,输入能够保证最终分配完全均衡,即分配后各个计算节点的CPU负载保持相等,精度不低于0.001。
本题要求将宕机节点的负载均匀分配给其他节点,以确保各个节点的CPU负载
保持相等。每个节点的CPU负载是节点当前负载与节点总容量的比值。以下是具体的步骤和解题思路:
K
个节点,其中每个节点具有C
个CPU核心。每个核心的最大负载为200
,因此节点的总容量为 C * 200
。N
后,目标是通过均匀分配该负载,使得所有节点的CPU负载比率
保持一致。N
。可以表示为 总负载 = N + sum(T)
,其中sum(T)
为各节点当前负载的和。