Previous | Next --- Slide 23 of 44
Back to Lecture Thumbnails
viveksri

Why is the slowdown so nonlinear in the number of cores? I would think that as the size of the interconnect increases, the traffic between the caches increases reasonably linearly.

There's a particularly huge jump in time between 3 and 4 cores, is there anything inherent in the number of threads that determines how much time is spent in the critical section?

emt

As the number of processors increases, the amount of time spent in the critical section increases because the processor has a harder time getting out of the critical section when it has to wait for the cache line that another processor currently has exclusive access to. Additionally, while this is not shown in the graph, a lot of coherence traffic could prevent processors from immediately updating values in memory while in the critical section.

anonymous

@viveksri I'm not sure if the result of this graph provided by prof. Kayvon is the average time for several tests. If so, I have the same doubt with you.

kayvonf

Your suspicion is correct. This graph definitely exhibits noise in the timings. However the trend of time to acquire lock increasing with the number of contending processors is definitely clear.

viveksri

also just realized it's in microseconds - at first I thought the differences could be explained in some way but at such a small timescale, noise is definitely a sensible explanation.