Hardware-software coherence protocol for the coexistence of caches and local memories
Tipo de documentoArtículo
Fecha de publicación2015-01-01
Condiciones de accesoAcceso abierto
Cache coherence protocols limit the scalability of multicore and manycore architectures and are responsible for an important amount of the power consumed in the chip. A good way to alleviate these problems is to introduce a local memory alongside the cache hierarchy, forming a hybrid memory system. Local memories are more power-efficient than caches and do not generate coherence traffic, but they suffer from poor programmability. When non-predictable memory access patterns are found, compilers do not succeed in generating code because of the incoherence between the two storages. This paper proposes a coherence protocol for hybrid memory systems that allows the compiler to generate code even in the presence of memory aliasing problems. Coherence is ensured by a software/hardware co-design where the compiler identifies potentially incoherent memory accesses and the hardware diverts them to the correct copy of the data. The coherence protocol introduces overheads of 0.26% in execution time and of 2.03% in energy consumption to enable the usage of the hybrid memory system, which outperforms cache-based systems by an speedup of 38% and an energy reduction of 27%.
CitaciónÁlvarez, L. [et al.]. Hardware-software coherence protocol for the coexistence of caches and local memories. "IEEE transactions on computers", 01 Gener 2015, vol. 64, núm. 1, p. 152-165.