Approximations to the Erlang C queue length formula for M/M/n queues
Go
Latest commit 8b81a9b Sep 14, 2015 @xaprb xaprb Fix bugs in formulas
Permalink
Failed to load latest commit information.
README.md
main.go
sakasegawa-1977.pdf

README.md

Approximate Queue Length Calculations.

Approximations to the Erlang C queue length formula for M/M/n queues.

This program computes queue lengths for M/M/n queues with the Erlang C formula, and two approximations, one discovered by Sakasegawa (1977) and one documented, but not discovered, by Neil Gunther in Analyzing Computer System Performance With Perl::PDQ.

Here are the results:

servers util    erlang  gunther sakasegawa
1   0.000   0.000000    0.000000    0.000000
1   0.100   0.011111    0.011111    0.011111
1   0.200   0.050000    0.050000    0.050000
1   0.300   0.128571    0.128571    0.128571
1   0.400   0.266667    0.266667    0.266667
1   0.500   0.500000    0.500000    0.500000
1   0.600   0.900000    0.900000    0.900000
1   0.700   1.633333    1.633333    1.633333
1   0.800   3.200000    3.200000    3.200000
1   0.900   8.100000    8.100000    8.100000
1   0.990   98.010000   98.010000   98.010000
1   0.999   998.001000  998.001000  998.001000
2   0.000   0.000000    0.000000    0.000000
2   0.100   0.002020    0.002020    0.003947
2   0.200   0.016667    0.016667    0.024254
2   0.300   0.059341    0.059341    0.074837
2   0.400   0.152381    0.152381    0.176644
2   0.500   0.333333    0.333333    0.366151
2   0.600   0.675000    0.675000    0.715359
2   0.700   1.345098    1.345098    1.391387
2   0.800   2.844444    2.844444    2.894609
2   0.900   7.673684    7.673684    7.725338
2   0.990   97.517487   97.517487   97.568236
2   0.999   997.501750  997.501750  997.552285
4   0.000   0.000000    0.000000    0.000000
4   0.100   0.000088    0.000040    0.000765
4   0.200   0.002395    0.001282    0.007701
4   0.300   0.015878    0.009799    0.031726
4   0.400   0.060466    0.042036    0.091929
4   0.500   0.173913    0.133333    0.223403
4   0.600   0.430565    0.357353    0.497042
4   0.700   1.000193    0.884695    1.079036
4   0.800   2.385730    2.220054    2.468958
4   0.900   7.089779    6.868159    7.166418
4   0.990   96.812612   96.537437   96.871779
4   0.999   996.784391  996.503749  996.841140
8   0.000   0.000000    0.000000    0.000000
8   0.100   0.000000    0.000000    0.000064
8   0.200   0.000067    0.000004    0.001353
8   0.300   0.001516    0.000157    0.008640
8   0.400   0.012330    0.002099    0.034161
8   0.500   0.059044    0.015686    0.105650
8   0.600   0.209313    0.081999    0.286230
8   0.700   0.631407    0.342578    0.733982
8   0.800   1.830580    1.290202    1.940062
8   0.900   6.313797    5.441941    6.395396
8   0.990   95.812556   94.597231   95.825633
8   0.999   995.760755  994.509747  995.764233
16  0.000   0.000000    0.000000    0.000000
16  0.100   0.000000    0.000000    0.000002
16  0.200   0.000000    0.000000    0.000105
16  0.300   0.000019    0.000000    0.001277
16  0.400   0.000699    0.000003    0.007970
16  0.500   0.009019    0.000122    0.035135
16  0.600   0.062801    0.002709    0.127160
16  0.700   0.302577    0.037345    0.416536
16  0.800   1.219536    0.370723    1.361107
16  0.900   5.322091    3.275262    5.409913
16  0.990   94.403548   90.796343   94.308107
16  0.999   994.306571  990.529739  994.183115
32  0.000   0.000000    0.000000    0.000000
32  0.100   0.000000    0.000000    0.000000
32  0.200   0.000000    0.000000    0.000003
32  0.300   0.000000    0.000000    0.000081
32  0.400   0.000003    0.000000    0.000975
32  0.500   0.000291    0.000000    0.007169
32  0.600   0.007601    0.000002    0.039412
32  0.700   0.088712    0.000247    0.183844
32  0.800   0.642493    0.020298    0.815961
32  0.900   4.123770    1.024064    4.248781
32  0.990   92.431001   83.511763   92.159509
32  0.999   992.246601  982.601706  991.904841
64  0.000   0.000000    0.000000    0.000000
64  0.100   0.000000    0.000000    0.000000
64  0.200   0.000000    0.000000    0.000000
64  0.300   0.000000    0.000000    0.000002
64  0.400   0.000000    0.000000    0.000048
64  0.500   0.000000    0.000000    0.000739
64  0.600   0.000155    0.000000    0.007387
64  0.700   0.010296    0.000000    0.057112
64  0.800   0.224226    0.000032    0.392668
64  0.900   2.795970    0.067992    3.008045
64  0.990   89.688778   70.197190   89.173038
64  0.999   989.334082  966.873556  988.657359