Could you please explain why K+1 tasks?
We need to make sure that the same tasks are
k distance apart. For example:
[a, b, a], k=3
When we execute task “
a” we can run
k=3 more tasks before running “
a” again. Hence, we can execute as many as
k+1=4 tasks in one iteration. (the first task + 3 more tasks)
If for any iteration, we are not able to execute
k+1 tasks, the CPU has to remain idle for the remaining time in the next iteration.