  We consider a user-centric cell-free massive MIMO wireless network with $L$
remote radio units, each with $M$ antennas, serving $K_{\rm tot}$ user
equipments (UEs). Most of the literature considers the regime $LM \gg K_{\rm
tot}$, where the $K$ UEs are active on each time-frequency slot, and evaluates
the system performance in terms of ergodic rates. In this paper, we take a
quite different viewpoint. We observe that the regime of $LM \gg K_{\rm tot}$
corresponds to a lightly loaded system with low sum spectral efficiency (SE).
In contrast, in most relevant scenarios, the number of UEs is much larger than
the total number of antennas, but users are not all active at the same time. To
achieve high sum SE and handle $K_{\rm tot} \gg ML$, users must be scheduled
over the time-frequency resource. The number of active users $K_{\rm act} \leq
K_{\rm tot}$ must be chosen such that: 1) the network operates close to its
maximum SE; 2) the active user set must be chosen dynamically over time in
order to enforce fairness in terms of per-user time-averaged throughput rates.
The fairness scheduling problem is formulated as the maximization of a concave
componentwise non-decreasing network utility function of the per-user rates.
Intermittent user activity imposes slot-by-slot coding/decoding which prevents
the achievability of ergodic rates. Hence, we model the per-slot service rates
using information outage probability. To obtain a tractable problem, we make a
decoupling assumption on the CDF of the instantaneous mutual information seen
at each UE $k$ receiver. We approximately enforce this condition with a
conflict graph that prevents the simultaneous scheduling of users with large
pilot contamination and propose an adaptive scheme for instantaneous service
rate scheduling. Overall, the proposed dynamic scheduling is robust to system
model uncertainties and can be easily implemented in practice.
