Previous | Next --- Slide 11 of 45
Back to Lecture Thumbnails
oulgen

How would be the performance as well as communication if we were using only the global memory (not memory per processor) and a global directory? I understand that look up in the global memory would be expensive but we would be saving a lot of space by just having one directory. Could this lead to a better directory creation?

paluri

@oulgen Would we really be saving space by having one directory? All other things held constant, I believe your directory would still be the same size, since in this scheme, the directories are basically assigned 1/3 of the possible memory chunks each (i.e., 1/3 for each of the 3 processors), with a pre-determined assignment of memory to a directory so that each processor can, in constant time, determine which directory it should check-in with.

ekr

It would actually decrease communication, I think. 1/P of the memory is stored very close to the processor, and it can probably be set up so that the memory there is very likely to be used by that particular processor. So, any memory lookup for a cache line in that memory would happen much faster then sending a request to a global memory directory, since it doesn't have to use the bus.

ak47

Wouldn't using global memory guarantee that the cache is pointless? I thought the reason the cache existed was that global memory is too slow.