Abstract

In distributed systems, resource allocation consists in managing fair access to a large number of processes to a typically small number of reusable resources. When the number of available resources is greater than one, the efficiency in concurrent accesses becomes an important issue, as a crucial goal is to minimise the waiting times to utilise these resources. In this paper, we present a k-out-of-ℓ resources allocation solution in tree networks. The k-out-of-ℓ resources allocation problem is a generalisation of the well-known ℓ resources allocation problem-there are ℓ units of the shared resource, any process can request up to k units (1 ≤ k ≤ ℓ) and no resource unit can be allocated to more than one process simultaneously. The proposed solution is optimal in terms of waiting times of processes to enter critical sections (get the requested units of the shared resource), i.e., between two entries of a process to its critical section, no other process can enter its critical section more than once after stabilisation. Furthermore, every process's request is granted in at most O(n × h) rounds. Since our algorithm is stabilising, it does not require initialisation and withstands transient faults. The stabilisation time of the algorithm is 3 × h + 6 rounds and the waiting time is (n – 1), where h and n are the height and the size (number of processes) of the tree, respectively. In addition, this algorithm satisfies all the requirements of the k-out-of-ℓ resources allocation problem: safety, fairness and (k,ℓ)-liveness.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call