Abstract
Which service discipline is more fair, exhaustive or gated? gated or globally-gated? How can we compare their fairness level? These questions are usually answered by handwaving as no fundamental research in this topic was yet conducted. Polling systems are widely used in many computer networks where several users compete for access to a common resource. Fairness is a fundamental aspect of polling systems; perhaps it serves as the motivation behind various polling schemes. Despite this fundamental role, fairness to customers in polling systems has not been extensively studied to date. This work is an attempt to model fairness in polling systems and study the relative fairness of various polling schemes. We focus, in the context of this work, on evaluating the system’s obedience to the FCFS policy as a measure of the fairness experienced by the individual customers. Using this metric we study the cyclic polling system under five different service disciplines: exhaustive, gated, binomial-gated, two-stage gated and globally-gated. For these systems we derive their “fairness” level both in a discrete system model and in a continuous model. We use the analysis as well as numerical examples to provide basic observations on fairness of polling systems.
Similar content being viewed by others
Notes
An exception is the variant of the binomial-gated method considered. While in each queue the customers are examined for service according to the FCFS policy, the customers set to be served are not necessarily the ones that arrived first at the system.
The ROS and LIFO variants discussed are preemptive versions.
References
Adan, I. J. B. F., Boxma, O. J., Kapodistria, S., & Kulkarni, V. G. (2013). The shorter queue polling model. Annals of Operations Research, 1–34.
Altman, E., Khamisy, A., & Yechiali, U. (1992). On elevator polling with globally gated regime. Queueing Systems: Theory and Applications, 11(1–2), 85–90.
Avi-Itzhak, B., & Levy, H. (2004). On measuring fairness in queues. Advances in Applied Probability, 36, 919–936.
Avi-Itzhak, B., Brosh, E., & Levy, H. (2007). SQF: A slowdown queueing fairness measure. Performance Evaluation, 64(9–12), 1121–1136.
Avi-Itzhak, B., Levy, H., & Raz, D. (2008). Quantifying fairness in queuing systems: Principles, approaches, and applicability. Probability in the Engineering and Informational Sciences, 22(4), 495–517.
Boon, M. A. A., van der Mei, R. D., & Winands, E. M. M. (2011). Applications of polling systems. Surveys in Operations Research and Management Science, 16, 67–82.
Boxma, O., Levy, H., & Yechiali, U. (1992). Cyclic reservation schemes for efficient operation of multiple-queue single-server systems. Annals of Operations Research, 35(3), 187–208.
Boxma, O., Van Der Wal, J., & Yechiali, U. (2008a). Polling with batch service. Stochastic Models, 24(4), 604–625.
Boxma, O. J., van Wijk, A. C. C., & Adan, I. J. B. F. (2008b). Polling systems with a gated/exhaustive discipline. In Proceedings of the 3rd International Conference on Performance Evaluation Methodologies and Tools, ValueTools ’08 (pp. 41:1–41:9).
Browne, S., & Yechiali, U. (1989a). Dynamic priority rules for cyclic-type queues. Advances in Applied Probability, 21(2), 432–450.
Browne, S., & Yechiali, U. (1989b). Dynamic routing in polling systems. In M. Bonatti (Ed.), Teletraffic science for new cost-effective systems, networks, and services (pp. 1455–1466). Amsterdam: North-Holland.
Cooper, R. B. (1970). Queues served in cyclic order: Waiting times. Bell System Technical Journal, 49(6), 399–413.
Eisenberg, M. (1972). Queues with periodic service and changeover time. Operations Research, 20(2), 440–451.
Eliazar, I. (2003). The snowblower problem. Queueing Systems: Theory and Applications, 45(4), 357–380.
Gordon, E. S. (1987). New problems in queues-social injustice and server production management. Massachusetts Institute of Technology, Department of Nuclear Engineering.
Kingman, J. F. C. (1962). The effect of queue discipline on waiting time variance. In Proceedings of the Cambridge Philosophical Society (vol. 58, No. 13, pp. 163–164).
Knuth, D. E. (1998). The art of computer programming, volume 3: (2nd ed.) sorting and searching. Redwood City, CA: Addison Wesley Longman Publishing Co., Inc.
Larson, R. C. (1987). Perspectives on queues: Social justice and the psychology of queueing. Operations Research, 35(6), 895–905.
Levy, H. (1991). Binomial-gated service: A method for effective operation and optimization of polling systems. IEEE Transactions on Communications, 39(9), 1341–1350.
Levy, H., & Sidi, M. (1990). Polling systems: Applications, modeling, and optimization. IEEE Transactions on Communications, 38(10), 1750–1760.
Martin, A. P. (1983). Think proactive: New insights into decision making. New York: Professional Development Institute.
Park, C. G., Han, D. H., Lee, Y., & Kim, B. (2005a). Delay analysis of gated polling algorithm for DBA scheme in an EPON. In Proceedings of the 9th WSEAS International Conference on Computers pp. 106:1–106:6. World Scientific and Engineering Academy and Society (WSEAS).
Park, C., Han, D., & Rim, K. (2005b). Packet delay analysis of symmetric gated polling system for DBA scheme in an EPON. Telecommunication Systems, 30(1), 13–34.
Perel, N., & Yechiali, U. (2012). The Israeli Queue with finite and infinite number of families. Department of Statistics and Operations Research, Tel Aviv University.
Rafaeli, A., Barron, G., & Haber, K. (2002). The effects of queue structure on attitudes. Journal of Service Research, 5(2), 125–139.
Raz, D., Levy, H., & Avi-Itzhak, B. (2004). A resource-allocation queueing fairness measure. SIGMETRICS Performance Evaluation Review, 32(1), 130–141.
Sandmann, W. (2005). A discrimination frequency based queueing fairness measure with regard to job seniority and service requirement. In Next generation internet networks (pp. 106–113). doi:10.1109/NGI.2005.1431654.
Shapira, G., & Levy, H. (2015). Fairness in polling systems. Technical Report, http://www.researchgate.net.
Shoham, R., & Yechiali, U. (1992). Elevator-type polling systems. SIGMETRICS Performance Evaluation Review, 20(1), 125–139.
Sidi, M., Levy, H., & Fuhrmann, S. W. (1992). A queueing network with a single cyclically roving server. Queueing Systems: Theory and Applications, 11(1–2), 121–144.
Takagi, H. (1986). Analysis of polling systems. Cambridge: MIT Press.
Takagi, H. (1991). Queueing analysis: A foundation of performance evaluation, Vol. 1: Vacation and priority systems. Amsterdam: Elsevier Science Ltd.
Van Der Mei, R. D., & Resing, J. A. C. (2007). Polling models with two-stage gated service: Fairness versus efficiency. In Proceedings of the 20th International Teletraffic Conference on Managing Traffic Performance in Converged Networks (pp. 544–555).
Van Der Wal, J., & Yechiali, U. (2003). Dynamic visit-order rules for batch-service polling. Probability in the Engineering and Informational Sciences, 17(3), 351–367.
Van der Wal, J., & Yechiali, U. (2007). Polling with gated batch service. In Proceedings of the Sixth International Conference on Analysis of Manufacturing Systems (pp. 105–159). Lunteren, The Netherlands.
Van Wijk, A. C. C., Adan, I. J. B. F., Boxma, O. J., & Wierman, A. (2012). Fairness and efficiency for polling models with the k-gated service discipline. Performance Evaluation, 69(6), 274–288.
Yechiali, U. (1991). Optimal dynamic control of polling systems. In Queueing, performance and control in ATM: Proceedings of the 13th International Teletraffic Congress, Copenhagen, Denmark (pp. 205–217).
Yechiali, U. (1993). Analysis and control of polling systems. Performance Evaluation of Computer and Communication Systems, 729, 630–650.
Author information
Authors and Affiliations
Corresponding author
Additional information
Dedicated by H. Levy to Prof. Benjamin Avi-Itzhak, with many thanks for the endless hours of jointly toying with queue fairness.
Appendices
Appendix 1: Calculation of \(E[X_i^*| \text{ service } \text{ period } j ]\) and \(E[X_i^*| \text{ switch-over } \hbox {period} j]\) for gated discipline
The first and the second moments of the number of customers residing at the queues when queue i is polled, defined by Eqs. (2) and (3), were derived in Takagi (1986).
First, we derive \(E[X_i^*| \text{ service } \text{ period } j ]\). To obtain \(E[A_{i/j}^*]\) we observe that \(A_{i/j}^*\) is the number of Poisson arrivals in a period whose duration is distributed as the residual life of the service period \(S_j\). Thus, similarly to Eq. (15), \(E[A_{i/j}^*]\) is given by:
The expected service period is derived from the number of customers waiting at the polling instant and the average service time for a single customer:
To derive the second moment of \(S_j\) we use \(V[S_j]\) from Takagi (1986):
Therefore,
The derivation of \(E[L_{i/j}^*]\) is similar to that of the Exhaustive service discipline, and we obtain the same formulas as in Eqs. (21) and (24):
By substituting Eqs. (83) and (84) in Eq. (11) we get:
We derive \(E[X_i^*| \text{ switch-over } \text{ period } j]\) similarly. For \(i=j\) we observe that it consists of the sum of the number of Poisson arrivals in a period whose duration is distributed as the service period \(S_j\), and the number of Poisson arrivals in a period whose duration is distributed as the residual life of the switch-over period \(R_j\). Thus, we get:
For \(i \ne j\), \(E[X_i^*| \text{ switch-over } \text{ period } j]\) additionally includes the customers that were waiting at queue j at the instant it was polled. Thus, we get:
Thus, from Eqs. (86), (87) and (81) we get:
Appendix 2: Notations and basic relations
- \(\tilde{C}\) :
-
An arbitrary customer arriving at the system.
- \(\tilde{C}_i\) :
-
An arbitrary customer arriving at queue i.
- N :
-
Number of queues in the system.
- \(\lambda _i\) :
-
Intensity of the Poisson arrival to queue i.
- \(\lambda \) :
-
System arrival rate; \(\lambda =\sum _{i=1}^{N}{\lambda _i}\).
- \(B_i\) :
-
Service time of a customer at queue i.
- \(b_i\), \(b_i^{(2)}\) :
-
Mean and second moment of \(B_i\).
- \(S_i\) :
-
Duration of the service period in queue i.
- \(R_i\) :
-
Duration of switch-over period from queue i.
- \(r_i\), \(r_i^{(2)}\) :
-
Mean and second moment of \(R_i\).
- r :
-
\(=\sum _{i=1}^{N}{r_i}\).
- \(\rho _i\) :
-
Utilization of queue i; \(\rho _i=\lambda _i b_i\).
- \(\rho \) :
-
System utilization; \(\rho = \sum _{i=1}^{N}{\rho _i}\).
- \(X_i^j\) :
-
Number of customers residing at queue j when queue i is polled.
- \(W_i\) :
-
Waiting time of a customer at queue i.
- C :
-
Length of the server cycle.
- \(X_i\) :
-
Number of customers residing at queue i when it is polled; \(X_i = X_i^i\).
- \(f_i(j)\) :
-
\(E[X_i^j]\).
- \(f_i(j,k)\) :
-
\(\left\{ \begin{array}{ll} E[X_i^j X_i^k], &{}j \ne k\\ E[X_i^j (X_i^j-1)], &{}j=k\\ \end{array} \right. \)
- \(X_i^*\) :
-
Number of customers residing at queue i at an arbitrary moment.
- \(E[X_i^*| \text{ service } \text{ period } j ]\) :
-
Mean number of customers residing at queue i at an arbitrary epoch of the service period in queue j.
- \(X^*\) :
-
Number of customers residing at the entire system at an arbitrary moment.
- \(Z_{j,k}\) :
-
The event that an arbitrary observation point of a type-j service period corresponds to a service period in which \(X_j=k\).
- \(Y_i^*\) :
-
Number of customers residing at the entire system, found by an arbitrary type-i customer arriving at an arbitrary moment, and served ahead of it (fair).
- \(E[Y_i^*| \text{ service } \text{ period } j ]\) :
-
Mean number of customers residing at the entire system, found by an arbitrary type-i customer arriving at an arbitrary epoch of the service period in queue j, and served ahead of it (fair).
- \(Y^*\) :
-
Number of customers residing at the entire system (out of \(X^*\)), found by an arbitrary customer arriving at an arbitrary moment, and served ahead of it (fair).
- \(U_i^*\) :
-
Number of customers residing at the entire system, found by an arbitrary type-i customer arriving at an arbitrary moment, and served after it (unfair).
- \(U^*\) :
-
Number of customers residing at the entire system (out of \(X^*\)), found by an arbitrary customer arriving at an arbitrary moment, and served after of it (unfair).
- F :
-
The fairness level of the system, fraction of “the expected number of customers that were served ahead of a tagged arbitrary customer \(\tilde{C}\)” out of “the expected number of customers that were present at the system upon customer \(\tilde{C}\)’s arrival”; \(F = \frac{E[Y^*]}{E[X^*]} = 1 - \frac{E[U^*]}{E[X^*]}\).
- \(F_{cont}\) :
-
The fairness level of the continuous polling system; \(F_{cont} = 1-\frac{E[N_{slips}]}{E[N_{arrivals}]}\).
- \(L_{i/j}^*\) :
-
Number of customers residing at queue i at an arbitrary epoch of the service period in queue j, out of the ones who resided at the queue at the beginning of that service period.
- \(A_{i/j}^*\) :
-
Number of customers residing at queue i at an arbitrary epoch of the service period in queue j, out of the ones who arrived at the queue at during that service period.
Rights and permissions
About this article
Cite this article
Shapira, G., Levy, H. On fairness in polling systems. Ann Oper Res 317, 253–285 (2022). https://doi.org/10.1007/s10479-016-2247-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-016-2247-8