MPSoC memory optimization using program transformation

  • Authors:
  • Youcef Bouchebaba;Bruno Girodias;Gabriela Nicolescu;El Mostapha Aboulhamid;Bruno Lavigueur;Pierre Paulin

  • Affiliations:
  • École Polytechnique de Montréal;École Polytechnique de Montréal;École Polytechnique de Montréal;Université de Montréal;STMicroelectronics;STMicroelectronics

  • Venue:
  • ACM Transactions on Design Automation of Electronic Systems (TODAES)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multiprocessor system-on-a-chip (MPSoC) architectures have received a lot of attention in the past years, but few advances in compilation techniques target these architectures. This is particularly true for the exploitation of data locality. Most of the compilation techniques for parallel architectures discussed in the literature are based on a single loop nest. This article presents new techniques that consist in applying loop fusion and tiling to several loop nests and to parallelize the resulting code across different processors. These two techniques reduce the number of memory accesses. However, they increase dependencies and thereby reduce the exploitable parallelism in the code. This article tries to address this contradiction. To optimize the memory space used by temporary arrays, smaller buffers are used as a replacement. Different strategies are studied to optimize the processing time spent accessing these buffers. The experiments show that these techniques yield a significant reduction in the number of data cache misses (30%) and in processing time (50%).