Abstract
Many different fairness notions are available in literature. One should choose the proper definition that match with the system under consideration. In this paper we consider two known fairness definitions, viz., weak fairness and strong fairness. It is argued that these concepts are suitable for determining the degree of fairness of a given system. For only starvation freedom we require a minimum degree of fairness which we call least fairness. This idea is illustrated using two practical examples. Conspiracy is another very important issue in concurrent system. We have defined conspiracy in connection with all the fairness notions. Conspiracy resistant implementation is illustrated using a starvation free solution to dining philosophers problem. Dijkstra's weakest precondition calculus is used as the analytical tool.
- Apt, K. R., Francez, N. and Katz, S. (1988): Appraising fairness in languages for distributed programming. Distributed Computing, vol. 2, pp 226--241.Google ScholarDigital Library
- Joung, Y. J. (2001): On fairness notions in distributed systems: A characterization of implementability. Information and Computation, vol. 166, pp 1--34. Google ScholarDigital Library
- Owicki, S. S., Lamport, L. (1982): Proving liveness properties of concurrent programs. ACM-TOPLAS, vol. 4, pp 455--495. Google ScholarDigital Library
- Attie, P.C., Francez, N. and Grumberg, O. (1993): Fairness and hyperfairness in multi-party interactions. Distributed Computing, vol. 6, pp 245--254. Google ScholarDigital Library
- Lamport, Leslie (2000): Fairness and hyperfairness., Distributed Computing, vol. 13, pp 239--245. Google ScholarDigital Library
- Bandyopadhyay, A. K. and Bandyopadhyay, J. (2000): On the derivation of a correct deadlock free communication kernel for loop connected message passing architecture from its user's specification. ELSVIER Journal of System Architecture, vol. 46, pp. 1257--1261. Google ScholarDigital Library
- Dijkstra, E.W. (1971): Hierarchical ordering of sequential processes. Acta Informatica, vol. 1, pp 115--138.Google ScholarDigital Library
- Banerjee, Jayasri, Bandyopadhyay, Anup Kumar and Mandal, Ajit Kumar (2007): Application of Dijkstra's Weakest Precondition Calculus to Dining Philosophers Problem. ACM SIGSOFT Software Engineering Notes, Vol. 32, July 2007. Google ScholarDigital Library
- Best, E. (1984): Fairness and conspiracies, Information Processing Letters, vol.18, pp 215--220. Google ScholarDigital Library
- Völzer, Hagen (2005): On Conspiracies and Hyperfairness in Distributed Computing, P. Fraigniaud (Ed.): DISC 2005, LNCS 3724, pp. 33--47. Google ScholarDigital Library
- Dijkstra, E. W. (1976): A discipline of programming, Englewood Cliffs, NJ: Prentice-Hall, 1976. Google ScholarDigital Library
- Schneider, F. B. (1997): On Concurrent Programming. Springer Verlag, N. Y., Inc. Google ScholarDigital Library
- Bandyopadhyay, Anup Kumar (2007): Modeling Fairness and Starvation in Concurrent Systems. ACM SIGSOFT Software Engineering Notes, Volume 32, November 2007. Google ScholarDigital Library
- Banerjee, Jayasri, Bandyopadhyay, Anup Kumar and Mandal, Ajit Kumar (2007): Some Investigations on Deadlock Freedom Issues of a Cyclically Connected System Using Dijkstra's Weakest Precondition Calculus", ACM SIGPLAN Notices, Vol. 42, pp 10--15. Google ScholarDigital Library
- Peterson, Gary L. (1981): Myths about the mutual exclusion problem. Information Processing Letters, vol. 12, No. 3, pp 115--116.Google ScholarCross Ref
- Banerjee, Jayasri, Bandyopadhyay, Anup Kumar and Mandal, Ajit Kumar (2007): On the Correctness Issues in Two - Process Mutual Exclusion Algorithms. ACM SIGSOFT Software Engineering Notes, Nov. 2007. Google ScholarDigital Library
Comments