A Decoupled Local Memory Allocator

Boubacar Diouf 1 Can Hantaş 2 Albert Cohen 3 Özcan Özturk 4 Jens Palsberg 5
1 Parkas - Parallélisme de Kahn Synchrone
CNRS - Centre National de la Recherche Scientifique : UMR 8548, Inria Paris-Rocquencourt, DI-ENS - Département d'informatique de l'École normale supérieure
3 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, CNRS - Centre National de la Recherche Scientifique, Inria de Paris
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{} problem. This graph-theoretical decision problem differs slightly from the classical \ship{} problem, and exhibits very interesting and unusual complexity properties. We demonstrate that the \submarine{} 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 \spm{} assignment. We apply this heuristic to a large number of randomly generated interval graphs reproducing the statistical features of standard \spm{} allocation benchmarks, comparing with state-of-the-art heuristics.
Document type :
Journal articles
Liste complète des métadonnées

https://hal.inria.fr/hal-00786676
Contributor : Albert Cohen <>
Submitted on : Sunday, February 10, 2013 - 1:20:20 AM
Last modification on : Thursday, March 14, 2019 - 9:44:05 AM

Links full text

Identifiers

Collections

Citation

Boubacar Diouf, Can Hantaş, Albert Cohen, Özcan Özturk, Jens Palsberg. A Decoupled Local Memory Allocator. ACM Transactions on Architecture and Code Optimization, Association for Computing Machinery, 2013, 9 (4), ⟨10.1145/2400682.2400693⟩. ⟨hal-00786676⟩

Share

Metrics

Record views

313