Learn
Lesson · Markov Chains, Decisions and Queues · The named queues

Finite Buffers, Blocking and the Admitted Rate

Stop the chain at K and the truncation is no longer an approximation — it is the model. An arrival that finds the system full is lost, so ρ ≥ 1 stops being a stability condition: a queue that cannot grow cannot run away, and it has a perfectly good distribution at any load. Two consequences follow. The rate that actually gets in is λ(1 − π_K) rather than λ, and that is the rate Little's Law needs; dividing by λ instead is the standard error in a finite-queue calculation and it is always too small. Both divisions are printed, labelled, side by side.

a chain stopped at K: no arc out of the top state, and an arrival that finds it full is lost ρ = λ/μ is no longer a stability condition — a queue with a wall cannot run away blocking = π_K admitted rate = λ(1 − π_K) and that is what L = λW needs λ = 6, μ = 5, K = 5: ρ = 6/5, blocking 25.0588%, admitted 4.496471 of 6 L = 3.021172, W = L/admitted = 0.671899, L/λ = 0.503529 — too small by 1 − π_K balking instead: λₙ = λ/(n+1), and no closed form covers it at all
A wall instead of a stability condition, and the two numbers people call W

Core ideas

What this lesson establishes

Three ideas. The first removes a condition, the second adds a rate, and the third is the case that shows why this course builds queues from a cut rather than from a table.

1

Truncation here is the model, not an approximation of one

The chain genuinely stops at K because the system genuinely has K + 1 places. Nothing is being thrown away and no error term is owed. That also means ρ ≥ 1 is not a problem: at λ = 6 and μ = 5 the distribution exists, it is simply weighted towards the top, and 25.0588% of the time the system is full.

2

The admitted rate is not the arrival rate

Arrivals that find the system full are lost, so the long-run rate of admissions is λ(1 − π_K). That is the rate Little's Law needs, because L = λW counts customers who were in the system, and a blocked arrival never was. On the worked example the admitted rate is 4.496471 against an arrival rate of 6.

3

The balking chain is what a table of formulas cannot cover

Let an arrival join a queue of length n with probability 1/(n + 1), so λₙ = λ/(n + 1). The closed form for a blocking queue assumes a constant arrival rate and does not apply. The cut equation never assumed one, so it handles the case without changing — which is the whole reason this material started from the cut.

The material

A queue with a wall, and the rate that actually gets in

What a hard limit does to the stability condition, the two divisions Little's Law invites, the closed form agreeing exactly, and the chain no closed form covers.

Definition · The M/M/1/K chain, and a balking chain

M/M/1/K: constant rates on states 0 to K, with no arrival out of state K. An arrival finding the system full is blocked and lost. The blocking probability is π_K and the admitted rate is λ(1 − π_K).

Balking: the same service but λₙ = λ/(n + 1), so an arrival who finds n already waiting joins with probability 1/(n + 1). The rates now depend on the state, which is the one thing a closed form cannot absorb.

The chain is built by the same function with the same two lists, stopped at K. Nothing in the machinery is aware that the truncation has changed meaning; what changes is what you are entitled to say about the answer. On an unbounded queue the finite chain's figures come with an error term; here they come with none.

Stability stops being a question

λ = 6, μ = 5, K = 5 ρ = 6/5, which is at least 1 and does not matter weights 1, 6/5, 36/25, 216/125, 1296/625, 7776/3125 π = 3125/31031, 3750/31031, 4500/31031, 5400/31031, 6480/31031, 7776/31031 blocking π₅ = 7776/31031 = 25.0588% sysdesign_core.mm1k(6, 5, 5) gives 7776/31031 and L = 93750/31031 the two routes agree EXACTLY, fraction for fraction L 93750/31031 = 3.021172 admitted rate λ(1 − π₅) = 139530/31031 = 4.496471 of 6 W = L / admitted = 3125/4651 = 0.671899 L / λ = 15625/31031 = 0.503529 ✗ the ratio of the two: 1 − π₅ = 23255/31031 = 0.749412

The distribution rises with n rather than falling, because every ratio is 6/5. On an unbounded chain that is a queue with no stationary distribution at all; here it is a system that is usually nearly full, and the numbers are the exact answers for that system. Nothing about ρ needs checking before trusting them.

The two numbers people call W

