🤖 AI Summary
Skip lists lack systematic theoretical foundations and practical adaptability in big-data systems. Method: We propose the first multi-scenario classification framework for skip-list variants, systematically analyzing over ten mainstream variants across indexing, blockchain, networking algorithms, and deterministic systems along five dimensions—structure design, concurrency control, level optimization, persistence, and deterministic construction. We establish a theoretical applicability model that characterizes performance bounds and deployment constraints for each variant, and construct a comprehensive skip-list application atlas covering 10+ major big-data systems. Contribution/Results: Our work delivers a rigorously validated, empirically grounded guide for data-system selection, architectural design, and algorithmic optimization. It significantly enhances the engineering viability of skip lists in distributed, high-concurrency, and strongly consistent environments.
📝 Abstract
Skiplists have become prevalent in systems. The main advantages of skiplists are their simplicity and ease of implementation, and the ability to support operations in the same asymptotic complexities as their tree-based counterparts. In this survey, we explore skiplists and their many variants. We highlight many scenarios about how skiplists are useful, and how they fit well in these usage scenarios. We also compare skiplists with other data structures, especially tree-based structures. Extensions to skiplists include structural modifications, as well as algorithmic enhancements and operations. We categorize the existing extensions, and summarize the skiplist variants that belong to each category. We present how data systems incorporate skiplist variants into many different application scenarios to serve various purposes. These data systems cover a wide range of applications, from data indexing to block-chain, from network algorithms to deterministic skiplists, etc. It illustrates an impactful and diverse applications of skiplists in various domains of data systems.