I have a question on multi-cores & multi-Cpu RR simulation; I am trying to understand how the WTime is derived for a multi-core and mulit-CPU RoundRobin Simulation Algorithm. I am trying to figure out if this assumption is right?
#CPU => 2;
#Cores => 2;
#Processes => 6;
TQ = 5;
Process# BurstTime
1 5
2 6
3 7
4 8
5 9
6 10
Process RR Algorithm Data
Process# BTime WTime CPU#
1 5 0 1
2 5 0 1
3 5 5 2
4 5 5 2
5 5 10 1
6 5 10 1
2 1 17 2
3 2 17 2
4 3 21 1
5 4 21 1
6 5 26 2
Is the this correct? Specifically P2 WTime?
P1 => 0
P2 => 17 - 0 = 17
P3 => 17 - (5*1) - 0 = 12
P4 => 21 - (5*1) - 0 = 16
P5 => 21 - (5*1) - 0 = 21
P6 => 26 - (5*1) - 0 = 21
Calculate the Average Waiting Time for the Process => (0 + 17 + 12 + 16 + 21 + 21) / 6
I assume that you have only one global queue, there are 4 cores in total, cores are assigned (if more than one is idle) from 1/1 to 2/2, and the context switch times are 0:
Process # core # start end remaining acc. waiting time
1 1/1 0 5 0 0 *
2 1/2 0 5 1 0
3 2/1 0 5 2 0
4 2/2 0 5 3 0
5 1/1 5 10 4 5
6 1/2 5 10 5 5
2 2/1 5 6 0 0=0+0*
3 2/2 5 7 0 0=0+0 * (core became idle)
4 2/1 6 9 0 1=0+1 * (core became idle)
5 1/1 10 14 0 5=5+0 *
6 1/2 10 15 0 5=5+0 *
*
marks the final accumulated waiting time.