Tardis: Time Traveling Coherence Algorithm for Distributed Shared Memory Xiangyao Yu Srinivas Devadas CSAIL, MIT CSAIL, MIT Cambridge, MA, USA Cambridge, MA, USA
[email protected] [email protected] Abstract—A new memory coherence protocol, Tardis, is pro- requiring a globally synchronized clock unlike prior timestamp posed. Tardis uses timestamp counters representing logical time coherence schemes (e.g., [9], [10]), and without requiring as well as physical time to order memory operations and enforce multicast/broadcast support unlike prior directory coherence sequential consistency in any type of shared memory system. Tardis is unique in that as compared to the widely-adopted schemes (e.g., [11], [12]). In Tardis, only the timestamps directory coherence protocol, and its variants, it completely and the owner ID need to be stored for each address for a avoids multicasting and only requires O(log N) storage per O(log N) cost where N is the number of processors or cores; cache block for an N-core system rather than O(N) sharer the O(N) sharer information of common directory protocols information. Tardis is simpler and easier to reason about, yet is not required. The requirement of storing sharers is avoided achieves similar performance to directory protocols on a wide range of benchmarks run on 16, 64 and 256 cores. partly through the novel insight that a writer can instantly jump 1 Index Terms—coherence; timestamp; scalability; sequential ahead to a time when the sharer copies have expired and consistency; immediately perform the write without violating sequential consistency. A formal proof that Tardis satisfies sequential I.