代码总体很复杂,简化下流程
是assignTasks流程:
FIFO的分配任务算法流程:
// map任务分配for (int i=0; i < availableMapSlots; ++i) {
for (JobInProgress job : jobQueue) {
该作业有可分的任务,当前map slot分配给它。退出此次循环,进行下一个map slot的分配
}
}
//reduce任务分配
if(availableReduceSlots>0){
for (JobInProgress job : jobQueue) {
每个作业分配一个reduce slot
}
}