Decoupled approaches to register and software controlled memory allocations

Boubacar Diouf 1
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
Abstract : Despite the benefit of the memory hierarchy, it is still essential, in order to reduce accesses to higher levels of memory, to have an efficient usage of registers and local memories (also called scratchpad memories) present in most embedded processors, graphical processors (GPUs) and network processors. During the compilation, from a source language to an executable code, there are two optimizations that are of utmost importance: the register allocation and the local memory allocation. In this thesis's report we are interested in decoupled approaches, solving separately the allocation and assignment problems, that helps to improve the quality of the register and local memory allocations. In the first part of this thesis we are interested in two aspects of the register allocation problem: the improvements of the just-in-time (JIT) register allocation and the spill minimization problem. We introduce the split register allocation which leverages the decoupled approach to improve register allocation in the context of JIT compilation. We experimentally validate the effectiveness of split register allocation and its portability with respect to register count variations, relying on annotations whose impact on the bytecode size is negligible. We introduce a new decoupled approach, called iterated-optimal allocation, which focus on the spill minimization problem. The iterated-optimal allocation algorithm achieves results close to optimal while offering pseudo-polynomial guarantees for SSA programs and fast allocations on general programs. In the second part of this thesis, we study how a decoupled local memory allocation can be proposed in light of recent progresses in register allocation. We first validate our intuition for decoupled approach to local memory allocation. Then, we study the local memory allocation in a more theoretical way setting the junction between local memory allocation for linearized programs and weighted interval graph coloring. We design and analyze a new variant of the ship-building problem called the submarine-building problem. We show that this problem is NP-complete on interval graphs, while it is solvable in linear time for proper interval graphs, equivalent to unit interval graphs. The submarine-building problem is the first problem that is known to be NP-complete on interval graphs, while it is solvable in linear time for unit interval graphs. In the third part of this thesis, we propose a heuristic-based solution, the clustering allocator, which decouples the local memory allocation problem and aims to minimize the allocation cost. The clustering allocator while devised for local memory allocation, it appears to be a very good solution to the register allocation problem. After many years of separation, this new algorithm seems to be a bridge to reconcile the local memory allocation and the register allocation problems.
Document type :
Theses
Complete list of metadatas

Cited literature [85 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-00769403
Contributor : Abes Star <>
Submitted on : Tuesday, January 1, 2013 - 1:10:42 AM
Last modification on : Wednesday, January 30, 2019 - 11:07:59 AM
Long-term archiving on : Tuesday, April 2, 2013 - 3:47:18 AM

File

VD2_DIOUF_BOUBACAR_15122011.pd...
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-00769403, version 1

Collections

Citation

Boubacar Diouf. Decoupled approaches to register and software controlled memory allocations. Other [cs.OH]. Université Paris Sud - Paris XI, 2011. English. ⟨NNT : 2011PA112349⟩. ⟨tel-00769403⟩

Share

Metrics

Record views

906

Files downloads

427