Computer Science · Hardware and Architecture
High Performance Software Coherence for Current and Future Architectures
Michael L. Scott, Leonidas I. Kontothanassis, Leonidas I. Kontothanassis
See on the mapAbstract
Shared memory provides an attractive and intuitive programmingmodel for large-scale parallel computing, but requires a coherence mechanism to allow caching for performance while ensuring that processors do not use stale data in their computation. Implementation options range from distributed shared memory emulations on networks of workstations to tightly-coupled fully cachecoherent distributed shared memory multiprocessors. Previous work indicates that performance varies dramatically from one end of this spectrum to the other. Hardware cache coherence is fast, but also costly and time-consuming to design and implement, while DSM systems provide acceptable performance on only a limited class of applications. We claim that an intermediate hardware option---memory-mapped network interfaces that support a global physical address space, without cache coherence---can provide most of the performance benefits of fully cachecoherent hardware, at a fraction of the cost. To support this claim we ...