Skip to main content

Strictly non-blocking 3-stage condition

Short answer

A 3-stage network is strictly non-blocking if k >= 2n-1, derived from worst-case n-1 busy inputs and n-1 busy outputs occupying different middle arrays, plus one free middle array. Minimum crosspoints occur near n = sqrt(N/2), giving Nx,min = 4N(sqrt(2N)-1).

Derive the necessary conditions for a 3-stage network to be strictly non-blocking.

A three-stage network is strictly non-blocking if a free input can always be connected to a free output, however the existing calls are routed. The condition was derived by C. Clos (1953).

Network

  • NN inputs and NN outputs; groups of nn lines.
  • Stage 1: N/nN/n arrays of n×kn \times k; Stage 2: kk arrays of (N/n)×(N/n)(N/n) \times (N/n); Stage 3: N/nN/n arrays of k×nk \times n.
  • Each first-stage array has one link to every middle array; each middle array has one link to every third-stage array.
  input array A          output array B
  (n inputs)             (n outputs)
  n-1 busy -> use        n-1 busy -> use
  n-1 middle arrays      n-1 other middle
       \                      /
        \  need 1 more free  /
         +-- middle array --+
     total k >= (n-1)+(n-1)+1

Derivation of k≥2n−1k \ge 2n - 1

Consider a new call from a free input of first-stage array A to a free output of third-stage array B. Take the worst case:

  1. Array A has nn inputs; apart from the calling input, the other n−1n - 1 are busy. Each of those calls uses a different link from A, so they occupy n−1n - 1 middle arrays.
  2. Array B has nn outputs; apart from the called output, the other n−1n - 1 are busy, using n−1n - 1 middle arrays.
  3. In the worst case, these two sets of middle arrays are all different, so 2(n−1)2(n - 1) middle arrays cannot be used.
  4. To connect A to B, at least one more middle array must be free:
k≥(n−1)+(n−1)+1=2n−1k \ge (n - 1) + (n - 1) + 1 = 2n - 1

This is the necessary and sufficient condition for strict non-blocking.

Crosspoints and optimum nn

Nx=2Nk+k(Nn)2=(2n−1)[2N+N2n2]N_x = 2Nk + k\left(\frac{N}{n}\right)^2 = (2n-1)\left[2N + \frac{N^2}{n^2}\right]

Differentiating, and dropping the small 1/n31/n^3 term for large nn:

dNxdn=4N+N22−2nn3≈4N−2N2n2=0nopt=N2\begin{aligned} \frac{dN_x}{dn} &= 4N + N^2\frac{2 - 2n}{n^3} \approx 4N - \frac{2N^2}{n^2} = 0 \\ n_{opt} &= \sqrt{\frac{N}{2}} \end{aligned}

Substituting:

Nx,min=4N(2N−1)N_{x,min} = 4N\left(\sqrt{2N} - 1\right)

Example

N=200N = 200: n=10n = 10, k=19k = 19, Nx,min=4(200)(20−1)=15 200N_{x,min} = 4(200)(20 - 1) = 15\,200, compared with N2=40 000N^2 = 40\,000 for a single-stage switch.

The same idea applies to digital switches: a TST switch is strictly non-blocking when the internal time slots satisfy l≥2c−1l \ge 2c - 1, and an STS switch when the centre TSIs satisfy k≥2N−1k \ge 2N - 1.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Telecommunications chapter 4 questions →