W is L divided by a rate, and there are two candidates. Divide by the admitted rate and you get the mean time in the system of the customers who got in: 0.671899. Divide by λ and you get 0.503529, which is too small by a factor of exactly 1 − π_K, because it credits the system with serving customers it never admitted. The lab prints both, one green and one red, in the same row of the same table.

The error is always in the same direction and it grows with the blocking, so it is worst exactly where the system is most stressed and the answer matters most. At K = 1 on these rates the blocking is 54.545% and the wrong division is out by a factor of more than two; at K = 12 on a load of four fifths the blocking is 1.4543% and it is out by about one and a half per cent. There is no regime in which it is right and the system is interesting.

λ = 6, μ = 5: capacity against blocking, and the two divisions K blocking admitted L W = L/admitted L/λ ✗ 1 54.545% 2.72727 0.54545 0.20000 0.09091 2 39.560% 3.62637 1.12088 0.30909 0.18681 3 32.191% 4.06855 1.72578 0.42418 0.28763 4 27.865% 4.32810 2.35949 0.54516 0.39325 5 25.059% 4.49647 3.02117 0.67190 0.50353 6 23.119% 4.61288 3.70984 0.80423 0.61831 8 20.673% 4.75960 5.16358 1.08488 0.86060 more room buys throughput and costs waiting, in the same column pair

Read the table as a design trade and not as a limit. Every extra place raises the admitted rate and raises W at the same time, because the customers who used to be turned away are now waiting instead. Which of those you want is a question about the system and not about the queue; what the model supplies is both columns, exactly. “Bounded Queues and Loss” makes the same trade from the closed forms.

Example · The closed form agreeing exactly rather than nearly

sysdesign_core.mm1k(6, 5, 5) gives blocking 7776/31031 and L = 93750/31031. The cut equations on the same rates give the same two fractions.

That is a stronger check than the one the unbounded models could offer. There the chain was finite and the formula was not, so the best available was agreement to within the truncation. Here both describe the same finite system, so the comparison is an equality of fractions and the page reports it as exact.

Example · Arrivals that balk, where no closed form applies

Switch the chain to balking on the same rates: λₙ = 6/(n + 1), so the ratios are 6/5, 3/5, 2/5, 3/10, 6/25. The distribution now falls steeply: π runs from 15625/51799 down to 324/51799, the blocking is 0.6255%, and L is 1.192494 against the blocking chain's 3.021172.

mm1k does not apply here at all — it assumes a constant arrival rate — and the page says so rather than printing its number beside a chain it does not describe. The cut equations needed no change, because customers who decline to join are just a smaller λₙ.

That contrast is the closing argument for the whole of this half. Four named models and one homemade one have come out of a single equation applied between neighbouring states, and the one the textbooks have no formula for cost exactly as much work as the others.

Interactive

A queue with a wall, and the rate that actually gets in

blocking, the admitted rate, and the division Little’s Law really asks for

A queue with a wall does not need to be stableblocking at the top, an admitted rate below λ, and two numbers both called W
π on the finite chainthe blocked statethe closed form for M/M/1/Kthe same chain with arrivals that balk

Method

Working with a bounded queue

Four steps. The third is the one that is usually skipped, and it is the reason a reported W is too small.

1

Decide whether the wall is real

A genuine limit on places means the finite chain is the model and owes no error term. A state count chosen because the computation had to stop somewhere means it is an approximation and owes one. The arithmetic is identical; what you may claim is not.

2

Stop worrying about ρ

A queue that cannot grow cannot run away, so ρ ≥ 1 is allowed and the distribution exists. ρ is now a fact about the shape of π — rising rather than falling — instead of a condition for π to exist.

3

Compute the blocking, then the admitted rate

π_K is the fraction of time the system is full, so λ(1 − π_K) is the rate that actually enters. Write it down before reaching for W; once λ is in your hand the wrong division is the natural one.

4

Divide L by the admitted rate, and say which rate you used

W = L/λ(1 − π_K). Dividing by λ understates the answer by exactly the factor 1 − π_K, which at a quarter blocked is a twenty-five per cent error in the wrong direction. Naming the rate in the report makes the mistake visible to a reader who did not make it.

Walls, blocking and the right divisor

Score 0 / 0

A buffer of five at a load above one, and the same system with balking instead

