Can someone explain the uncommon case and how it is slower and more complicated?
jerryzh
@Lawliet, this slides described a very important strategy of computer architecture. Also, it is one of the principles for Instruction Set Architecture design:
Simplicity favors regularity
Smaller is faster
Good design demands good compromises
Make the common case fast
This principle means we analyzed the access pattern/usage patterns of our system, and find out that some cases are far more likely to happen than others, so instead of providing the same scheme for all cases, we optimize the common cases and (possibly) increase the overhead of uncommon cases, which improves the performance overall.
For limited pointer schemes: I think the uncommon case means we access a cache other than the top N sharers. Since we only kept the information top N processors in directory, when the (N+1)th processor accesses the same cache line, which is the uncommon case, the cost would be higher than the common case. See slide 27 for more details about what we could do when we have a overflow on the limited pointer scheme.
Can someone explain the uncommon case and how it is slower and more complicated?
@Lawliet, this slides described a very important strategy of computer architecture. Also, it is one of the principles for Instruction Set Architecture design:
This principle means we analyzed the access pattern/usage patterns of our system, and find out that some cases are far more likely to happen than others, so instead of providing the same scheme for all cases, we optimize the common cases and (possibly) increase the overhead of uncommon cases, which improves the performance overall.
For limited pointer schemes: I think the uncommon case means we access a cache other than the top N sharers. Since we only kept the information top N processors in directory, when the (N+1)th processor accesses the same cache line, which is the uncommon case, the cost would be higher than the common case. See slide 27 for more details about what we could do when we have a overflow on the limited pointer scheme.