Results 1 - 10
of
35
Improvements to Graph Coloring Register Allocation
- ACM Transactions on Programming Languages and Systems
, 1994
"... This paper describes both the techniques themselves and our experience building and using register allocators that incorporate them. It provides a detailed description of optimistic coloring and rematerialization. It presents experimental data to show the performance of several versions of the regis ..."
Abstract
-
Cited by 158 (8 self)
- Add to MetaCart
This paper describes both the techniques themselves and our experience building and using register allocators that incorporate them. It provides a detailed description of optimistic coloring and rematerialization. It presents experimental data to show the performance of several versions of the register allocator on a suite of FORTRAN programs. It discusses several insights that we discovered only after repeated implementation of these allocators. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors---compi l ers , optimization General terms: Languages Additional Key Words and Phrases: Register allocation, code generation, graph coloring 1. INTRODUCTION The relationship between run-time performance and e#ective use of a machine's register set is well understood. In a compiler, the process of deciding which values to keep in registers at each point in the generated code is called register allocation. Value
Register Allocation via Graph Coloring
, 1992
"... Chaitin and his colleagues at IBM in Yorktown Heights built the first global register allocator based on graph coloring. This thesis describes a series of improvements and extensions to the Yorktown allocator. There are four primary results: Optimistic coloring Chaitin's coloring heuristic pessimis ..."
Abstract
-
Cited by 133 (4 self)
- Add to MetaCart
Chaitin and his colleagues at IBM in Yorktown Heights built the first global register allocator based on graph coloring. This thesis describes a series of improvements and extensions to the Yorktown allocator. There are four primary results: Optimistic coloring Chaitin's coloring heuristic pessimistically assumes any node of high degree will not be colored and must therefore be spilled. By optimistically assuming that nodes of high degree will receive colors, I often achieve lower spill costs and faster code; my results are never worse. Coloring pairs The pessimism of Chaitin's coloring heuristic is emphasized when trying to color register pairs. My heuristic handles pairs as a natural consequence of its optimism. Rematerialization Chaitin et al. introduced the idea of rematerialization to avoid the expense of spilling and reloading certain simple values. By propagating rematerialization information around the SSA graph using a simple variation of Wegman and Zadeck's constant propag...
Finding and counting given length cycles
- Algorithmica
, 1997
"... We present an assortment of methods for finding and counting simple cycles of a given length in directed and undirected graphs. Most of the bounds obtained depend solely on the number of edges in the graph in question, and not on the number of vertices. The bounds obtained improve upon various previ ..."
Abstract
-
Cited by 66 (10 self)
- Add to MetaCart
We present an assortment of methods for finding and counting simple cycles of a given length in directed and undirected graphs. Most of the bounds obtained depend solely on the number of edges in the graph in question, and not on the number of vertices. The bounds obtained improve upon various previously known results. 1
On Coloring Unit Disk Graphs
- Algorithmica
, 1994
"... In this paper the coloring problem for unit disk (UD) graphs is considered. UD graphs are the intersection graphs of equal sized disks in the plane. Colorings of UD graphs arise in the study of channel assignment problems in broadcast networks. Improving on a result of Clark, Colbourn and Johnson (1 ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
In this paper the coloring problem for unit disk (UD) graphs is considered. UD graphs are the intersection graphs of equal sized disks in the plane. Colorings of UD graphs arise in the study of channel assignment problems in broadcast networks. Improving on a result of Clark, Colbourn and Johnson (1990) it is shown that the coloring problem for UD graphs remains NP-complete for any fixed number of colors k 3. Furthermore, a 3-approximation algorithm for the problem is presented which is based on network flow and matching techniques, and it is pointed out how this technique can be applied to more general classes of disk graphs. Contents 1 Introduction 1 2 Preliminaries 2 3 The UD k-Colorability Problem 5 3.1 The Construction of the Auxiliary Graphs : : : : : : : : : : : : : : : : : : : : : : 6 3.2 The Embedding of the UD Graph : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 3.2.1 The Embedding of the Given Graph : : : : : : : : : : : : : : : : : : : : : 8 3.2.2 The Embedding ...
Iterated Greedy Graph Coloring and the Difficulty Landscape
, 1992
"... Many heuristic algorithms have been proposed for graph coloring. The simplest is perhaps the greedy algorithm. Many variations have been proposed for this algorithm at various levels of sophistication, but it is generally assumed that the coloring will occur in a single attempt. We note that if a ne ..."
Abstract
-
Cited by 31 (2 self)
- Add to MetaCart
Many heuristic algorithms have been proposed for graph coloring. The simplest is perhaps the greedy algorithm. Many variations have been proposed for this algorithm at various levels of sophistication, but it is generally assumed that the coloring will occur in a single attempt. We note that if a new permutation of the vertices is chosen which respects the independent sets of a previous coloring, then applying the greedy algorithm will result in a new coloring in which the number of colors used does not increase, yet may decrease. We introduce several heuristics for generating new permutations that are fast when implemented and effective in reducing the coloring number. The resulting Iterated Greedy algorithm(IG) can obtain colorings in the range 100 to 103 on graphs in G 1000; 1 2 . More interestingly, it can optimally color k-colorable graphs with k up to 60 and n = 1000, exceeding results of anything in the literature for these graphs. We couple this algorithm with several other c...
Frequency Assignment Problems
- HANDBOOK OF COMBINATORIAL OPTIMIZATION
, 1999
"... The ever growing number of wireless communications systems deployed around the globe have made the optimal assignment of a limited radio frequency spectrum a problem of primary importance. At issue are planning models for permanent spectrum allocation, licensing, regulation, and network design. Furt ..."
Abstract
-
Cited by 24 (2 self)
- Add to MetaCart
The ever growing number of wireless communications systems deployed around the globe have made the optimal assignment of a limited radio frequency spectrum a problem of primary importance. At issue are planning models for permanent spectrum allocation, licensing, regulation, and network design. Further at issue are on-line algorithms for dynamically assigning frequencies to users within an established network. Applications include aeronautical mobile, land mobile, maritime mobile, broadcast, land fixed (pointto -point), and satellite systems. This paper surveys research conducted by theoreticians, engineers, and computer scientists regarding the frequency assignment problem (FAP) in all of its guises. The paper begins by defining some of the more common types of FAPs. It continues with a discussion on measures of optimality relating to the use of spectrum, models of interference, and mathematical representations of the many FAPs, both in graph theoretic terms, and as mathematical pro...
Lower Bounds for On-line Graph Coloring
, 1994
"... An algorithm for vertex-coloring graphs is said to be on-line if each vertex is irrevocably assigned a color before later vertices are considered. We show that for every such algorithm, there exists a log n-colorable graph for which the algorithm uses at least 2n = log n colors. This also holds for ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
An algorithm for vertex-coloring graphs is said to be on-line if each vertex is irrevocably assigned a color before later vertices are considered. We show that for every such algorithm, there exists a log n-colorable graph for which the algorithm uses at least 2n = log n colors. This also holds for randomized algorithms, to within a constant factor, against an oblivious adversary. We then show that various means of relaxing the constraints of the on-line model do not reduce these lower bounds. The features include presenting the input in blocks of up to log 2 n vertices, recoloring any fraction of the vertices, presorting vertices by degree, and disclosing the adversary's previous coloring.
Color-coding: a new method for finding simple paths, cycles and other small subgraphs within large graphs (Extended Abstract)
"... We describe a novel randomized method, the method of color-coding for finding simple paths and cycles of a specified length k, and other small subgraphs, within a given graph G = (V, E). The randomized algorithms obtained using this method can be derandomized using families of perfect hash functions ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
We describe a novel randomized method, the method of color-coding for finding simple paths and cycles of a specified length k, and other small subgraphs, within a given graph G = (V, E). The randomized algorithms obtained using this method can be derandomized using families of perfect hash functions. Using the color-coding method we obtain, among others, the following new results: • For every fixed k, if a graph G = (V, E) contains a simple cycle of size exactly k, then such a cycle can be found in either O(V ω) expected time or O(V ω log V) worst-case time, where ω < 2.376 is the exponent of matrix multiplication. (Here and in what follows we use V and E instead of |V | and |E | whenever no confusion may arise.) • For every fixed k, if a planar graph G = (V, E) contains a simple cycle of size exactly k, then
Near optimal hierarchical encoding of types
- In Proc. European Conference on Object-Oriented Programming, ECOOP'97, Lecture Notes in Computer Science
, 1997
"... Abstract. A type inclusion test is a procedure to decide whether two types are related by a given subtyping relationship. An efficient implementation of the type inclusion test plays an important role in the performance of object oriented programming languages with multiple subtyping like C++, Eiffe ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
Abstract. A type inclusion test is a procedure to decide whether two types are related by a given subtyping relationship. An efficient implementation of the type inclusion test plays an important role in the performance of object oriented programming languages with multiple subtyping like C++, Eiffel or Java. There are well-known methods for performing fast constant time type inclusion tests that use a hierarchical bit vector encoding of the partial ordered set representing the type hierarchy. The number of instructions required by the type inclusion test is proportional to the length of those bit vectors. We present a new algorithm based on graph coloring which computes a near optimal hierarchical encoding of type hierarchies. The new algorithm improves significantly on previous results – it is faster, simpler and generates smaller bit vectors. 1
Load-aware spectrum distribution in wireless LANs
- In ICNP’08
"... Abstract—Traditionally, the channelization structure in IEEE 802.11-based Wireless LANs has been fixed: Each access point (AP) is assigned one channel and all channels are equally wide. In contrast, it has recently been shown that even on commodity hardware, the channel-width can be adapted dynamica ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
Abstract—Traditionally, the channelization structure in IEEE 802.11-based Wireless LANs has been fixed: Each access point (AP) is assigned one channel and all channels are equally wide. In contrast, it has recently been shown that even on commodity hardware, the channel-width can be adapted dynamically purely in software. Leveraging this capability, we study the use of dynamic-width channels, where every AP adaptively adjusts not only its center-frequency, but also its channel-width to match its traffic load. This gives raise to a novel optimization problem that differs from previously studied channel assignment problems. We propose efficient spectrum-distribution algorithms and evaluate their effectiveness through analysis and simulations using realworld traces. Our results indicate that by allocating more spectrum to highly-loaded APs, the overall spectrum-utilization can be substantially improved and the notorious load-balancing problem in WLANs can be solved naturally. I.

