TY - GEN
T1 - Uncorq
T2 - 40th IEEE/ACM International Symposium on Microarchitecture, MICRO 2007
AU - Strauss, Karin
AU - Shen, Xiaowei
AU - Torrellas, Josep
PY - 2007
Y1 - 2007
N2 - Snoopy cache coherence can be implemented in any physical network topology by embedding a logical unidirectional ring in the network. Control messages are forwarded using the ring, while other messages can use any path. While the resulting coherence protocols are inexpensive to implement, they enable many ways of overlapping multiple transactions that access the same line-making it hard to reason about correctness. Moreover, snoop requests are required to traverse the ring, therefore lengthening coherence transaction latencies. In this paper, we address these problems and make two main contributions. First, we introduce the Ordering invariant, which ensures the correct serialization of colliding transactions in embedded-ring protocols. Second, based on this invariant, we remove the requirement that snoop requests traverse the ring. Instead, they are delivered using any network path, as long as snoop responses - which are typically off the critical path - use the logical ring. This approach substantially reduces coherence transaction latency. We call the resulting protocol Uncorq. We show that, on a 64-node Chip Multiprocessor (CMP), Uncorq improves the performance, on average, by 23% for SPLASH-2 applications and by 10% for commercial applications. With an additional simple prefetching optimization, the performance improvement is, on average, 26% for SPLASH-2 applications and 18% for commercial applications.
AB - Snoopy cache coherence can be implemented in any physical network topology by embedding a logical unidirectional ring in the network. Control messages are forwarded using the ring, while other messages can use any path. While the resulting coherence protocols are inexpensive to implement, they enable many ways of overlapping multiple transactions that access the same line-making it hard to reason about correctness. Moreover, snoop requests are required to traverse the ring, therefore lengthening coherence transaction latencies. In this paper, we address these problems and make two main contributions. First, we introduce the Ordering invariant, which ensures the correct serialization of colliding transactions in embedded-ring protocols. Second, based on this invariant, we remove the requirement that snoop requests traverse the ring. Instead, they are delivered using any network path, as long as snoop responses - which are typically off the critical path - use the logical ring. This approach substantially reduces coherence transaction latency. We call the resulting protocol Uncorq. We show that, on a 64-node Chip Multiprocessor (CMP), Uncorq improves the performance, on average, by 23% for SPLASH-2 applications and by 10% for commercial applications. With an additional simple prefetching optimization, the performance improvement is, on average, 26% for SPLASH-2 applications and 18% for commercial applications.
UR - http://www.scopus.com/inward/record.url?scp=47349125701&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=47349125701&partnerID=8YFLogxK
U2 - 10.1109/MICRO.2007.37
DO - 10.1109/MICRO.2007.37
M3 - Conference contribution
AN - SCOPUS:47349125701
SN - 0769530478
SN - 9780769530475
T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO
SP - 327
EP - 339
BT - Proceedings of the The 40th IEEE/ACM International Symposium on Microarchitecture, MICRO 2007
Y2 - 1 December 2007 through 5 December 2007
ER -