Skiplists with Foresight: Skipping Cache Misses
Abstract
A skiplist is a fundamental data structure widely used in systems and applications for indexing data stores. In this work, we introduce Foresight, a cache-friendly skiplist optimization. Extending Foresight to concurrent settings introduces significant synchronization challenges that we identify and address. Foresight is a surgical optimization, easy to integrate into a wide variety of skiplist designs. We apply it to one sequential and three concurrent skiplist designs and observe throughput improvements of up to 45% in microbenchmarks. When applied to a skiplist-based index in the DBx1000 in-memory database, Foresight yields end-to-end performance gains of up to 15%.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.