Arrivals at 6 per unit time, service at 5, and room for five in total. The load is above 1 and it does not matter. Then the same rates with a customer who sometimes declines to join.

hard wall at K = 5 λ = 6, μ = 5, ρ = 6/5 every cut ratio 6/5, so the weights RISE: 1, 6/5, 36/25, 216/125, 1296/625, 7776/3125 total 31031/3125 π 3125 3750 4500 5400 6480 7776 all over 31031 n=0 n=1 n=2 n=3 n=4 n=5 blocking π₅ 7776/31031 = 25.0588% mm1k(6, 5, 5) 7776/31031 identical admitted rate 139530/31031 = 4.496471 of 6 L 93750/31031 = 3.021172 mm1k L 93750/31031 identical W = L / admitted 3125/4651 = 0.671899 ✓ L / λ 15625/31031 = 0.503529 ✗ too small ratio 1 − π₅ 23255/31031 = 0.749412 balking on the same rates λₙ = 6/(n+1) ratios 6/5, 3/5, 2/5, 3/10, 6/25 π 15625 18750 11250 4500 1350 324 all over 51799 blocking π₅ 324/51799 = 0.6255% admitted rate 180870/51799 = 3.491766 L 61770/51799 = 1.192494 W = L / admitted 2059/6029 = 0.341516 mm1k does not apply: it assumes a constant arrival rate

Compare the two distributions rather than the two summaries. The blocking chain puts its mass at the top, because every ratio is above 1 and the only thing stopping it is the wall. The balking chain puts its mass at the bottom, because the ratios fall away after the first one: 6/5, then 3/5, then 2/5. Same service, same nominal arrival rate, completely different systems.

The admitted rates are the surprising pair. Balking admits 3.49 per unit time against the wall's 4.50, even though it blocks almost nobody: turning customers away gently and often admits less than turning them away brutally and rarely. That is the kind of comparison a table of blocking probabilities cannot make, and it is one subtraction away once you have both distributions.

The L/λ column is there to be wrong. 0.503529 against 0.671899 is a twenty-five per cent understatement, exactly the blocking fraction, and it is the number a calculation that reached for λ out of habit would report. It is not a rounding and it does not average out.

For a rehearsal, hold λ = 6 and μ = 5 and raise K from 5 to 8. The supplied first move is that the blocking falls from 25.059% to 20.673%. Predict the direction of W before checking, and then say why both W and the admitted rate went up, which sounds contradictory and is not.

Common mistakes

1
Dividing L by λ on a lossy systemThe result is too small by exactly 1 − π_K, always in the same direction, and worst where the blocking is highest and the answer matters most. The correct divisor is λ(1 − π_K), and it costs one multiplication once π_K is in hand.
2
Carrying the stability condition into a bounded modelρ < 1 is a condition for an unbounded queue to have a stationary distribution. With a wall there is nothing to check: the chain is finite and always normalises. Refusing to model a system because its nominal load exceeds 1 rejects exactly the systems a buffer exists for.
3
Reaching for a closed form on a chain whose rates varymm1k assumes a constant λ. A balking queue, a finite population of machines, a server that speeds up under load: none of them is covered, and all of them are one rate list away from an exact answer through the cut equations. The formula is the special case, not the tool.

Check your understanding

✓
Finish when a bounded queue is easier for you than an unbounded one, and you never divide by λ without asking.

You should be able to build the stopped chain, say why ρ ≥ 1 is permitted, compute the blocking as π_K and the admitted rate as λ(1 − π_K), produce both candidate W values and name which one you used, and model a balking arrival stream without reaching for a formula that does not cover it.

Note: Every model here has assumed Poisson arrivals without saying what that means or where they come from. The last of this material builds them: n independent opportunities in one unit of time, each firing with probability λ/n, which is an exact binomial. Its limit as n grows is the Poisson distribution, and that is where this course stops being exact — e^(−λ) is irrational. “The Poisson Limit, and Where Exactness Stops” prints the difference rather than describing it.

Kept in this browser only, for you. Nothing is sent anywhere and nothing checks it. Carry it to another device.

Feedback and recommendations

Something to change about this lesson? Write it down, tick it off when it is handled, and export the list when you want to act on it. Kept in this browser only: nothing is sent anywhere, and nobody is notified.

No recommendations yet for this lesson.