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

Pankaj Khanchandani

dblp:162/3686 · DBLP profile ↗
← Back
12ranked-venue papers
11as first author
3since 2021 · last 2021
—ORCID · none

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

Systems, architecture and hardware · 7 · 7 first-author · 2 since 2021Artificial intelligence and machine learning · 1 · 1 first-author · 1 since 2021Security and privacy · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1Theory of computation · 1 · 1 first-author

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.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 100%
Theoretical computer science
2 papers
Distributed computing theory · 100%
Databases, data mining, and information retrieval
1 paper
Distributed and cloud data management · 77% Query processing and optimization · 23%

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

TopicWeightPapersLastEvidence papers
Distributed systems › consensus
byzantine agreement
0.412020
Brief Announcement: Byzantine Agreement with Unknown Participants and Failures · PODC 2020
Distributed systems
consensus
0.412020
Brief Announcement: Byzantine Agreement with Unknown Participants and Failures · PODC 2020
Distributed computing theory
shared memory
0.312017
Brief Announcement: Fast Shared Counting using (O(n)) Compare-and-Swap Registers · PODC 2017
Distributed and cloud data management
data partitioning
0.212015
On the Surprising Difficulty of Simple Things: the Case of Radix Partitioning · Proc. VLDB Endow. 2015
Distributed computing theory › fault tolerance
byzantine fault tolerance
0.112020
Brief Announcement: Byzantine Agreement with Unknown Participants and Failures · PODC 2020
Distributed computing theory
fault tolerance
0.112020
Brief Announcement: Byzantine Agreement with Unknown Participants and Failures · PODC 2020
Distributed computing theory › shared memory consistency
linearizability
0.112017
Brief Announcement: Fast Shared Counting using (O(n)) Compare-and-Swap Registers · PODC 2017
Query processing and optimization
sorting
0.112015
On the Surprising Difficulty of Simple Things: the Case of Radix Partitioning · Proc. VLDB Endow. 2015

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

