  The mobile data traffic has been exponentially growing during the last
decades, which has been enabled by the densification of the network
infrastructure, in terms of increased cell density (i.e., ultra-dense network
(UDN)) and/or increased number of active antennas per access point (AP) (i.e.,
massive multiple-input multiple-output (mMIMO)). However, neither UDN nor mMIMO
will meet the increasing data rate demands of the sixth generation (6G)
wireless communications due to the inter-cell interference and large
quality-of-service variations, respectively. Cell-free (CF) mMIMO, which
combines the best aspects of UDN with mMIMO, is viewed as a key solution to
this issue. In such systems, each user equipment (UE) is served by a preferred
set of surrounding APs that cooperate to serve the UE in a CF approach. In this
paper, we provide a survey of the state-of-the-art literature on CF mMIMO
systems. As a starting point, we present the significance and challenges of
improving the user-experienced data rates which motivate CF mMIMO, derive the
basic properties of CF mMIMO, and provide an introduction to other technologies
related to CF mMIMO. We then provide the canonical framework for CF mMIMO,
where the essential details (i.e., transmission procedure and mathematical
system model) are discussed. Next, we provide a deep look at the resource
allocation and signal processing problems related to CF mMIMO and survey the
state-of-the-art schemes and algorithms. After that, we discuss the practical
issues when implementing CF mMIMO, including fronthaul limitations and hardware
impairment. Potential future directions of CF mMIMO research are then
highlighted. We conclude this paper with a summary of the key lessons learned
in this field. The objective of this paper is to provide a starting point for
anyone who wants to conduct research on CF mMIMO for future wireless networks.
