Hybrid access-specific software cache techniques for the cell BE architecture

  • Authors:
  • Marc Gonzàlez;Nikola Vujic;Xavier Martorell;Eduard Ayguadé;Alexandre E. Eichenberger;Tong Chen;Zehra Sura;Tao Zhang;Kevin O'Brien;Kathryn O'Brien

  • Affiliations:
  • Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;T.J. Watson IBM Research Center, Yorktown Heights, NY, USA;T.J. Watson IBM Research Center, Yorktown Heights, NY, USA;T.J. Watson IBM Research Center, Yorktown Heights, NY, USA;T.J. Watson IBM Research Center, Yorktown Heights, NY, USA;T.J. Watson IBM Research Center, Yorktown Heights, NY, USA;T.J. Watson IBM Research Center, Yorktown Heights, NY, USA

  • Venue:
  • Proceedings of the 17th international conference on Parallel architectures and compilation techniques
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Ease of programming is one of the main impediments for the broad acceptance of multi-core systems with no hardware support for transparent data transfer between local and global memories. Software cache is a robust approach to provide the user with a transparent view of the memory architecture; but this software approach can suffer from poor performance. In this paper, we propose a hierarchical, hybrid software-cache architecture that classifies at compile time memory accesses in two classes, high-locality and irregular. Our approach then steers the memory references toward one of two specific cache structures optimized for their respective access pattern. The specific cache structures are optimized to enable high-level compiler optimizations to aggressively unroll loops, reorder cache references, and/or transform surrounding loops so as to practically eliminate the software cache overhead in the innermost loop. Performance evaluation indicates that improvements due to the optimized software-cache structures combined with the proposed code-optimizations translate into 3.5 to 8.4 speedup factors, compared to a traditional software cache approach. As a result, we demonstrate that the Cell BE processor can be a competitive alternative to a modern server-class multi-core such as the IBM Power5 processor for a set of parallel NAS applications.