如何计算多核cpu的轮询等待时间



我有一个关于多核的问题& &;多cpu RR仿真;我试图了解WTime是如何衍生为多核和多cpu轮询模拟算法。我想弄清楚这个假设是否正确?

#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

计算进程的平均等待时间=> (0 + 17 + 12 + 16 + 21 + 21)/6

我假设您只有一个全局队列,总共有4个内核,内核被分配(如果有多个空闲)从1/1到2/2,上下文切换时间为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 *

*为最终累计等待时间。

相关内容

  • 没有找到相关文章

最新更新