Layered List Labeling
The list-labeling problem is one of the most basic and well-studied algorithmic primitives in data structures, with an extensive literature spanning upper bounds, lower bounds, and data management applications. The classical algorithm for this problem, dating back to 1981, has amortized cost $O(\log...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The list-labeling problem is one of the most basic and well-studied
algorithmic primitives in data structures, with an extensive literature
spanning upper bounds, lower bounds, and data management applications. The
classical algorithm for this problem, dating back to 1981, has amortized cost
$O(\log^2 n)$. Subsequent work has led to improvements in three directions:
\emph{low-latency} (worst-case) bounds; \emph{high-throughput} (expected)
bounds; and (adaptive) bounds for \emph{important workloads}.
Perhaps surprisingly, these three directions of research have remained almost
entirely disjoint -- this is because, so far, the techniques that allow for
progress in one direction have forced worsening bounds in the others. Thus
there would appear to be a tension between worst-case, adaptive, and expected
bounds. List labeling has been proposed for use in databases at least as early
as PODS'99, but a database needs good throughput, response time, and needs to
adapt to common workloads (e.g., bulk loads), and no current list-labeling
algorithm achieve good bounds for all three.
We show that this tension is not fundamental. In fact, with the help of new
data-structural techniques, one can actually \emph{combine} any three
list-labeling solutions in order to cherry-pick the best worst-case, adaptive,
and expected bounds from each of them. |
---|---|
DOI: | 10.48550/arxiv.2404.16623 |