Affiliation:
1. University of New South Wales, Sydney, NSW
2. Technische Universität Wien, Wien, Austria
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.
Funder
Australian Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Cited by
13 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. An interactive and dynamic scratchpad memory management strategy for multi-core processors;Microprocessors and Microsystems;2022-07
2. CLAM: Compiler Lease of Cache Memory;The International Symposium on Memory Systems;2020-09-28
3. Air traffic control: Ocular metrics reflect cognitive complexity;International Journal of Industrial Ergonomics;2016-07
4. WCET-Aware Dynamic D-cache Locking for A Single Task;ACM SIGPLAN Notices;2015-07-22
5. WCET-Aware Dynamic D-cache Locking for A Single Task;Proceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2015 CD-ROM;2015-06-04