Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Sahil Dhoked

dblp:267/5548 · DBLP profile ↗
← Back
6ranked-venue papers
5as first author
5since 2021 · last 2025
0000-0003-2893-377XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 3 · 2 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
3 papers
Distributed computing theory · 100%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Distributed systems · 100%
Software engineering, system software, and programming languages
2 papers
Concurrent programming · 100%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed computing theory
mutual exclusion
1.832025
Adaptive and Fair Transformation for Recoverable Mutual Exclusion · J. ACM 2025
On group mutual exclusion for dynamic systems · PPoPP 2021
An Adaptive Approach to Recoverable Mutual Exclusion · PODC 2020
Concurrent programming
synchronization
1.422025
Adaptive and Fair Transformation for Recoverable Mutual Exclusion · J. ACM 2025
On group mutual exclusion for dynamic systems · PPoPP 2021
Distributed computing theory › mutual exclusion
recoverable mutual exclusion
1.322025
Adaptive and Fair Transformation for Recoverable Mutual Exclusion · J. ACM 2025
An Adaptive Approach to Recoverable Mutual Exclusion · PODC 2020
Distributed systems
fault tolerance
1.022025
Adaptive and Fair Transformation for Recoverable Mutual Exclusion · J. ACM 2025
An Adaptive Approach to Recoverable Mutual Exclusion · PODC 2020
Distributed systems › fault tolerance
failure recovery
0.912025
Adaptive and Fair Transformation for Recoverable Mutual Exclusion · J. ACM 2025
Concurrent programming › synchronization › mutual exclusion
group mutual exclusion
0.512021
On group mutual exclusion for dynamic systems · PPoPP 2021
Distributed computing theory › mutual exclusion
group mutual exclusion
0.512021
On group mutual exclusion for dynamic systems · PPoPP 2021
Distributed systems › fault tolerance › failure models
process failure
0.112020
An Adaptive Approach to Recoverable Mutual Exclusion · PODC 2020

Methods — techniques the papers use, named apart from their topics

