RL解决负载均衡
一.背景参考论文:https://openreview.net/forum?id=Hyg1G2AqtQ目标: 作业分布到不同的服务器,减小作业处理时间。状态: 来入的作业
一.背景
参考论文:https://openreview.net/forum?id=Hyg1G2AqtQ
目标: 作业分布到不同的服务器,减小作业处理时间。
状态: 来入的作业大小,队列的大小
动作:来入的作业分配到固定的队列中
奖励:作业的等待和处理时间
作业的规模服从帕累托分布,作业到达时间是泊松到达过程
二.代码解析
代码分成__init__,generate_job,generate_jobs,initialize,initialize_servers,observe,reset,seed,setup_space,step部分。
2.1 __init__
定义以下参数:
状态,动作空间
随机种子
全局时间WallTime
使用优先队列Timeline
流式作业总数config.num_stream_jobs
服务器self.initialize_servers
当前来入作业
已经处理完的作业
重置环境,生成新作业
2.2 generate_job
2.3 generate_jobs
2.4 initialize
1.判断当前时间是否为0
2.生成作业