In this paper, we address the problem of K-out-of-L exclusion, a generalization of the mutual exclusion problem, in which there are $\ell$ units of a shared resource, and any process can request up to $\mathtt k$ units ($1\leq\mathtt k\leq\ell$). We propose the first deterministic self-stabilizing distributed K-out-of-L exclusion protocol in message-passing systems for asynchronous oriented tree networks which assumes bounded local memory for each process.
Deep Dive into Self-stabilizing K-out-of-L exclusion on tree network.
In this paper, we address the problem of K-out-of-L exclusion, a generalization of the mutual exclusion problem, in which there are $\ell$ units of a shared resource, and any process can request up to $\mathtt k$ units ($1\leq\mathtt k\leq\ell$). We propose the first deterministic self-stabilizing distributed K-out-of-L exclusion protocol in message-passing systems for asynchronous oriented tree networks which assumes bounded local memory for each process.
The basic problem in resource allocation is the management of shared resources, such as printers or shared variables. The use of such resources by an agent affects their availability for the other users. In the aforementioned cases, at most one agent can access the resource at any time, using a special section of code called a critical section. The associated protocols must guarantee the mutual exclusion property [13]: the critical section can be executed by at most one process at any time. The โ-exclusion property [6] is a generalization of mutual exclusion, where โ processes can execute the critical section simultaneously. Thus, in โ-exclusion, โ units of a same resource (e.g., a pool of IP addresses) can be allocated. This problem can be generalized still further by considering heterogeneous requests, e.g., bandwidth for audio or video streaming. The k-out-of-โ exclusion property [12] allows us to deal with such requests; requests may vary from 1 to k units of a given resource, where 1 โค k โค โ.
Contributions. In this paper, we propose a (deterministic) self-stabilizing distributed k-out-of-โ exclusion protocol for asynchronous oriented tree networks. A protocol is self-stabilizing [5] if, after transient faults hit the system and place it in some arbitrary global state, the systems recovers from this catastrophic situation without external (e.g. human) intervention in finite time. Our protocol is written in the message-passing model, and assumes bounded memory per process. To the best of our knowledge, there is no prior protocol of this type in the literature.
Obtaining a self-stabilizing solution for the k-out-of-โ exclusion problem in oriented trees is desirable, but also complex. Our main reason for dealing with oriented trees is that extension to general rooted networks is trivial; it consists of running the protocol concurrently with a spanning tree construction (for message passing systems), such as given in [1,4]. In the other hand, the complexity of the solution comes from the fact that the problem is a generalization of mutual exclusion. This is exacerbated by the difficulty of obtaining self-stabilizing solutions in message-passing system (the more realistic model), as underlined by the impossibility result of Gouda and Multari [7].
Designing protocols for such problems on realistic systems often leads to obfuscated solutions. A direct consequence is then the difficulty of checking, or analyzing the solution. To circumvent this problem, we propose, here, a step-by-step approach. We start from a “naive” non-operating circulation of โ resource tokens. Incrementally, we augment this solution with several other types of tokens until we obtain a correct non fault-tolerant solution. We then introduce an additional control mechanism that guarantees self-stabilization assuming unbounded local memory. Finally, we modify the protocol to accommodate bounded local memory.
We validate our approach by showing correctness and analyzing waiting time, a crucial parameter in resource allocation.
Related Work. Two kinds of protocols are widely used in the literature to solve the k-out-of-โ exclusion problem: permission-based protocols, and โ-token circulation. All non self-stabilizing solutions currently in the literature are permission-based. In a permission-based protocol, any process can access a resource after receiving permissions from all processes [12], or from the processes constituting its quorum [10,11]. There exist two self-stabilizing solutions for k-out-of-โ exclusion on the oriented rooted ring [2,3]. These solutions are based on circulation of โ tokens, where each token corresponds to a resource unit.
Outline. The remainder of the paper is organized as follows: In the next section, we define the model used in this paper. In Section 3, we present our self-stabilizing k-out-of-โ exclusion protocol. In Section 4, we provide the proof of correctness of our protocol, and we analyze its waiting time. Finally, we conclude in Section 5.
Distributed Systems. We consider asynchronous distributed systems having a finite number of processes. By asynchronous, we mean that there is no bound on message delay, clock drift, or process execution rate. Every process can directly communicate with a subset of processes called neighbors. We denote by โ p the number of neighbors of a process p. We consider the message-passing model where communication between neighboring processes is carried out by messages exchanged through bidirectional links, i.e., each link can be seen as two channels in opposite directions. The neighbor relation defines a network. We assume that the topology of the network is that of an oriented tree. Oriented means that there is a distinguished process called root (denoted r ) and that every non-root process knows which neighbor is its parent in the tree, i.e., the neighbor that is nearest to the root. We say that process q is a child of process p if and only if p is the parent of q.
A proc
…(Full text truncated)…
This content is AI-processed based on ArXiv data.