🤖 AI Summary
This paper investigates contention resolution for shared resources under adversarial settings, where an adversary arbitrarily controls the number of processes and their request initiation times, aiming to guarantee fairness, efficiency, and reliability in the worst case. Using a unified framework integrating distributed algorithm analysis, probabilistic methods, game-theoretic modeling, and complexity theory, we systematically characterize solvability boundaries across key model dimensions: synchronous vs. asynchronous timing, known vs. unknown process count, and presence vs. absence of feedback. We establish, for the first time, fundamental limitations of randomized backoff in settings lacking a global clock or prior knowledge of system scale. Furthermore, we incorporate modern system requirements—including safety guarantees, QoS constraints, and energy efficiency—to derive protocol design principles that jointly optimize robustness and resource efficiency. Our results provide theoretical foundations and practical guidelines for safety-critical and low-power distributed systems.
📝 Abstract
Contention resolution addresses the challenge of coordinating access by multiple processes to a shared resource such as memory, disk storage, or a communication channel. Originally spurred by challenges in database systems and bus networks, contention resolution has endured as an important abstraction for resource sharing, despite decades of technological change. Here, we survey the literature on resolving worst-case contention, where the number of processes and the time at which each process may start seeking access to the resource is dictated by an adversary. We also highlight the evolution of contention resolution, where new concerns -- such as security, quality of service, and energy efficiency -- are motivated by modern systems. These efforts have yielded insights into the limits of randomized and deterministic approaches, as well as the impact of different model assumptions such as global clock synchronization, knowledge of the number of processors, feedback from access attempts, and attacks on the availability of the shared resource.