  The Join-the-Shortest-Queue (JSQ) load-balancing scheme is known to minimise
the average delay of jobs in homogeneous systems consisting of identical
servers. However, it performs poorly in heterogeneous systems where servers
have different processing rates. Finding a delay optimal scheme remains an open
problem for heterogeneous systems. In this paper, we consider a speed-aware
version of the JSQ scheme for heterogeneous systems and show that it achieves
delay optimality in the fluid limit. One of the key issues in establishing this
optimality result for heterogeneous systems is to show that the sequence of
steady-state distributions indexed by the system size is tight in an
appropriately defined space. The usual technique for showing tightness by
coupling with a suitably defined dominant system does not work for
heterogeneous systems. To prove tightness, we devise a new technique that uses
the drift of exponential Lyapunov functions. Using the non-negativity of the
drift, we show that the stationary queue length distribution has an
exponentially decaying tail - a fact we use to prove tightness. Another
technical difficulty arises due to the complexity of the underlying state-space
and the separation of two time-scales in the fluid limit. Due to these factors,
the fluid-limit turns out to be a function of the invariant distribution of a
multi-dimensional Markov chain which is hard to characterise. By using some
properties of this invariant distribution and using the monotonicity of the
system, we show that the fluid limit is has a unique and globally attractive
fixed point.
