Boubacar Diouf

dblp:87/7854 · DBLP profile ↗
← Back
3ranked-venue papers
3as first author
0since 2021 · last 2013
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 3 · 3 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
1 paper
Graph algorithms and graph theory · 100%
Software engineering, system software, and programming languages
1 paper
Operating systems · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Memory systems · 100%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › resource management › memory management
memory allocation
0.212013
A decoupled local memory allocator · ACM Trans. Archit. Code Optim. 2013
Graph algorithms and graph theory
graph coloring
0.212013
A decoupled local memory allocator · ACM Trans. Archit. Code Optim. 2013
Graph algorithms and graph theory › graph coloring
interval graph coloring
0.212013
A decoupled local memory allocator · ACM Trans. Archit. Code Optim. 2013
Memory systems › on-chip memory
scratchpad memory
0.012013
A decoupled local memory allocator · ACM Trans. Archit. Code Optim. 2013

Methods — techniques the papers use, named apart from their topics

complexity analysis · 0.5clustering heuristic · 0.5
YearPublicationVenuePosition
2013 A polynomial spilling heuristic: Layered allocation
abstract
Register allocation is one of the most important, and one of the oldest compiler optimizations. It aims to map temporary variables to machine registers, and defaults to explicit load/store from memory when necessary. The latter option is referred to as spilling. This paper addresses the minimization of the spill code overhead, one of the difficult problems in register allocation. We devised a heuristic, polynomial approach called layered. It is rooted in the recent advances in decoupled register allocation. As opposed to conventional incremental spilling, our method incrementally allocates clusters of variables. We demonstrate its quasi-optimiality on standard benchmarks and on two architectures.
Boubacar Diouf, Albert Cohen 0001, Fabrice Rastello
CGO1
2013 A decoupled local memory allocator
abstract
Compilers 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.
Boubacar Diouf, Can Hantas, Albert Cohen 0001, Ozcan Ozturk 0001, Jens Palsberg
ACM Trans. Archit. Code Optim.1
2010 Split Register Allocation: Linear Complexity Without the Performance Penalty
Boubacar Diouf, Albert Cohen 0001, Fabrice Rastello, John Cavazos
HiPEAC1