Previous | Next --- Slide 4 of 49
Back to Lecture Thumbnails
shhhh

Why is broadcasting better than just writing back to memory each time?

BestBunny

With a write through cache implementation (writing back to memory each time), there is a lot of latency introduced with each cache write/memory write. Although writing back to memory each time would be more efficient than broadcasting for processes that make very rare memory writes and lots of memory reads, if there were many threads modifying many locations in memory the process can quickly become bandwidth bound.

axiao

Even a write through cache will need broadcasting to invalidate other cores cache lines on a write operation in order to ensure that other cores will read the updated value. This is described in detail here. Like the above answer states, this method might require a lot of memory bandwidth.

If we just write back to memory each time without any sort of broadcasting or method of informing other cores what is going on, then the caches cannot be used since we have no way of knowing if the data in it is stale.

viveksri

so am I understanding it correctly in that on a cache miss, the coherence information is broadcast to all the other cores, but each core only performs the write upon an access attempt to that particular core, rather than write through on all cores upon the first miss?