Results 1  10
of
44
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 172 (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]: Processorscompi l ers , optimization General terms: Languages Additional Key Words and Phrases: Register allocation, code generation, graph coloring 1. INTRODUCTION The relationship between runtime 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 136 (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 82 (11 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 36 (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 NPcomplete for any fixed number of colors k 3. Furthermore, a 3approximation 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.
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 32 (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 kcolorable 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 30 (3 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 online 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...
Near optimal hierarchical encoding of types
 In Proc. European Conference on ObjectOriented 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 25 (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 wellknown 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
Loadaware spectrum distribution in wireless LANs
 IN ICNP’08
, 2008
"... Traditionally, the channelization structure in IEEE 802.11based 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 channelwidth can be adapted dynamically pure ..."
Abstract

Cited by 22 (0 self)
 Add to MetaCart
Traditionally, the channelization structure in IEEE 802.11based 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 channelwidth can be adapted dynamically purely in software. Leveraging this capability, we study the use of dynamicwidth channels, where every AP adaptively adjusts not only its centerfrequency, but also its channelwidth to match its traffic load. This gives raise to a novel optimization problem that differs from previously studied channel assignment problems. We propose efficient spectrumdistribution algorithms and evaluate their effectiveness through analysis and simulations using realworld traces. Our results indicate that by allocating more spectrum to highlyloaded APs, the overall spectrumutilization can be substantially improved and the notorious loadbalancing problem in WLANs can be solved naturally.
Lower Bounds for Online Graph Coloring
, 1994
"... An algorithm for vertexcoloring graphs is said to be online if each vertex is irrevocably assigned a color before later vertices are considered. We show that for every such algorithm, there exists a log ncolorable graph for which the algorithm uses at least 2n = log n colors. This also holds for ..."
Abstract

Cited by 22 (6 self)
 Add to MetaCart
An algorithm for vertexcoloring graphs is said to be online if each vertex is irrevocably assigned a color before later vertices are considered. We show that for every such algorithm, there exists a log ncolorable 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 online 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.
Colorcoding: 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 colorcoding 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 21 (1 self)
 Add to MetaCart
We describe a novel randomized method, the method of colorcoding 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 colorcoding 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) worstcase 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