Couple of questions on DSW scheduling:

  1.  how was the correctness of the scheduling verified -- specifically the 
fact that ATOMIC is not scheduled simultaneously to 2 cores? I can think of 
feeding the same flowid on all cores and see where the various cores are busy. 
Any other test cases that can be run? But I am not satisfied with my 
verification scheme as any spurious/infrequent scheduling on 2 cores would be 
missed -- is there some invariant I could check for ATOMICity?
  2.  Is the following understanding correct: for DSW_MIGRATION_INTERVAL (viz 1 
ms.) a flow is pinned to a core? Which means if in this 1ms interval even if 
there are other cores idling and this core is oversubscribed due to another 
flow as well then the core would be shared between the 2 flows. So would an 
alternating pattern of simultaneous “1ms burst and silence” on the two flows be 
the pathological case for under-utilization of the cores and low thruput? – 
since the core would be shared for the busy period and just when migration is 
planned there is silence and then the cycle repeats. I want to have a good 
grasp of the pathological cases of this scheduler.


Thanks
-Venky

Reply via email to