rotor-coordinator · 0.9compare-and-swap · 0.3
YearPublicationVenuePosition
2021 On Consensus Number 1 Objects
abstract
The consensus number concept is used to determine the power of synchronization primitives in distributed systems. Recent work in the blockchain domain motivates shifting the attention to consensus number 1 objects, as it has been shown that transaction-based blockchains just need consensus number 1. In this paper we want to get a better understanding of such consensus number 1 objects. In particular, we study the necessary and sufficient conditions for determining the consensus number 1 objects. If an object has consensus number 1, then its operations must be either commutative or associative (necessary condition). On the other hand, if the operations are consistently commutative or overwriting, i.e., independent of the current state of the object, then the consensus number of the object is 1 (sufficient condition). We give an algorithm to implement such generic consensus number 1 objects using only read/write registers. This implies that read/write registers are universal enough to solve tasks, such as asset transfer of a cryptocurrency, among many others, in wait-free distributed systems for any number of processes.
Pankaj Khanchandani, Jan Schäppi, Kanye Ye Wang, Roger Wattenhofer
ICPADS1
2021 Learning Algorithms with Self-Play: A New Approach to the Distributed Directory Problem
abstract
Many deep learning methods have been proposed recently to learn algorithms for combinatorial problems. However, most approaches focus on either supervised/imitation learning (the target algorithm is known) or single agent reinforcement learning (the input distribution is fixed). In some cases, however, the input distribution scales combinatorially as well and cannot easily be fully represented in a concise data set. In this paper, we propose a self-play approach to learn a distributed directory protocol to coordinate concurrent requests to a shared mobile resource among a network of nodes. The self-play is between two agents – a request agent, which finds worst case request inputs – and a route agent, which finds an algorithm that works well on the proposed worst case inputs (and consequently, works well on most queries). We show that our self-play approach is successful in learning an algorithm that works well across diverse request sequences. The empirical performance of the learnt algorithms is within the best known theoretical bounds, and sometimes significantly better than the best known upper bounds.
Pankaj Khanchandani, Oliver Richter, Lukas Rusch, Roger Wattenhofer
ICTAI1
2021 Byzantine Agreement with Unknown Participants and Failures
abstract
A set of mutually distrusting participants that want to agree on a common opinion must solve an instance of a Byzantine agreement problem. These problems have been extensively studied in the literature. However, most of the existing solutions assume that the participants are aware of n — the total number of participants in the system — and f — an upper bound on the number of Byzantine participants. In this paper, we show that most of the fundamental agreement problems can be solved without affecting resiliency even if the participants do not know the values of(possibly changing) n and f. Specifically, we consider a synchronous system where the participants have unique but not necessarily consecutive identifiers, and give Byzantine agreement algorithms for reliable broadcast, approximate agreement, rotor-coordinator, early terminating consensus and total ordering in static and dynamic systems, all with the optimal resiliency of n>3f. Moreover, we show that some synchrony is necessary as an agreement with probabilistic termination is impossible in a semi-synchronous or asynchronous system if the participants are unaware of n and f.
Pankaj Khanchandani, Roger Wattenhofer
IPDPS1
2020 Brief Announcement: Byzantine Agreement with Unknown Participants and Failures
abstract
A set of participants that want to agree on a common opinion despite the presence of malicious or Byzantine participants need to solve an instance of a Byzantine agreement problem. This classic problem has been well studied but most of the existing solutions assume that the participants are aware of n --- the total number of participants in the system --- and f --- the upper bound on the number of Byzantine participants. In this paper, we examine a synchronous system with Byzantine faults where the participants are neither aware of n nor f. The participants have unique identifiers, which are not necessarily consecutive. For such a system, we give algorithms for rotor-coordinator and consensus, both with the resiliency of n > 3f, which is also the optimal resiliency for solving consensus when the participants know n and f. Thus, resiliency is unaffected even if the Byzantine participants can lie about n and f.
Pankaj Khanchandani, Roger Wattenhofer
PODC1
2020 Two Elementary Instructions make Compare-and-Swap
Pankaj Khanchandani, Roger Wattenhofer
J. Parallel Distributed Comput.1
2019 Two Elementary Instructions Make Compare-and-Swap
abstract
The consensus number of an object is the maximum number of processes among which binary consensus can be solved using any number of instances of the object and read-write registers. Herlihy [1] showed in his seminal work that if an object has a consensus number of n, then its instances can be used to implement any non-trivial object or data structure that is shared among n processes, so that the implementation is wait-free and linearizable. Thus, an object such as compare-and-set with an infinite consensus number is “advanced” because its instances can be used to implement any non-trivial concurrent object shared among any number of processes. On the other hand, objects such as fetch-and-add or fetch-and-multiply have a consensus number of two and are “elementary”. An important consequence of Herlihy's result was that any number of reasonable elementary objects are provably insufficient to implement an advanced object like compare-and-set. However, Ellen et al. [2] observed recently that real multiprocessors do not compute using objects but using instructions that are applied on memory locations. Using this observation, they show that it is possible to use a couple of elementary instructions on the same memory location to implement an advanced one, and consequently any non-trivial object or data structure. However, the above result is only a possibility and uses a generic universal construction as a black-box, which is not how we implement objects in practice, as the generic construction is quite inefficient with respect to the number of steps taken by a process and the number of shared objects used in the worst case. Instead, the efficient implementations are built upon the widely supported compare-and-set instruction and one cannot conclude from the previous result whether the elementary instructions can also produce equally efficient implementations like compare-and-set does or they are fundamentally limited in this respect. In this paper, we answer this question by giving a wait-free and linearizable implementation of compare-and-set using just two elementary instructions, half-max and max-write. The implementation takes O(1) steps per process and uses O(1) shared objects per process. Thus, any known or unknown compare-and-set based implementation can also be done using only two elementary instructions without any loss in efficiency. An interesting aspect of these elementary instructions is that depending on the underlying system, their throughput in a highly concurrent setting is larger than that of the compare-and-set instructions by a factor proportional to n.
Pankaj Khanchandani, Roger Wattenhofer
IPDPS1
2019 The Arvy Distributed Directory Protocol
abstract
In this paper we consider the problem of designing a distributed directory service. The two classic directory service protocols are Arrow and Ivy. Arrow performs well if the network is a tree, while Ivy performs well on complete graphs. However, there are graphs for which both Arrow and Ivy yield poor performance. In this paper, we propose a new distributed directory protocol, Arvy. Arvy is a natural extension of both Arrow and Ivy, generalizing both, while keeping their simplicity and strengths. Our main contribution is to prove Arvy's correctness, in asynchronous networks with concurrent requests, for arbitrary topologies. Regarding performance, we show that Arvy achieves constant competitive ratio on rings using constant space per node.
Pankaj Khanchandani, Roger Wattenhofer
SPAA1
2019 Self-Stabilizing Byzantine Clock Synchronization with Optimal Precision
abstract
In the Byzantine-tolerant clock synchronization problem, the goal is to synchronize the clocks of n fully connected nodes. The clocks run at rates between 1 and 𝜗 > 1, and messages have a delay (including computation) between d − U and d . Moreover, up to f < n /3 of the nodes can fail by deviating arbitrarily from the protocol, i.e., are Byzantine. Despite this interference, correct nodes need to generate distinguished events (or pulses ) almost simultaneously and periodically. The quality of the solution is measured by the skew , which is the maximum real time difference between corresponding pulses. In the self-stabilizing setting, in addition we allow for transient failures, possibly of all nodes. Once transient faults have ceased and at most f nodes remain faulty, the system should start generating synchronized pulses again. We design a self-stabilizing solution to this problem with asymptotically optimal skew. We achieve our goal by refining and extending the protocol of Lynch and Welch and make the following contributions in the process. We give a simple analysis of the Lynch and Welch protocol with improved bounds on skew and tolerable difference in clock rates by rebuilding upon the main ingredient of their protocol, called approximate agreement . We give a modified version of the protocol so that the frequency and amount of communication between the nodes is reduced. The modification adds a step to adjust the clock rates by another application of approximate agreement. The skew bound achieved is asymptotically optimal for suitable choices of parameters. We present a method to add self-stabilization to the above protocols while preserving their skew bounds. The heart of the method is a coupling scheme that leverages a self-stabilizing protocol with a larger skew.
Pankaj Khanchandani, Christoph Lenzen 0001
Theory Comput. Syst.1
2017 Brief Announcement: Fast Shared Counting using (O(n)) Compare-and-Swap Registers
abstract
We consider the problem of building a wait-free and linearizable counter using shared registers. The counter supports a read operation, which returns the value of the counter, and an increment operation, which increments the value of the counter and returns nothing. The shared registers support read, write and compare-and-swap instructions. We show that given (n) processes and (O(n)) shared registers, the increment operation is in (O(log n)) and read operation is in (O(1)).
Pankaj Khanchandani, Roger Wattenhofer
PODC1
2016 Distributed Stable Matching with Similar Preference Lists
abstract
Consider a complete bipartite graph of 2n nodes with n nodes on each side. In a round, each node can either send at most one message to a neighbor or receive at most one message from a neighbor. Each node has a preference list that ranks all its neighbors in a strict order from 1 to n. We introduce a non-negative similarity parameter D < n for the preference lists of nodes on one side only. For D = 0, these preference lists are same and for D = n-1, they can be completely arbitrary. There is no restriction on the preference lists of the other side. We show that each node can compute its partner in a stable matching by receiving O(n(D + 1)) messages of size O(log n) each. We also show that this is optimal (up to a logarithmic factor) if D is constant.
Pankaj Khanchandani, Roger Wattenhofer
OPODIS1
2016 Self-stabilizing Byzantine Clock Synchronization with Optimal Precision
Pankaj Khanchandani, Christoph Lenzen 0001
SSS1
2015 On the Surprising Difficulty of Simple Things: the Case of Radix Partitioning
abstract
Partitioning a dataset into ranges is a task that is common in various applications such as sorting [1,6,7,8,9] and hashing [3] which are in turn building blocks for almost any type of query processing. Especially radix-based partitioning is very popular due to its simplicity and high performance over comparison-based versions [6].
Felix Martin Schuhknecht, Pankaj Khanchandani, Jens Dittrich
Proc. VLDB Endow.2