|COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring.|
Towards Practical Randomization in Concurrent Data Structures
If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.
This event may be recorded and made available internally or externally via http://research.microsoft.com. Microsoft will own the copyright of any recordings made. If you do not wish to have your image/voice recorded please consider this before attending
Given the widespread adoption of multi-core processor architectures, one of the biggest challenges in distributed computing is designing fast, highly concurrent implementations of common data structures such as counters, stacks, pools, or queues. In this talk, we examine these data structures through the lens of a classical distributed problem called renaming, in which a set of concurrent processes need to pick unique names from a namespace of limited size.
Our first result is that renaming deterministically is expensive, as it requires linear shared-access time in the worst case. The lower bound exploits a new connection between sorting networks, renaming, and the mutual exclusion problem. Importantly, this result can be extended to yield new linear lower bounds on deterministic implementations of practical objects such as stacks, queues, and fetch-and-increment counters, showing that implementing these data structures deterministically is also inherently expensive. On the other hand, we prove that this worst-case cost can be circumvented using randomization. We present a new randomized renaming algorithm that assigns names in logarithmic time, with high probability, ensuring a namespace of optimal size. Our algorithm is asymptotically time-optimal, and can be extended to obtain counters and fetch-and-increment registers in polylogarithmic time.
Together, these results suggest that, while obtaining fast deterministic implementations of these data structures may be impossible, randomization can be a very powerful tool when designing concurrent data structures, whose potential is yet to be exploited in full.
This talk is part of the Microsoft Research Cambridge, public talks series.
This talk is included in these lists:
Note that ex-directory lists are not shown.
Other listsPathways to Manufacturing Quantum Matter Journal Club Type the title of a new list here
Other talksTwistor analysis of a parabola Innate Immunity: The first line of defence Nonabelian Poincare Duality What I saw last winter Whipple Museum of the History of Science - Private tour Biomedical Engineering: problem solving using clinical and biomedical applications