Previous | Next --- Slide 55 of 79
Back to Lecture Thumbnails

Why do many small contexts have high latency hiding ability? Is it because this means there can multiple threads?


More the contexts available to choose from during the stalls, lesser the chance that a core would go idle. I think this may be a reason, but I would need a conclusive answer on this myself.


Yes. Since each thread has to have its own context (registers, instruction counter, stack pointer, etc.), 18 contexts mean to house up to 18 threads. When one thread stalls, another thread takes over the execution resources (like the 8 SIMD ALUs) to "hide latency".


Just to add, the source of stalls are frequently related to IO, i.e. waiting for a network packet, memory access, cache coherence operation, or disk read/write.