Scratchpad memory allocation for data aggregates via interval coloring in superperfect graphs

  • Authors:
  • Lian Li;Jingling Xue;Jens Knoop

  • Affiliations:
  • University of New South Wales, Sydney, NSW;University of New South Wales, Sydney, NSW;Technische Universität Wien, Wien, Austria

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS)
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Existing methods place data or code in scratchpad memory (SPM) by relying on heuristics or resorting to integer programming or mapping it to a graph-coloring problem. In this article, the SPM allocation problem for arrays is formulated as an interval coloring problem. The key observation is that in many embedded C programs, two arrays can be modeled such that either their live ranges do not interfere or one contains the other (with good accuracy). As a result, array interference graphs often form a special class of superperfect graphs (known as comparability graphs), and their optimal interval colorings become efficiently solvable. This insight has led to the development of an SPM allocation algorithm that places arrays in an interference graph in SPM by examining its maximal cliques. If the SPM is no smaller than the clique number of an interference graph, then all arrays in the graph can be placed in SPM optimally. Otherwise, we rely on containment-motivated heuristics to split or spill array live ranges until the resulting graph is optimally colorable. We have implemented our algorithm in SUIF/machSUIF and evaluated it using a set of embedded C benchmarks from MediaBench and MiBench. Compared to a graph-coloring algorithm and an optimal ILP algorithm (when it runs to completion), our algorithm achieves close-to-optimal results and is superior to graph coloring for the benchmarks tested.