A decoupled local memory allocator

dc.citation.epage34:22en_US
dc.citation.issueNumber4en_US
dc.citation.spage34:1en_US
dc.citation.volumeNumber9en_US
dc.contributor.authorDiouf, B.en_US
dc.contributor.authorHantaş, C.en_US
dc.contributor.authorCohen, A.en_US
dc.contributor.authorÖzturk, Ö.en_US
dc.contributor.authorPalsberg, J.en_US
dc.date.accessioned2016-02-08T09:41:31Z
dc.date.available2016-02-08T09:41:31Z
dc.date.issued2013en_US
dc.departmentDepartment of Computer Engineeringen_US
dc.description.abstractCompilers 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.en_US
dc.description.provenanceMade available in DSpace on 2016-02-08T09:41:31Z (GMT). No. of bitstreams: 1 bilkent-research-paper.pdf: 70227 bytes, checksum: 26e812c6f5156f83f0e77b261a471b5a (MD5) Previous issue date: 2013en
dc.identifier.doi10.1145/2400682.2400693en_US
dc.identifier.issn1544-3566
dc.identifier.urihttp://hdl.handle.net/11693/21123
dc.language.isoEnglishen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2400682.2400693en_US
dc.source.titleACM Transactions on Architecture and Code Optimizationen_US
dc.subjectCompileren_US
dc.subjectLocal memoryen_US
dc.subjectMemory allocationen_US
dc.subjectScratchpad memoryen_US
dc.subjectColoring problemsen_US
dc.subjectCritical dataen_US
dc.subjectDecision problemsen_US
dc.subjectInterval graphen_US
dc.subjectLinear timeen_US
dc.subjectLocal memoriesen_US
dc.subjectNP Completeen_US
dc.subjectPower efficienten_US
dc.subjectProper interval graphsen_US
dc.subjectScratch pad memoryen_US
dc.subjectSpill codeen_US
dc.subjectStatistical featuresen_US
dc.subjectGraph theoryen_US
dc.subjectProgram compilersen_US
dc.subjectSubmarinesen_US
dc.subjectStorage allocation (computer)en_US
dc.titleA decoupled local memory allocatoren_US
dc.typeArticleen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
A decoupled local memory allocator.pdf
Size:
361.37 KB
Format:
Adobe Portable Document Format
Description:
Full printable version