Previous | Next --- Slide 51 of 51
Back to Lecture Thumbnails

Given all the processor types we have seen so far. It is clear that the way you should write programs for maximum speedup is highly processor dependent. For many programs, however, you may not be sure what hardware you are running on. Or you might only know that the processor is x86 etc. It could be helpful to have a list of general techniques which work well on most hardware and a list of techniques for "families" of architectures (NUMA architectures, coprocessors, GPUs etc).


In which slide can I find the reason for "Ring-based schemes can be much simpler than point-to-point communication"?


So in general is it true that the main drawback of snooping is the large amount of communication required, while the problem with directory-based is the amount of storage needed to keep track of the directory?


What happens in cases where the directory grows too large?


@418_touhenying : see slide 47

@huehue: I believe thats correct.

@efficiens: I think this ties with @hueue's comment, that we need to strike a balance between using too much memory for maintaining coherence and also sending too many messages over the interconnect(s).