We study the following optimization problem. The input is a number k and a directed graph with a specified "start" vertex, each of whose vertices may have one "memory bank requirement", an integer. There are k "registers", labeled 1 ...k. A valid solution associates to the vertices with no bank requirement one or more "load instructions" L[b,j], for bank b and register j, such that every directed trail from the start vertex to some vertex with bank requirement c contains a vertex u that has been associated L[c,i] (for some register i ≤ k) and no vertex following u in the trail has been associated an L[b,i], for any bank b. The objective is to minimize the total number of associated load instructions. We give a k(k + 1)-approximation algorithm based on linear programming rounding, with (k + 1) being the best possible unless Vertex Cover has approximation 2 - ε for ε > 0. We also present a O(k logn) approximation, with n being the number of vertices in the input directed graph. Based on the same linear program, another rounding method outputs a valid solution with objective at most 2k times the optimum for k registers, using 2k registers. © 2011 Springer-Verlag.
CITATION STYLE
Calinescu, G., & Li, M. (2011). Register loading via linear programming. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6844 LNCS, pp. 171–182). https://doi.org/10.1007/978-3-642-22300-6_15
Mendeley helps you to discover research relevant for your work.