A Permission-Based Distributed Mutual Exclusion Algorithm allowing Quality of Service (PBDMEAQoS) - E. D. Ngounou Ntoukam (EAI Endorsed Transactions on Cloud Systems, 2017)
The main purpose of mutual exclusion in a distributed environment is to control access to a shared resource. Large-scale distributed systems such as clouds or grids provide shared informatics resources to its clients. In this type of environment, Service Level Agreement (SLA) allows for the definition of a type of quality of service (QoS) between a resource provider and a client. This means that some constraints like priority, response time or reliability must be taken into consideration to maintain a good QoS. Permission-based algorithms are costly in messages, not easily extensible and naturally more robust, pertaining to failures when compared to token algorithms. In this paper, we propose two mutual exclusion algorithms,integrating priority and time constraints for each request, via deadline and execution time in the critical section, with the aim of ensuring a proper service quality. The proposed algorithms are based on a logical structure of nodes in complete binary trees. The algorithms named PBDMEAQoSα and PBDMEAQoSβ are SLA (Service Level Agreement) based. Theyintegrate priority dynamics, which cumulates with the age of a request. PBDMEAQoSα requires 3log2N messages per access to critical section and a synchronization delay of 2log2N for a set of N nodes competing for the critical resource. PBDMEAQoSβ requires 2log2N messages per access to critical section and a synchronization delay of log2N.