Self-stabilizing Philosophers with Generic Conflicts
Résumé
We generalize the classic dining philosophers problem to separate the conflict and communication neighbors of each process. Communication neighbors may directly exchange information while conflict neighbors compete for the access to the exclusive critical section of code. This generalization is motivated by a number of practical problems in distributed systems including problems in wireless sensor networks. We present a self-stabilizing deterministic algorithm—GDP that solves this generalized problem. Our algorithm is terminating. We formally prove GDP correct and evaluate its performance. We extend the algorithm to handle a similarly generalized drinking philosophers and the committee coordination problem. We describe how GDP can be implemented in wireless sensor networks and demonstrate that this implementation does not jeopardize its correctness or termination properties.