memory reclamation · 2.6fetch-and-store · 2.6compare-and-swap · 2.6distributed algorithm design · 1.0adaptive algorithm · 0.9
YearPublicationVenuePosition
2025 Adaptive and Fair Transformation for Recoverable Mutual Exclusion
abstract
Mutual exclusion is one of the most commonly used techniques to handle contention in concurrent systems. Traditionally, mutual exclusion algorithms have been designed under the assumption that a process does not fail while acquiring/releasing a lock or while executing its critical section. However, failures do occur in real life, potentially leaving the lock in an inconsistent state. This gives rise to the problem of recoverable mutual exclusion (RME) , which involves designing a mutual exclusion (ME) algorithm that can tolerate failures while maintaining required safety and liveness properties. In this work, we present a framework that transforms any algorithm that solves the RME problem into an algorithm that can also simultaneously adapt to (i) the number of processes concurrently competing for the lock, as well as (ii) the number of unresolved failures in the system, while maintaining the correctness properties and performance characteristics of the underlying RME algorithm. Additionally, the algorithm constructed as a result of this transformation adds certain desirable properties such as bounded recovery and fairness. One of the important performance measures of any ME algorithm, including an RME algorithm, is the number of remote memory references (RMRs) made by a process—to acquire and release a lock, as well as to recover the lock structure after a failure. Let R(n) denote the RMR complexity of a critical section request in the underlying RME algorithm, where n denotes the number of processes in the system. Then, our framework yields an RME algorithm for which the RMR complexity of a critical section request is given by \(\mathcal {O}(\min \lbrace \ddot{c},\sqrt {F+1},\ R(n) \rbrace)\) , where \(\ddot{c}\) denotes the point contention of the request and F denotes the failure-density of the request. We further extend our framework by presenting a novel memory reclamation algorithm to bound the space complexity of the RME algorithm. Our memory reclamation algorithm maintains the correctness, performance, and fairness properties of our transformation. Our approach is general enough that it may also be used to bound the space complexity of other RME algorithms. In addition to read and write instructions, our algorithm uses compare-and-swap ( CAS ) and fetch-and-store ( FAS ) hardware instructions, both of which are commonly available in most modern processors.
Sahil Dhoked, Neeraj Mittal
J. ACM1
2024 RMR-Efficient Detectable Objects for Persistent Memory and Their Applications
Sahil Dhoked, Ahmed Fahmy, Wojciech M. Golab, Neeraj Mittal
OPODIS1
2023 Brief Announcement: On Solving Recoverable Mutual Exclusion Under System-Wide Failures
abstract
Recoverable mutual exclusion (RME) is a fault-tolerant variation of Dijkstra's classic mutual exclusion (ME) problem that allows processes to fail by crashing as long as they recover eventually. A growing body of literature on this topic, starting with the problem formulation by Golab and Ramaraju (PODC'16), examines the cost of solving the RME problem, which is quantified by counting expensive shared memory operations called remote memory references (RMRs), under a variety of conditions. Published results show that the RMR complexity of RME algorithms, among other factors, depends crucially on the failure model used: individual process versus system-wide. Recent work by Golab and Hendler (PODC'18) also suggests that explicit failure detection can be helpful in attaining constant RMR solutions to the RME problem in the system-wide failure model. Follow-up work by Jayanti et al. (SPAA'23) shows that such a solution exists even without employing a failure detector, albeit this solution uses a more complex algorithmic approach.
Sahil Dhoked, Wojciech M. Golab, Neeraj Mittal
SPAA1
2023 Modular Recoverable Mutual Exclusion Under System-Wide Failures
abstract
Recoverable mutual exclusion (RME) is a fault-tolerant variation of Dijkstra’s classic mutual exclusion (ME) problem that allows processes to fail by crashing as long as they recover eventually. A growing body of literature on this topic, starting with the problem formulation by Golab and Ramaraju (PODC'16), examines the cost of solving the RME problem, which is quantified by counting the expensive shared memory operations called remote memory references (RMRs), under a variety of conditions. Published results show that the RMR complexity of RME algorithms, among other factors, depends crucially on the failure model used: individual process versus system-wide. Recent work by Golab and Hendler (PODC'18) also suggests that explicit failure detection can be helpful in attaining constant RMR solutions to the RME problem in the system-wide failure model. Follow-up work by Jayanti, Jayanti, and Joshi (SPAA'23) shows that such a solution exists even without employing a failure detector, albeit this solution uses a more complex algorithmic approach. In this work, we dive deeper into the study of RMR-optimal RME algorithms for the system-wide failure model, and present contributions along multiple directions. First, we introduce the notion of withdrawing from a lock acquisition rather than resetting the lock. We use this notion to design a withdrawable RME algorithm with optimal O(1) RMR complexity for both cache-coherent (CC) and distributed shared memory (DSM) models in a modular way without using an explicit failure detector. In some sense, our technique marries the simplicity of Golab and Hendler’s algorithm with Jayanti, Jayanti and Joshi’s weaker system model. Second, we present a variation of our algorithm that supports fully dynamic process participation (i.e., both joining and leaving) in the CC model, while maintaining its constant RMR complexity. We show experimentally that our algorithm is substantially faster than Jayanti, Jayanti, and Joshi’s algorithm despite having stronger correctness properties. Finally, we establish an impossibility result for fully dynamic RME algorithms with bounded RMR complexity in the DSM model that are adaptive with respect to space, and provide a wait-free withdraw section.
Sahil Dhoked, Wojciech M. Golab, Neeraj Mittal
DISC1
2021 On group mutual exclusion for dynamic systems
abstract
The group mutual exclusion (GME) problem is a generalization of the classical mutual exclusion problem in which every critical section is associated with a type or session. Critical sections belonging to the same session can execute concurrently, whereas critical sections belonging to different sessions must be executed serially. The well-known read-write mutual exclusion problem is a special case of the group mutual exclusion problem.
Shreyas Gokhale, Sahil Dhoked, Neeraj Mittal
PPoPP2
2020 An Adaptive Approach to Recoverable Mutual Exclusion
abstract
Mutual exclusion (ME) is one of the most commonly used techniques to handle conflicts in concurrent systems. Traditionally, mutual exclusion algorithms have been designed under the assumption that a process does not fail while acquiring/releasing a lock or while executing its critical section. However, failures do occur in real life, potentially leaving the lock in an inconsistent state. This gives rise to the problem of recoverable mutual exclusion (RME) that involves designing a mutual exclusion algorithm that can tolerate failures, while maintaining safety and liveness properties.
Sahil Dhoked, Neeraj Mittal
PODC1