Root-to-Leaf Scheduling in Write-Optimized Trees
Christopher Chung, William Jannen, Samuel McCauley, Bertrand Simon

TL;DR
This paper introduces a new framework and algorithms for efficiently flushing messages in write-optimized trees, minimizing the average message completion time and improving performance for operations like secure deletes.
Contribution
It presents a novel algorithm that approximates optimal message flushing in write-optimized trees and offers a new approximation for scheduling parallel tasks with tree constraints.
Findings
Algorithm approximates optimal flush completion time within a constant factor.
New scheduling algorithm achieves a 4-approximation for weighted completion time with tree precedence.
Framework improves efficiency of deferred updates like secure deletes in cache-efficient data structures.
Abstract
Write-optimized dictionaries are a class of cache-efficient data structures that buffer updates and apply them in batches to optimize the amortized cache misses per update. For example, a B^epsilon tree inserts updates as messages at the root. B^epsilon trees only move ("flush") messages when they have total size close to a cache line, optimizing the amount of work done per cache line written. Thus, recently-inserted messages reside at or near the root and are only flushed down the tree after a sufficient number of new messages arrive. Although this lazy approach works well for many operations, some types of updates do not complete until the update message reaches a leaf. For example, deferred queries and secure deletes must flush through all nodes along their root-to-leaf path before taking effect. What happens when we want to service a large number of (say) secure deletes as quickly…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
