A decoupled local memory allocator

Date
2013
Authors
Diouf, B.
Hantaş, C.
Cohen, A.
Özturk, Ö.
Palsberg, J.
Advisor
Supervisor
Co-Advisor
Co-Supervisor
Instructor
Source Title
ACM Transactions on Architecture and Code Optimization
Print ISSN
1544-3566
Electronic ISSN
Publisher
Association for Computing Machinery
Volume
9
Issue
4
Pages
34:1 - 34:22
Language
English
Type
Article
Journal Title
Journal ISSN
Volume Title
Series
Abstract

Compilers use software-controlled local memories to provide fast, predictable, and power-efficient access to critical data. We show that the local memory allocation for straight-line, or linearized programs is equivalent to a weighted interval-graph coloring problem. This problem is new when allowing a color interval to "wrap around," and we call it the submarine-building problem. This graph-theoretical decision problem differs slightly from the classical ship-building problem, and exhibits very interesting and unusual complexity properties. We demonstrate that the submarine-building problem is NP-complete, while it is solvable in linear time for not-so-proper interval graphs, an extension of the the class of proper interval graphs. We propose a clustering heuristic to approximate any interval graph into a not-so-proper interval graph, decoupling spill code generation from local memory assignment. We apply this heuristic to a large number of randomly generated interval graphs reproducing the statistical features of standard local memory allocation benchmarks, comparing with state-of-the-art heuristics. © 2013 ACM.

Course
Other identifiers
Book Title
Keywords
Compiler, Local memory, Memory allocation, Scratchpad memory, Coloring problems, Critical data, Decision problems, Interval graph, Linear time, Local memories, NP Complete, Power efficient, Proper interval graphs, Scratch pad memory, Spill code, Statistical features, Graph theory, Program compilers, Submarines, Storage allocation (computer)
Citation
Published Version (Please cite this version)