[go: up one dir, main page]

Academia.eduAcademia.edu

End-to-End Simulation of 5G mmWave Networks

This work has been submitted to IEEE Communication Surveys and Tutorials for possible publication. Copyright may be transferred without notice, after which this version may no longer be accessible. 1 End-to-End Simulation of 5G mmWave Networks arXiv:1705.02882v3 [cs.NI] 5 Feb 2018 Marco Mezzavilla, Member, IEEE, Menglei Zhang, Michele Polese, Student Member, IEEE, Russell Ford, Sourjya Dutta, Student Member, IEEE, Sundeep Rangan, Fellow, IEEE, Michele Zorzi, Fellow, IEEE Abstract—Due to its potential for multi-gigabit and low latency wireless links, millimeter wave (mmWave) technology is expected to play a central role in 5th generation (5G) cellular systems. While there has been considerable progress in understanding the mmWave physical layer, innovations will be required at all layers of the protocol stack, in both the access and the core network. Discrete-event network simulation is essential for end-to-end, cross-layer research and development. This paper provides a tutorial on a recently developed full-stack mmWave module integrated into the widely used open-source ns–3 simulator. The module includes a number of detailed statistical channel models as well as the ability to incorporate real measurements or raytracing data. The Physical (PHY) and Medium Access Control (MAC) layers are modular and highly customizable, making it easy to integrate algorithms or compare Orthogonal Frequency Division Multiplexing (OFDM) numerologies, for example. The module is interfaced with the core network of the ns–3 Long Term Evolution (LTE) module for full-stack simulations of end-to-end connectivity, and advanced architectural features, such as dualconnectivity, are also available. To facilitate the understanding of the module, and verify its correct functioning, we provide several examples that show the performance of the custom mmWave stack as well as custom congestion control algorithms designed specifically for efficient utilization of the mmWave channel. Index Terms—mmWave, 5G, Cellular, Channel, Propagation, PHY, MAC, multi-connectivity, handover, simulation, ns–3 I. I NTRODUCTION Millimeter Wave (mmWave) communications are emerging as a central technology in 5G cellular wireless systems due to their potential to achieve the massive throughputs required by future networks [1]–[5]. In particular, mmWave has become a key focus of the 3rd Generation Partnership Project (3GPP) New Radio (NR) effort currently under development [6]. Due to the unique propagation characteristics of mmWave signals and the need to transmit in beams with much greater directionality than previously used in cellular systems, much of the recent work in mmWave communications has focused on channel modeling, beamforming and other physical layer procedures. However, the design of End-to-End (E2E) cellular systems that can fully exploit the high-throughput, low-latency capabilities of mmWave links will require innovations not only at the physical layer, but also across all layers of the communication protocol stack. For mmWave systems, E2E design and analysis are at a much earlier stage of research [7]–[9]. Marco Mezzavilla, Menglei Zhang, Russell Ford, Sourjya Dutta and Sundeep Rangan are with NYU WIRELESS, NYU Tandon School of Engineering, Brooklyn, NY, USA (email: {mezzavilla, russell.ford, menglei, sdutta, srangan}@nyu.edu). Michele Polese and Michele Zorzi are with the Department of Information Engineering, University of Padova, Padova, Italy (email: {polesemi, zorzi}@dei.unipd.it) Discrete-event network simulators are fundamental and widely used tools for developing new protocols and analyzing complex networks. Importantly, most network simulators enable full-stack simulation, meaning that they model all layers of the protocol stack as well as applications running over the network. This full-stack capability will play a critical role in the development of 5G mmWave systems. The unique characteristics of the underlying mmWave channel have wide ranging effects throughout the protocol stack. For example, the use of highly directional beams increases the complexity of a number of basic MAC-layer procedures such as synchronization, control signaling, cell search and initial access, which in turn affect delay and robustness [7]. MmWave signals are also highly susceptible to blockage [1], [10]– [12], which results in high variability of the channel quality. This erratic behavior complicates the design of rate adaptation algorithms and signaling procedures, requiring advanced solutions for multi-connectivity, fast handover and connection re-establishment [13]–[16]. New transport layer mechanisms may also be required in order to utilize the large capacity, when available, and to react promptly to rapid fading to avoid congestion [9], [17]–[19]. The need for ultra-low latency applications [1], [20], [21] may require solutions based on edge computing and distributed architectures that will determine a considerable departure from current cellular core network designs. To better capture these design challenges, this work presents a comprehensive tutorial on the open-source mmWave simulation tool developed by New York University and the University of Padova for LTE-like 5G mmWave cellular networks, which can be used to evaluate cross-layer and end-to-end performance. This mmWave simulation tool is developed as a new module within the widely used ns–3 network simulator [22]. ns–3 is an open-source platform, that currently implements a wide range of protocols in C++, making it useful for crosslayer design and analysis. The new mmWave module presented here is based on the architecture and design patterns of the LTE LENA module [23], [24] and implements all the necessary Service Access Points (SAPs) needed to leverage the robust suite of LTE/Evolved Packet Core (EPC) protocols provided by LENA. The code (publicly available at GitHub [25], along with examples and test configurations) is highly modular and customizable to facilitate researchers to design and test novel 5G protocols. The ns–3 mmWave module was first presented in [26], [27]. The 3GPP channel model implementation is introduced in [28], and the dual connectivity functionality is described in [14], [29]. This paper extends these works by presenting the ns–3 mmWave module from a single and organic point of view, and is intended as a tutorial for any researcher that plans to use the simulator. In addition to its comprehensive description 2 and discussion, we provide in Sec. X a brief guide on how to set up a simulation, followed by a number of representative examples. The rest of the paper is organized as follows. In Section II, we provide some background on mmWave cellular communications and highlight some key problems at the higher protocol layers to motivate the need for a robust full-stack simulator. We also describe the main challenges related to the design of a mmWave cellular networks simulator. Then, in Section III, we introduce ns-3, the network simulator on which our mmWave module is developed, and in Section IV we present the overall architecture of the mmWave module. We then take a closer look at each component, starting with the suite of Multiple Input, Multiple Output (MIMO) channel models in Section V. In addition to an implementation of the latest 3GPP “above 6 GHz” model [30], several custom channel models are also provided. Section VI discusses the features of the OFDMbased PHY layer, which has a customizable frame structure for evaluating different numerologies and parameters. In Section VII, we provide a MAC-layer discussion that includes our proposed flexible/variable Transmission Time Interval (TTI) Time Division Multiple Access (TDMA) MAC scheme, which is supported by several scheduler implementations. Section VIII presents the enhancements that we introduced to the LTE Radio Link Control (RLC) layer. The dualconnectivity architecture is reported in Sec. IX. In Section X, we show how the module can be used for cross-layer evaluation of multi-user cellular networks through a number of representative examples, and provide pointers to a large set of general results that have been obtained so far with this module. The integration of native Linux Transmission Control Protocol (TCP) implementations, performed through the ns– 3 Direct Code Execution (DCE) framework, is discussed in Section XI. In Section XII, we provide details on our future plans for the simulator and suggest possible research topics in which it could be used. Finally, we conclude this tutorial paper in Section XIII. II. M ILLIMETER WAVE C ELLULAR BACKGROUND Millimeter wave communications is an advanced PHY layer technology, which has recently come to the forefront of research interest and may be able to rise to the challenge of providing high-rate mobile broadband services, in addition to offering opportunities for reducing over-the-air latency for 5G New Radio. MmWave makes use of the radio frequency spectrum roughly between 30 and 300 GHz, even though the research challenges extend also to lower frequencies (i.e., above 6 GHz) which are considered for 3GPP NR. Systems that can operate in these bands are attractive because of the large quantities of available spectrum at these higher frequency ranges and the spatial degrees of freedom afforded by very high-dimensional antenna arrays, which are possible thanks to the smaller size of antenna elements at higher frequencies. Most current commercial wireless systems operate below 6 GHz, where lower frequencies allow for long-range propagation and low penetration loss (i.e., attenuation by walls and other obstacles), which makes them well-suited for radio communications. As a result, the sub-6 GHz spectrum has become heavily congested and individual bands are generally not available in contiguous chunks wider than 200 MHz. However, large swaths of spectrum are available at the higher mmWave frequencies, which offer the possibility of very wide bandwidths of over 1 GHz, in some cases. Although the mmWave bands are already used by a variety of commercial applications, such as satellite and pointto-point backhaul communications, until recently they were considered impractical for mobile access networks due to the poor isotropic propagation and the vulnerability to shadowing at these higher frequencies. However, it has now been shown that the limitations of the mmWave channel can be overcome with the help of high-gain, directional antennas so that this vast region of spectrum can now be exploited to provide an order of magnitude or more increase in throughput for mobile devices [3], [31]. Directional smart antennas are the major technology enabler that will make it possible for mmWave devices to overcome the poor propagation effects and unlock this high-frequency spectrum. The theoretical free space path loss (as governed by Friis’ Equation) is proportional to the square of the frequency, resulting in the magnitude of received power for a mmWave signal being over 30 dB (1000x) less than conventional cellular systems at equivalent distances between transmitter and receiver [32]. Multi-element antenna arrays and MIMO beamforming techniques offer a means of compensating for this high attenuation. With millimeter waves, the antenna size and spacing shrinks to be on the order of millimeters, making it possible to pack hundreds of elements onto a small cell base station and dozens onto a handheld device. Smaller antenna size also allows for multiple arrays to be integrated onto mobile devices to provide diversity and maintain connectivity even if the signal from one array is blocked (for instance, by the user’s hand) [3]. It is clear that mmWave will be highly disruptive in the wireless space thanks to the prospect of massive bandwidth and high-gain antennas. Nevertheless, before mmWave technology can be effectively realized in 5G networks, there are numerous challenges to be addressed, not only at the physical layer, but also at higher layers of the radio stack, namely: • Adaptive beamforming and beam tracking: The requirement of directionality introduces new challenges for supporting mobility in mmWave networks. The transmitter and receiver must continually track the channel as the mobile user moves in order to align their antenna arrays to achieve the maximum directional gain. MmWave signals are also known to be particularly susceptible to shadowing and can be completely blocked by many materials such as brick, tinted glass and even the human body [33], [34]. Fortunately, recent field measurements have demonstrated that reflected power can be sufficient for Non Line of Sight (NLOS) communications to be possible. A blocked link may therefore be able to recover by steering the beam from the primary Line of Sight (LOS) path to an alternate NLOS path. The UE and BS 3 • • must then jointly initiate a procedure to search for and select another path to reestablish the link. Directional synchronization and broadcast channels: Directionality also complicates the design of many control channels and procedures. The cell discovery and initial access procedures, where the UE must search for nearby base stations to which it can attach, will require an innovative approach to be handled efficiently. Traditional cells periodically broadcast out synchronization signals (known as the Primary Synchronization Signal (PSS) in LTE systems) omnidirectionally, which are received by all devices within the cell’s coverage range and used to initially connect to the cell. If a 5G mmWave evolved Node Base (eNB) were to broadcast the PSS in an omnidirectional antenna pattern, the signal would not benefit from the directional gain and might not have adequate range to be detected by many UEs. Therefore, the eNB and User Equipment (UE) must perform an angular search in order for users to detect the PSS and hone in on the optimal Transmitter (TX)/Receiver (RX) beamforming angles [35]. A similar problem also arises for other control signals, such as the Downlink Control Information (DCI) assignments, which indicate the resources assigned to each user for Downlink (DL)/Uplink (UL) transmission in the subframe or slot. Issues for the MAC, Network and Transport Layers: The rapid channel dynamics and vulnerability of mmWave links to shadowing will require frequent, near instantaneous handovers between neighboring 5G or 4G cells. Dual-connectivity, where mobiles are continuously connected to both the 5G and legacy 4G network, may therefore be essential to recover from an abrupt failure of the primary 5G link [14], [29]. Additionally, at the transport layer, the congestion control and avoidance mechanisms provided by TCP must be able to quickly adapt to sudden fluctuations in capacity to maximally utilize the link bandwidth while avoiding overwhelming the network by sending too many packets, resulting in congestion and affecting other flows in the network. Current versions of TCP may not be optimized for mmWave channel dynamics [9], [18], so new algorithms may be called for to provide high rates for E2E sessions [17], [36], [37]. Potentials and Challenges of System-level Simulations of mmWave Networks An End-to-End network simulator for mmWave cellular networks is an invaluable tool that can help address these challenges by allowing the evaluation of the impact of the channel and of the PHY layer technology on the whole protocol stack. However, given the characteristics of mmWave communications described in the previous paragraphs, in order to have accurate results it is of paramount importance to model in detail the behavior of the different elements that interact in a cellular system. In the following paragraphs we will introduce and discuss some of the most important elements that need to be considered when designing a mmWave cellular systems simulation, and show how they depend on one another: • • • The channel model is the fundamental component of every wireless simulation. Given the harsh propagation conditions at mmWaves, the channel is one the main elements that affect the end-to-end network performance. Firstly, it has to account for the different LOS and NLOS states for the propagation loss and the fading [30]. Moreover, beamforming should be applied on top of the channel to accurately model directional transmissions, which have an impact on the link budget, the interference and the control procedures. Finally, the Doppler effect is particularly relevant at mmWave frequencies, especially with high mobility [3]. An important consideration related to the channel model is the trade off between the accuracy and the computational complexity: very accurate models that require the computation of the complete channel matrix are usually also computationally intensive [28]. The users’ mobility and the network deployment have an important impact on the communication performance, intertwined with that of the channel model. Given the small range of the mmWave cells, the deployment will be dense and will require frequent access point updates, which should be simulated for a realistic performance assessment [38]. Moreover, mobility affects the performance of beam tracking algorithms [15]. Therefore, when simulating a mmWave network it is important to use realistic deployments and mobility models. The level of detail when modeling the protocol stack of the mmWave links and of the end devices is another important parameter for network simulations. A simplified model of the protocol stack can be accurate enough for studies that do not involve complex interplay between different layers, but cannot capture the behaviors that emerge from the interaction of the different layer, and therefore could not generate realistic results for end-toend performance evaluations. For example, at mmWave frequencies, it has been shown that the channel behavior has an impact on the TCP performance [9], [18], therefore a model of the TCP/IP stack is needed when analyzing the data rate that an application can reach in an end-toend mmWave network. To the best of our knowledge, there are no open source simulators capable of thoroughly modeling the mmWave channel along with the cellular network protocol stack as well as other protocols (e.g., the TCP/IP stack), realistic scenarios and mobility. There exists an ns–3-based simulator for IEEE 802.11ad in the 60 GHz band [39], [40], which however cannot be used to simulate cellular and 3GPP-like scenarios. Other papers [41]–[44] report results from system level simulations, with custom (often MATLAB-based and not publicly available) simulators which are not able to capture the complexity of the whole stack with a very high level of detail. This is what motivated us to develop an open source cellular mmWave module for the ns–3 simulator, which we will describe in the following sections. 4 Figure 1: Class diagram of the end-to-end mmWave module. III. NS –3 The ns–3 discrete-event network simulator [22], [45] is a very powerful tool available to communication and networking researchers for developing new protocols and analyzing complex systems. It is the successor to ns–2, a tried and tested tool that has been in use by the networking community for over a decade in the design and validation of network protocols. ns–3 is open source, and can be downloaded from the website of the project1 . An active community of researchers from both industry and academia has enriched the basic core of the simulator with several modules, and ns–3 can be now used to simulate a wide variety of wireless and wired networks, protocols and algorithms. There is a complete documentation2 on the models in the ns–3 website, in terms of both the design of the models and what a user can do with the models. Moreover, a complete tutorial on how to install ns–3, set up ns–3 scenarios and topologies, handle the collection of statistics and log useful messages is provided in the documentation3 . The tutorial is a good starting point for a researcher who approaches ns–3 for the first time. The ns–3 simulator is organized into multiple folders. The src folder provides a collection of C++ classes, which implement a wide range of modular simulation models and network protocols. The different modules can be aggregated and instantiated to build diverse simulated network scenarios, making ns-3 especially useful for cross-layer design and analysis. The modularity and use of object-oriented design patterns also allows for new algorithms to easily be incorporated into the network stack and experimented with. Each module is itself organized into multiple subfolders, which contain the documentation and the source code of the model itself, the helpers, the examples and the tests. The helpers associated with each model have a very important role. They are classes which hide to the final user the complexity involved in setting up a complete scenario, for example by automatically assigning IP addresses, or connecting the different classes of a protocol stack. The build folder contains the binaries of the simulator. Finally, the scratch folder is a special folder in which scripts with examples and scenarios can be built onthe-fly. Besides the core module, which provides the basic structure of the simulator, there are modules for networking protocols (e.g., the TCP/IP stack protocols [46]), wireless protocols (LTE [23], Wi-Fi [47], WiMAX [48]), routing algorithms [49], mobility, embedding obstacles and buildings in the simulation scenarios, and data collection. All the modules are listed in the model library4 . In the following sections, we will describe in detail the mmWave module for ns–3, following the same approach which is used for the other ns–3 modules. We will first describe the model in terms of implementation of the different components of a mmWave cellular network and protocol stack, and then the examples and scenarios that can be simulated with it and how they can be set up. IV. MM WAVE M ODULE OVERVIEW The ns–3 mmWave module is designed to perform end-to-end simulations of 3GPP-style cellular networks. The architecture 1 http://www.nsnam.org 2 https://www.nsnam.org/documentation/ 3 https://www.nsnam.org/docs/tutorial/html/ 4 https://www.nsnam.org/docs/release/3.27/models/html/index.html for ns–3 version 3.27 5 ns3::MmWave MmWaveEnbNetDevice MmWaveNetDevice +int m_cellId +int m_earfcn MmWaveUeNetDevice +Int m_mtu +int m_imsi +int m_earfcn +Receive(Packet): void +DoSend(Packet): bool +DoSend(Packet): bool LteEnbRrc LteUeRrc +ConfigureCell(...): void +SynchronizeToStrongestCell(): void +SendMeasurementReport(...): void LtePdcp LTE +int m_rnti +int m_lcid +DoTransmitPdcpSdu(Packet): void +DoReceivePdcpSdu(Packet): void LteRlc +int m_rnti +int m_lcid LteRlcSm +DoTransmitPdcpPdu(Packet): void +DoReceivePdu(Packet): void +DoNotifyTxOpportunity(...): void LteRlcTm LteRlcUm LteRlcAm MmWaveUeMac MmWaveEnbMac +DlHarqInfo Harq +DlCqiInfo cqi MmWaveMac +MacPduInfo +DoTransmitPdu(params): void +DoRxPdu(Packet): void MMWaveAmc +int m_rnti +UlHarqInfo_t Harq +DoTransmitPdu(params): void +DoRxPdu(Packet): void MmWavePhy MmWaveEnbPhy MmWaveUePhy +double m_txPower +GetMcsFromCqi(cqi): mcs +StartSubFrame(): void +EndSubFrame(): void +GenerateDlCqiReport(SINR): void +SubframeIndication(...): void MmWaveHarqPhy MmWaveMacScheduler +GetHarqProcessInfoDl(...): harq +GetHarqProcessInfoUl(...): harq +DoSchedDlTriggerReq(...): bool +DoSchedUlTriggerReq(...): bool MmWaveSpectrumPhy MmWaveMiErrorModel +StartTxDataFrame(...): bool +StartTxCtrlFrame(...): bool +StartRx(...): void +GetTbDecodificationStats(...): TbStats_t PropagationLossModel +DoCalcRxPower(...): double MultiModelSpectrumchannel +StartTx(params): void +StartRx(params): void MmWave3gppPropagationLossModel +string m_channelConditions +string m_scenario +double m_shadowing MmWaveInterference +AddSinrChunkProcessor(...): void SpectrumPropagationLossModel +DoCalcRxPowerSpectralDensity(...): Ptr<SpectrumValue> MmWave3gppChannelModel +Params3gpp_map m_channelMap +CalBeamformingGain(...): Ptr<SpectrumValue> Figure 2: Unified Modeling Language (UML) class diagram for the end-to-end mmWave module. 6 builds upon the ns–3 LTE module (LENA) [23], [24]. It leverages the detailed implementation of LTE/EPC protocols, and implements custom PHY and MAC layers. Additionally, it is possible to connect the module to a patched version of Direct Code Execution [50], a tool that allows the Linux stack TCP/IP implementation to run as the TCP/IP stack of ns–3 nodes, as well as to execute POSIX socket-based applications (i.e., wget, iPerf, etc). Figure 1 depicts the high-level composition of the MmWaveEnbNetDevice and MmWaveUeNetDevice classes, which represent the mmWave eNB5 and UE radio stacks, respectively, along with a perspective on the end-toend structure of the simulator. A more detailed UML class diagram is provided in Figure 2. The ns–3 mmWave module also includes a McUeNetDevice, which is a NetDevice with a dual stack (LTE and mmWave), i.e., a device capable of connecting to both technologies. More details will be given in Section IX. The MmWaveEnbMac and MmWaveUeMac MAC layer classes implement the LTE module Service Access Point (SAP) provider and user interfaces, which enable the interoperation with the LTE RLC layer. Support for RLC Transparent Mode (TM), Saturation Mode (SM), Unacknowledged Mode (UM), Acknowledged Mode (AM) is built into the MAC and scheduler classes (i.e., MmWaveMacScheduler and derived classes). The MAC scheduler also implements a SAP for configuration at the LTE Radio Resource Control (RRC) layer (LteEnbRrc). Hence, every component required to establish Evolved Packet Core (EPC) connectivity is available. The MmWavePhy classes handle directional transmission and reception of the DL and UL data and control channels based on control messages from the MAC layer. Similar to the LTE module, each PHY instance communicates over the channel (i.e., SpectrumChannel) via an instance of the MmWaveSpectrumPhy class, which is shared for both the DL and the UL (since our design of the mmWave PHY layer is based on Time Division Duplexing (TDD), as detailed in Section VI-A). Instances of MmWaveSpectrumPhy encapsulate all PHY-layer models: interference calculation (MmWaveInterference), Signal to Interference plus Noise Ratio (SINR) calculation (MmWaveSinrChunkProcessor), the Mutual Information (MI)-based error model (MmWaveMiErrorModel), which computes the packet error probability, as well as the Hybrid Automatic Repeat reQuest (HARQ) PHY-layer entity (MmWaveHarqPhy) to perform soft combining. Since the structure, high-level functions and naming scheme of each class closely follow the LTE LENA module, the reader is also referred to the LENA project documentation for more information [51]. V. C HANNEL AND MIMO M ODELING A. Channel Models The ns–3 mmWave module allows the user to choose among different channel models, which provide a trade-off between 5 Recently, 3GPP has proposed the term next generation Node Base (gNB) for the 5G NR base station. computational complexity, flexibility and accuracy of the results. The most flexible and detailed channel model is the one described in detail in [28], which is based on the official 3GPP channel model for the 6-100 GHz frequency band [30]. It accounts also for spatial consistency of mobility-based simulations and provides a random blockage model, as well as the modeling of outdoor to indoor communications. The second model is based on traces from measurements or thirdparty ray-tracing software. This makes the channel model detailed and realistic, but constrains the simulation to limited measurements/ray-tracing routes. The third is the statistical channel model introduced in [26] and based on MATLAB traces, which makes the computation less demanding, but is available only for the 28 and 73 GHz frequencies. In the following paragraphs we will provide architectural details of all the available channel models. 1) 3GPP Statistical Channel Model: The 3GPP model for the 6-100 GHz band, described in [30], is applicable for bandwidths up to 10% of the carrier frequency and accounts for mobility. It provides several optional features that can be plugged into the basic model, in order to simulate, for example, spatial consistency (i.e., the radio environment conditions of close-by users are correlated) and random blockage. The model defines different scenarios, which describe different possible cellular network deployments: urban (with macrocells and microcells), rural and indoor. Pathloss: The pathloss of the propagation channel is implemented in the MmWave3gppPropagationLossModel class. The model provides a statistical LOS/NLOS condition characterization, as well as pathloss computation considering outdoor to indoor penetration loss, as described in [30, Sec. 7.4]. The MmWave3gppBuildingPropagationLossModel class, instead, determines the LOS condition according to the reciprocal position of the UE and the eNB and to the presence of buildings or obstacles in the scenario. These classes also optionally apply an additional shadowing component to the pathloss. For a moving UE, the shadowing is correlated in space. Given the distance ∆d2D > 0 on the horizontal plane from the last position in which the shadowing was computed, the exponential correlation parameter is computed as R(∆d2D ) = e−∆d2D /dcor , where dcor is the correlation distance. In our implementation, pathloss and shadowing (if enabled) are updated at every transmission. Figure 3 shows the pathloss in dB for the 3D distance from the smallest value supported in each scenario to 103 m for outdoor and 102 m for indoor. Small-scale fading: The small-scale fading model is implemented in the MmWave3gppChannel class, and follows the step by step approach of [30, Sec. 7.5]. Small-scale fading is the bottleneck of this channel model implementation, since it is very detailed and computationally demanding. The fading is generated following the 3D statistical spatial approach originally proposed in [52]. The channel is described by a channel matrix H(t, f ), where t is the time and f is the frequency, of size U × S, where U and S are the number of antennas at the receiver and the transmitter. Each entry depends on N ≤ 20 different multipath components, called 7 Figure 3: Typical realization of the 3GPP pathloss model [30] using spatial consistency for 3 outdoor scenarios (RMa stands for Rural Macro, UMa for Urban Macro and UMi for Urban Micro) and 2 indoor scenarios (InH stands for Indoor, either in the office or in a shopping mall). The channel can be LOS, NLOS with or without the optional equations for the propagation loss and outdoor to indoor (O2I). clusters, which have different delays and received powers, according to an exponential power delay profile. A cluster is itself a combination of M = 20 rays, each with a slightly different arrival and departure angle in the vertical and horizontal planes. The MmWave3gppChannel class has a method that generates the channel matrix, and stores the coefficient for each transmit element s, receive element u and cluster n in a data structure, that can be accessed by other methods in order to update the channel matrix or compute the beamforming gain. We introduced some assumptions with respect to the 3GPP model, in order to decrease the computational overhead introduced by the high level of detail of the channel. For example, we consider only antennas with vertical polarization, and the speed-dependent Doppler effect is not computed for each ray, but only for the central angle of each cluster. Further details on this implementation are given in [28]. Spatial consistency: The basic channel model described in the previous paragraphs can be used for drop-based simulations with limited mobility, i.e., for UEs that move in an area in which the channel is very correlated and the fading parameters do not change. However, for simulations in which mobility is an important factor, the spatial consistency of the channel throughout the path on which the UE moves can be simulated by enabling this option in the MmWave3gppChannel class. In the current implementation, we support spatial consistency with Procedure A of [30, Sec 7.6.3.2] for both LOS and NLOS communications. It is possible to set the period of update tP ER , and every tP ER the cluster delays, powers and departure and arrival angles are updated with a transformation that accounts for the speed of the UE and for the distance traveled on the horizontal plane. Blockage: This optional feature can be used to model the attenuation in certain clusters, according to their angle of arrival. The attenuation can be caused by the human body that holds the UE, or by external elements such as for example cars, other human bodies, trees. The blockage model is implemented in the MmWave3gppChannel class and can be optionally activated. In our implementation we consider blockage model A, which only distinguishes between selfblocking and non-self-blocking, and is generic and computationally efficient [30]. In particular, this model randomly generates K + 1 blocking regions, one for self-blocking, with different parameters according to the orientation of the UE (i.e., portrait or landscape mode), and K for non-self-blocking. The attenuation is of 30 dB for self-blocking, and dependent on the scenario and on horizontal and vertical arrival angles for non-self-blocking. Moreover, the blocking of a certain cluster is correlated in both space and time, according to the UE mobility, the blocker speed and the simulation scenario. Notice that, if both the blockage and the spatial consistency options are used, then the update of the channel with both features is synchronized, i.e., the cluster blockage is updated before the channel coefficients are recomputed with the spatial consistency procedure. 2) Ray-tracing or Measurement Trace Model: MmWaveChannelRaytracing uses software-generated or measurement traces to model the channel in ns–3, for pathloss and fading. The trace samples need to contain the number of paths and the propagation loss, delay, angle of arrival and angle of departure for each path. The following trace files have been tested in our channel and are available in mmwave/model/Raytracing/. Ray-tracing: Any ray-tracing software (e.g., WinProp [53]) can be used to generate the channel information for a specific route. This means that the simulation scenario must be chosen a priori, and cannot be random since it has to be given as input to the ray-tracing software. An example of ray-tracing route6 is shown in Figure 4b. QuaDRiGa: The Quasi Deterministic Radio Channel Generator model [55], supports consistent user mobility and massive MIMO at several frequencies (10, 28, 43, 60, 82 GHz). It also adds some time evolution characterization on top of the statistical channel to capture user mobility, which makes it suitable for system level simulations. 3) NYU Statistical Model: This channel model is based on the approach described in [31] and implemented in our previous work [26]. A MATLAB implementation of the same channel model is also available in [56]– [58]. It provides two pathloss models, which differ in how they capture the LOS/NLOS condition. The first, MmWavePropagationLossModel, is based on a statistical characterization of the LOS state, while the second, BuildingsObstaclePropagationLossModel, lever6 The ray tracing data was provided by the Communication Systems and Networks Group, University of Bristol, UK [9], [54]. 8 40 Blocked SINR (dB) SINR (dB) 40 20 Long-term cov matrix (update) Long-term cov matrix (update) + blockage Long-term cov matrix (without update) 0 Simulated channel Soft LOS/NLOS transition 40 Beam search (update) Beam search (update) + blockage Beam search (without update) 0 SINR (dB) 20 Blocked 0 20 40 60 Time (s) LOS 50 0 LOS NLOS -50 80 (a) 3GPP statistical channel model 100 SINR (dB) 40 SINR (dB) 0 -20 -20 -20 20 -100 0 50 100 NLOS OUTAGE 150 200 20 0 Simulated channel Blockage overlaid 250 Position along route (m) -20 0 (b) Ray-tracing Trace Model 2 4 6 Time (s) 8 10 (c) NYU Statistical Model Figure 4: Example of average SINR plots for the three channel models. ages the ns–3 buildings module in order to decide whether there is an obstacle between the UE and the eNB or not. In particular, it is possible to deploy – deterministically or randomly – objects of different sizes to mimic humans, cars, and buildings. A virtual line is drawn between the transmitter and the receiver: If this line intersects any object, the state is NLOS, otherwise it is LOS. In both classes, once the channel state is selected, the propagation loss is computed as in [31]. Channel configuration: Since the channel matrices and optimal beamforming vectors do not depend on the distance between the UE and the eNB, they are pre-generated in MATLAB to reduce the computational overhead in ns–3. At the beginning of each simulation we load 100 instances of the spatial signature matrices, along with the beamforming vectors. Moreover, in order to simulate realistic channels with large-scale fading, the channel matrices are updated periodically and independently (block fading). Currently, no results are available for modeling how the large-scale statistics of the mmWave channel change over time for a mobile user, thus it should be noted that the accuracy of this method is not verified at this time. The matrix update can take place at some fixed intervals, specified by the LongTermUpdatePeriod attribute of the MmWaveBeamforming class. The small-scale fading, instead, is calculated at every transmission, where we obtain the speed of the user directly from the mobility model. The remaining parameters that depend on the environment are assumed to be constant over the entire simulation time. Semi-empirical feature: Finally, as shown in Fig. 4c, the soft transition between LOS/NLOS conditions can be modeled in a “semi-empirical” fashion, meaning that we overlay the statistical channel with blockage measurements performed in our lab [59]: Waving a hand in front of the receiver (hand blockage), walking between the transmitter and the receiver (human blockage), and placing a metal plate between the transmitter and the receiver to emulate an obstacle, like a car or a building. B. Beamforming Gain For the long-term statistical channel model, the beamforming vectors are directly loaded from MATLAB generated files. For the other channel models, two methods are implemented to compute beamforming vectors, i.e., the long-term covariance matrix method and the beam search method. Currently, the only available beamforming architecture for data transmission is analog, meaning that devices can transmit or receive in only one direction at a time. As part of our future work, we plan to integrate hybrid and digital transceiver designs. In the long-term covariance matrix method, we assume that the transmitter estimates the spatial correlation matrix Qtx = E[H† (t, f )H(t, f )], where the expectation is taken over the frequencies and some interval of time. An analogous operation is done for the receiver. In practice, the TX and RX would estimate the spatial covariance matrix from reference or synchronization signals and beam scanning. Estimation of this covariance matrix is discussed in [60]. We do not, however, model the covariance estimation directly; instead we simply assume that the TX and RX know the correct long-term channel with some configurable delay. Beamforming vectors can then be computed from the maximal eigenvectors of the covariance matrices [61]. A computationally simple procedure is to use the power method [62]. The algorithm selects a random initial beamforming vector and iteratively multiplies it with the spatial correlation matrix Qtx , normalizing the results at each iteration. Finally, the output will converge to the correct eigenvector. The computation for the receiver is done in the same way, starting from Qrx = E[H(t, f )H† (t, f )]. In the beam search method, we assume that the TX and the RX scan a discrete number of beams from a pre-designed codebook [63]. Codebook design is discussed in detail in [64]. The beamforming vector is selected as the one with the highest power, possibly with some time-averaging. C. Interference MmWave systems may be interference- or power-limited. Albeit potentially less significant for directional mmWave signals, which are generally assumed to be power-limited, there are still some cases where interference is non-negligible [65]. We report in Figure 5 some representative results obtained in [66], where, by plotting the Interference to Noise Ratio (INR), we show that the majority of the links are still interference- 9 1 0.8 0.7 0.7 Empirical CDF Empirical CDF 28 GHz 73 GHz 0.9 0.8 0.6 0.5 INTERFERENCE LIMITED 0.4 0.3 NOISE LIMITED 0.6 0.5 0.4 0.3 0.2 0.2 0.1 0 -80 be decoded or not. Because each TB can be composed of multiple Code Blocks (CBs), whose size depends on the channel capacity, the BLER can be formulated as follows: !# " γi − bCSIZE ,M CS 1 , (3) 1 − erf √ CBLER,i (γi ) = 2 2cCSIZE ,M CS 1 NOISE LIMITED 0.9 -60 -40 -20 0 20 40 INTERFERENCE LIMITED 0.1 28 GHz 73 GHz 0 -80 60 -60 -40 INR [dB] -20 0 20 40 60 INR [dB] (a) Empirical CDF of the INR for (b) Empirical CDF of the INR for λU E = 300 UEs/km2 and λBS = 30 λU E = 1200 UEs/km2 and BSs/km2 . λBS = 120 BSs/km2 . Figure 5: INR trends at different user and base station density levels [66]. limited for some dense topologies. Additionally, although intra-cell interference (i.e., from devices of the same cell) can be neglected in TDMA or Frequency Division Multiple Access (FDMA) operation, it does need to be explicitly calculated in the case of Spatial Division Multiple Access (SDMA)/MultiUser MIMO, where users are multiplexed in the spatial dimension but operate in the same time-frequency resources. Therefore, we propose an interference computation scheme that takes into account the beamforming vectors associated with each link. As an example, we compute the SINR between nodes eN B 1 and U E 1 in the presence of an interferer, eN B 2 . To do so, we first need to obtain the beamforming gains associated with both the desired and interfering signals, i.e., † G11 = |wrx H(t, f )11 wtx11 |2 , 11 (1) † G21 = |wrx H(t, f )21 wtx22 |2 . 11 The SINR is then computed as: SIN R11 = PT x,11 P L11 G11 PT x,22 P L21 G21 + BW × N0 , (2) where PT x,ii is the transmit power of eN B i , P Lij is the pathloss between eN B i and U E j , and BW × N0 is the thermal noise. D. Error Model The mmWave module exploits the error model introduced in the ns-3 LTE LENA project, which follows a link abstraction technique for simulating Transport Block (TB) errors in the downlink of an LTE system. In a nutshell, the model described in [67] defines an accurate and lightweight procedure for the computation of the residual errors after PHY layer processing. This is achieved by exploiting: • Mutual Information-based multi-carrier compression metrics to derive a unique SINR value of the channel, known as effective SINR, which is represented as γi in Eq. 3, and • Link-Level performance curves obtained with a MATLAB bit-level LTE PHY simulator [68], which have been used to match a mathematical approximation of the Block Error Rate (BLER), as reported in Eq. (3). The ultimate goal is to let the receiver derive the error probability of each TB to determine whether the packet can where γi corresponds to the mean mutual information per coded bit of code block i, as explained earlier, and bCSIZE ,M CS and cCSIZE ,M CS represent the mean and standard deviation of the Gaussian cumulative distribution, respectively, which have been obtained from the link level performance curves mentioned above. Finally, the TB block error rate is given by: TBLER = 1 − C Y i=1 (1 − CBLER,i (γi )). (4) E. Examples An example of SINR plots for the three channel models is presented in Figure 4. An example related to the setup of the channel model can be found in the examples folder of the mmWave module, in the file mmwave-3gpp-channel-example.cc. Figure 4a shows an example of a rural scenario with an eNB at coordinates (0, 0) m and at the height of 35 m, and a UE in position (100, 0) m, at the height of 1.5 m and moving at 1 m/s along the y axis, maintaining LOS connectivity. The channel is updated consistently every 100 ms. The top figure shows the SINR when the Beamforming (BF) vector is updated with the long-term covariance matrix method, while in the bottom one it is updated with the beam search method. Notice that the current implementation of the beam search method uses a fixed elevation angle of 90 degrees and sweeps only the horizontal plane. Therefore, the beam search method cannot align with the LOS cluster and the power is reduced by 20 dB. Moreover, after enabling the blockage model, the SINR achieved by the long-term covariance matrix method dropped by 20 dB when the LOS cluster was blocked. However, the beam search method experienced less blockage impact, as it did not align with the LOS cluster. In the other case, without update, the BF vector is computed at t = 0 s but never updated, and this causes the SINR to drop as the UE moves. Comparing the blue and black curves, it is possible to observe that for the first 20 s the performance with and without BF update is similar, because of the consistency of the channel and of the low mobility of the UE, but after t = 20 s the SINR without update degrades by nearly 30 dB. The last observation is that the long-term covariance matrix method finds the optimal BF vector whenever the channel is changed, therefore the SINR is very stable. On the other hand, the beam search method shows an SINR drop after 20 s even with update, because when the UE moves both the UE and the eNB are unable to optimally adapt the BF vector and just select one of the available sectors. Figure 4b plots the average SINR of a ray tracing channel indicating both LOS intervals and NLOS channel states. The ray tracing data contains 5000 samples along a 500 meter route. The SINR has a sudden change when the channel state 10 In this section, we discuss the key features of the mmWave PHY layer. Specifically, we have implemented a TDD frame and subframe structure, which has similarities to TDD-LTE, but allows for more flexible allocation and placement of control and data channels within the subframe and is suitable for the variable TTI MAC scheme described in Section VII. Moreover, we implemented an error model and HARQ model based on those in LENA, but compatible with our custom mmWave PHY and numerology (for instance, they support larger TB and codeword sizes as well as multi-process stopand-wait HARQ for both DL and UL). A. Frame Structure It is widely contended that 5G mmWave systems will target Time Division Duplex (TDD) operation because it offers improved utilization of wider bandwidths and the opportunity to take advantage of channel reciprocity for channel estimation [3], [69]–[72]. In addition, shorter symbol periods and/or slot lengths have been proposed in order to reduce radio link latency [73]–[75]. The ns–3 mmWave module therefore implements a TDD frame structure which is designed to be configurable and supports short slots in the hope that it will be useful for evaluating different potential designs and numerologies. These parameters, shown in Table I, are accessible through the attributes of the common MmwavePhyMacCommon class, which stores all user-defined configuration parameters used by the PHY and MAC classes. Examples related to the setup of the PHY layer parameters can be found in the mmwave-tdma.cc and mmwave-epc-tdma.cc files. The frame and subframe structures share some similarities with LTE in that each frame is subdivided into a number of subframes of fixed length [76]. However, in this case, the user is allowed to specify the subframe length in multiples of OFDM symbols7 . Within each subframe, a variable number of 7 Though many waveforms are being considered for 5G systems, OFDM is still viewed as a possible candidate. In [71], [77], Verizon and the consortium led by Korea Telecom propose a frame structure and OFDM numerology. However, this is still under debate in 3GPP [78]. We naturally chose to adopt OFDM, at least initially, for the mmWave module, which allows us to leverage the existing PHY models derived for OFDM from the LTE LENA module. As soon as the 3GPP NR will be standardized, the protocol stack in our module can be adapted to the updated parameters. Subframe 10 1 Frame, 1 ms DL DL/UL CTRL DATA Sym 23 Sym 24 DL/UL UL DATA CTRL 1 Subframe, 100 µs 1 Sub-band Sym 2 (48 sub carriers = 13.89 MHz 1 Subframe = 24 OFDM symbols Sym 1 1 OFDM Symbol Total Bandwidth VI. P HYSICAL L AYER 1 Frame = Subframe Subframe 2 10 Subframes 1 (72 Sub-bands = 1 GHz) switches. We note that the SINR curve within LOS is relatively stable, whereas more random variations are introduced for NLOS. Finally, Figure 4c shows the average SINR trace generated with the NYU channel model [31] in two cases, a walking user blocked by a building (top) or by other humans (bottom). The main difference is that, with buildings, the link capacity drops rapidly and the blocking interval lasts seconds; on the other hand, with humans, the channel deteriorates slowly and the blockage lasts only for a short interval. From the top figure, we can observe that with soft LOS/NLOS transition enabled, the SINR curve changes less suddenly when the channel condition switches. In the bottom graph, three human blockage events, at 1, 4 and 7 seconds, are added on top of the statistical channel. 4.16 µs Figure 6: Proposed mmWave frame structure. symbols can be assigned by the MAC scheduler and designated for either control or data channel transmission. The MAC entity therefore has full control over multiplexing of physical channels within the subframe, as discussed in Section VII. Furthermore, each variable-length time-domain data slot can be allocated by the scheduler to different users for either the uplink or the downlink. Figure 6 shows an example of frame structure with the numerology taken from our proposed design in [74]. Each frame of length 1 ms is split in time into 10 subframes, each of duration 100 µs, representing 24 symbols of approximately 4.16 µs. In this particular scheme, the downlink and uplink control channels are always fixed in the first and last symbol of the subframe, respectively. A switching guard period of one symbol period is introduced each time the direction changes from UL to DL. In the frequency domain, the entire bandwidth of 1 GHz is divided into 72 subbands of width 13.89 MHz, each composed of 48 subcarriers. It is possible to assign UE data to each of these subbands, as is done with Orthogonal Frequency-Division Multiple Access (OFDMA) in LTE, however only TDMA operation is currently supported for reasons we shall explain shortly. B. PHY Transmission and Reception The MmWaveEnbPhy and MmWaveUePhy classes model the physical layer for the mmWave eNB and the UE, respectively, and encapsulate similar functionalities as the LtePhy classes from the LTE module. Broadly, these objects (i) handle the transmission and reception of physical control and data channels (analogous to the Physical Downlink Control Channel (PDCCH)/Physical Uplink Control Channel (PUCCH) and Physical Downlink Shared Channel (PDSCH)/Physical Uplink Shared Channel (PUSCH) channels of LTE), (ii) simulate the start and the end of frames, subframes and slots, and (iii) deliver received and successfully decoded data and control packets to the MAC layer. In the MmWaveEnbPhy and MmWaveUePhy classes, calls to StartSubFrame() and EndSubFrame() are scheduled at fixed periods, based on the user-specified subframe length, to mark the start and end of each subframe. The timing of variable-TTI slots, controlled by scheduling the StartSlot() and EndSlot() methods, is dynamically 11 Parameter Name Default Value Description SubframePerFrame SubframeLength SymbolsPerSubframe SymbolLength NumSubbands SubbandWidth SubcarriersPerSubband CenterFreq NumRefScPerSymbol NumDlCtrlSymbols NumUlCtrlSymbols GuardPeriod MacPhyDataLatency PhyMacDataLatency NumHarqProcesses 10 100 24 4.16 72 13.89 48 [6-100] 864 (25% total) 1 1 4.16 2 2 20 Number of subframes in one frame Length of one subframe in µs Number of OFDM symbols per slot Length of one OFDM symbol in µs Number of subbands Width of one subband in MHz Number of subcarriers in each subband Possible carrier frequencies in GHz∗ Reference subcarriers per symbol Downlink control symbols per subframe Uplink control symbols per subframe Guard period for UL-to-DL mode switching in µs Subframes between MAC scheduling request and scheduled subframe Subframes between TB reception at PHY and delivery to MAC Number of HARQ processes for both DL and UL Table I: Parameters for configuring the mmWave PHY. ∗ The NYU channel model [31] supports only 28 and 73 GHz. configured by the MAC via the MAC-PHY SAP method SetSfAllocInfo(), which enqueues an SfAllocInfo allocation element for some future subframe index specified by the MAC. A subframe indication to the MAC layer triggers the scheduler at the beginning of each subframe to allocate a future subframe. For the UE PHY, SfAllocInfo objects are populated after reception of DCI messages. At the beginning of each subframe, the current subframe allocation scheme is dequeued, which contains a variable number of SlotAllocInfo objects. These, in turn, specify contiguous ranges of OFDM symbol indices occupied by a given slot, along with the designation as either DL or UL and control (CTRL) or data (DATA). The data packets and the control messages generated by the MAC are mapped to a specific subframe and slot index in the packet burst map and control message map, respectively. Presently, in our custom subframe design, certain control messages which must be decoded by all UEs, such as the DCIs, are always transmitted in fixed PDCCH/PUCCH symbols at the first and last symbol of the subframe, but this static mapping can be easily changed by the user8 . Other UE-specific control and data packets are recalled at the beginning of each allocated TDMA data slot and are transmitted to the intended device. To initiate transmission of a data slot, the eNB PHY first calls AntennaArrayModel::ChangeBeamformingVector() to update the transmit and receive beamforming vectors for both the eNB and the UE. In the case of control slots, no beamforming update is applied since we currently assume an “ideal” control channel. For both DL and UL transmissions, either the MmWaveSpectrumPhy method StartTxDataFrame() or StartTxCtrlFrame() is called to transmit a data or control slot, respectively. The functions of MmWaveSpectrumPhy, which is similar to the corresponding LENA class, are as follows. After the reception 8 As in [73], [74], we assume either FDMA or SDMA-based multiple access in the control regions. However, we do not currently model these modulation schemes nor the specific control channel resource mapping explicitly. We intend for this capability to be available in later versions, which will enable more accurate simulation of the control overhead. of data packets, the PHY layer calculates the SINR of the received signal in each subband, taking into account the path loss, MIMO beamforming gains and frequency-selective fading. This triggers the generation of Channel Quality Information (CQI) reports, which are fed back to the base station in either UL data or control slots. The error model instance is also called to probabilistically compute whether a packet should be dropped by the receiver based on the SINR and, in the case of an HARQ retransmission, any soft bits that have been accumulated in the PHY HARQ entity (see Section VII-B). Uncorrupted packets are then received by the MmWavePhy instance, which forwards them up to the MAC layer SAP. VII. MAC L AYER TDMA is widely assumed to be the de-facto scheme for mmWave access because of the dependence on analog beamforming, where the transmitter and receiver align their antenna arrays to maximize the gain in a specific direction (rather than with a wide angular spread or omni-directionally, as in conventional systems). Many early designs and prototypes have been TDMA-based [69], [70], [72], with others incorporating SDMA for the control channel only [73]. SDMA or FDMA schemes (as in LTE) are possible with digital beamforming, which would allow the base station to transmit or receive in multiple directions at the same time. Furthermore, one of the foremost considerations driving innovation for the 5G MAC layer is latency. Specifically, the Key Performance Indicator of 1 ms over-the-air latency has been proposed as one of the core 5G requirements by such standards bodies as the International Telecommunication Union [79], as well as by recent pre-standardization studies such as those carried out under the METIS 2020 project [80]. However, a well-known drawback of TDMA is that fixed slot lengths or TTIs can result in poor resource utilization and latency, which can become particularly severe in scenarios where many intermittent, small packets must be transmitted to/received from many devices [74]. Based on these considerations, variable TTI-based TDMA frame structures and MAC schemes have been proposed in 12 A. Adaptive Modulation and Coding The role of the Adaptive Modulation and Coding (AMC) mechanism is to adapt the modulation scheme and the coding applied on top to the channel quality, measured using CQIs. In the simulator, this translates into (i) mapping the CQI into the Modulation and Coding Scheme (MCS), using the error model implemented in the MmWaveMiErrorModel and described in Sec. V-D, and (ii) computing the available TB size for a subframe given the MCS. This information is then used by the scheduler to perform radio resource management. The AMC is implemented in the MmWaveAmc class, which uses most of the code of the corresponding LENA module class. Some minor modifications and additional methods were necessary to accommodate the dynamic TDMA MAC scheme and frame structure. For instance, the GetTbSizeFromMcsSymbols() and GetNumSymbolsFromTbsMcs() methods are used by the scheduler to compute the TB size from the number of symbols for a given MCS value, and vice versa. Also the CreateCqiFeedbackWbTdma() method is added to generate wideband CQI reports for variable-TTI slots. Figure 7 shows the results of the test case provided in mmwave-amc-test.cc. This simulation serves to demonstrate the performance of the AMC and CQI feedback mechanisms for a single user in the uplink (although a multi-user scenario could easily be configured as well). The default PHY/MAC parameters in Table I are used along with the default scheduler and default parameters for the statistical path loss, fading and beamforming models (i.e., MmWavePropagationLossModel and MmWaveBeamforming). We compute the rate versus the average SINR over a period of 12 seconds (long enough for the small-scale fading to average out). The average PHY-layer rate is computed as the average sum of the sizes of successfully-decoded TBs per second. Every 12 seconds we artificially increase the path loss while keeping the UE position fixed. As the SINR decreases, the MAC will select a lower MCS level to encode the data. The test is performed for the Additive White Gaussian Noise (AGWN) case (i.e., no fading) as well as for small-scale 3500 AWGN fast fading 3000 2500 Rate (Mbps) [20], [73]–[75], [81]. This approach allows for slot sizes that can vary according to the length of the packet or TB to be transmitted and are well-suited for diverse traffic since they allow bursty or intermittent traffic with small packets as well as high-throughput data like streaming and file transfers to be scheduled efficiently. The MAC layer implementation can be found in the MmWaveEnbMac and MmWaveUeMac classes, whose main role is the coordination of procedures such as scheduling and retransmission. Moreover, they interact with the RLC layer to receive periodic reports on the buffer occupancy, i.e., the Buffer Status Reports (BSRs), and with the physical layer classes for the transmission and reception of packets. To carry out their functionalities, the MAC classes interact with several other classes, that we will describe in the following paragraphs. 2000 1500 1000 500 0 4 123 10 5 56 78 9 0 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 5 10 SINR (dB) 15 20 25 30 Figure 7: Rate and MCS vs. SINR for a single user under AGWN and fastfading mmWave channels. fading. Although the UE position relative to the base station is constant, we can generate time-varying multi-path fading through the MmWaveBeamforming class by setting a fixed speed of 1.5 m/s to artificially generate Doppler, which is a standard technique for such an analysis. Also, we assume that the long-term channel parameters do not change for the duration of the simulation. Figure 7 therefore shows the data rate that it is possible to achieve with a certain SINR and with a certain modulation and coding scheme. If this plot is compared to the one generated from a similar test in Figure 3.1 of the LENA documentation [51], we notice that the AGWN curve from the mmWave test is shifted by approximately 5 dB to the left, indicating that the LENA version is transitioning to a lower MCS at a much higher SINR. This is because the LENA test is using the more conservative average SINR-based CQI mapping, which targets a much smaller TB error probability. In our test, we use the Mutual Information-Based Effective SINR scheme described in Sec. V-D with a target maximum TB error of 10% in order to maximize the rate for a given SINR [67]. B. Hybrid ARQ Retransmission Full support for HARQ with soft combining is now included in the mmWave module. HARQ is a technique introduced in [82] and extensively used in LTE networks [20], which enables fast retransmissions with incremental redundancy in order to increase the probability of successful decoding and the efficiency of the transmissions. In LTE, the HARQ mechanism is based on multiple stop and wait retransmission processes, and a maximum of 8 simultaneous HARQ processes can be active at any given time [83]. The HARQ retransmissions have priority with respect to new transmissions, thus the available resources are given first to HARQ processes and then to the data queued in the RLC buffers. Despite being fundamental in protecting from the losses of packets due to rapid variations in the channel quality, the HARQ mechanism introduces additional latency [18], [20], therefore the optimization of its performance is necessary to enable the target of sub-1-ms latency for ultra-low-latency communications. The MmWaveHarqPhy class along with the functionalities within the different scheduler classes are based heavily on 13 the LENA module code. The scheduler at the eNB uses the information provided by HARQ feedback messages to assign new resources to the HARQ processes that require retransmissions. Each transport block is granted a maximum number of transmission attempts, which is set to 3, as in LTE. However, some novelties are introduced in MmWaveHarqPhy in order to account for the more challenging channel conditions of the mmWave scenario. First, multiple HARQ processes per user can be created not only for the downlink but also for the uplink. Second, the number of processes per user is not fixed to 8, but can be configured through the NumHarqProcesses attribute in MmWavePhyMacCommon. This makes it possible to control (and, if needed, increase) the number of the simultaneous stop and wait retransmission processes and optimize the bandwidth utilization. Third, additional modifications were needed to support larger codeword sizes in both the MmWaveHarqPhy and MmWaveMiErrorModel classes. Finally, the integration with the flexible TTI physical layer allows a reduction in the latency of the retransmissions, as discussed in [20]. C. Schedulers We now present the implementations of four scheduler classes for the variable TTI scheme. These differ significantly from the OFDMA-based schedulers available in ns–3 LENA [51] as, instead of allocating Resource Blocks/Resource Block Groups of frequency-domain resources, these TDMA-based schedulers allocate time-domain symbols within a periodic subframe to different users in the DL or UL direction. Before scheduling new data, Buffer Status Report and CQI messages are first processed. The MCS is computed by the AMC model for each user based on the CQIs for the DL or SINR measurements for the UL data channel. The MCS and the buffer length of each user are used to compute the minimum number of symbols required to schedule the data in the user’s RLC buffers. This procedure for estimating the optimal MCS and determining the minimum number of symbols is common to each of the schedulers described in the following. Round Robin (RR) Scheduler: The MmWaveFlexTtiMacScheduler class is the default scheduler for the mmWave module. It supports the variable TTI scheme previously described in Section VI and assigns OFDM symbols to user flows in Round-Robin order. Upon being triggered by a subframe indication, any HARQ retransmissions are automatically scheduled using the available OFDM symbols. While the slot allocated for a retransmission does not need to start at the same symbol index as the previous transmission of the same TB, it does need the same number of contiguous symbols and MCS, since an adaptive HARQ scheme (where the re-transmission can be scheduled with a different MCS) has not yet been implemented. To assign symbols to users, the total number of users with active flows is first calculated. Then the total available data symbols in the subframe are divided evenly among users. If a user requires fewer symbols to transmit its entire buffer, the remaining symbols (i.e., the difference between the available and required slot length) are distributed among the other active users. One also has the option to set a fixed number of symbols per slot by enabling the fixed TTI mode. Although the same general subframe structure is maintained, slots will then be allocated in some multiple of SymPerSlot symbols. Setting the SymPerSlot attribute of the scheduler class to the number of slots per subframe, for instance, will result in only one UE being scheduled per subframe, which would be highly inefficient in a multi-user cell. Proportional Fair (PF) Scheduler: Proportional Fair is another well-known discipline, and is provided by the MmWaveFlexTtiPfMacScheduler class. The PF scheduler attempts to prioritize traffic for high-SINR users while maintaining some measure of fairness by ensuring that low-SINR, cell-edge users are also scheduled [84]. Earliest Deadline First (EDF) Scheduler: The MmWaveFlexTtiEdfMacScheduler class implements an Earliest Deadline First policy, which is a priority queue-based policy that weighs flows by their relative deadlines for packet delivery. The deadlines are initially set according to the delay budget of the QoS Class Indicator (QCI) configured by the RRC layer [85], [86]. The deadline of the Head-of-Line (HOL) packets of each RLC buffer is then compared, and that with the earliest deadline is scheduled first. Any remaining symbols in the subframe are allocated to the packet with the next smallest relative deadline and so forth until all Nsym symbols are assigned. The EDF scheduler is the only deliberately delaysensitive scheme included in the mmWave module and can be useful for evaluating the latency performance of mmWave links, as in the simulations presented in Sec. X. Maximum Rate (MR) Scheduler: The Maximum Rate policy realized in the MmWaveFlexTtiMrMacScheduler class schedules only the users with the highest SINRs to maximize cell throughput. Initially, UEs are sorted based on their optimal MCS values. Symbols are distributed in roundrobin fashion among UEs at the highest MCS level until the minimum number of symbols required to transmit the entire buffers of these users has been assigned. This is then repeated for UEs at the second highest level, and so forth until all symbols of the subframe are allocated. The MR scheduler potentially suffers from extremely poor fairness when there are both high- and low-rate users, and some users may not be scheduled at all, thus making it impractical for any real-world multi-user system. However, it may still be useful for testing system capacity and performance. VIII. RLC L AYER The RLC layer is inherited directly from the LTE module described in [23], and therefore all the LTE RLC entities are included. Moreover, the RLC AM retransmission entity is modified to be compatible with the mmWave PHY and MAC layers, and Active Queue Management (AQM) for the RLC buffers is introduced as a new optional feature. 14 A. Modified RLC AM Retransmission Reordering and retransmission play an important role in RLC AM. Due to the shortened mmWave frame structure, the timers of the RLC entity should also be reduced accordingly, e.g., the PollRetransmitTimer is changed to 2 ms from 20 ms. Moreover, the original LTE module does not perform resegmentation for retransmissions, and the RLC segment waits in the retransmission buffer until the transmission opportunity advertised by the lower layers is big enough. This becomes problematic when the transmission is operated over an intermittent channel, as a sudden channel capacity drop would halt the retransmission entirely. Therefore, we added to the RLC AM layer implementation the capability of performing segmentation also for the retransmission process, in order to support an intermittent mmWave channel. The re-segmentation process deployed in our RLC AM class works as follows: If the number of bytes that can be transmitted in the next opportunity is smaller than the bytes of the segment that should be retransmitted, then the segment will be split into smaller subsegments with a re-segment flag set to be true. The RLC layer at the receiver side will check the flags of the subsegments, and wait until the final one if the flag is set to be true. Finally, the subsegments are assembled to construct the original segment and forwarded to the upper Packet Data Convergence Protocol (PDCP) layer if all subsegments are received correctly. Otherwise, all subsegments are discarded and another retransmission is triggered. B. Active Queue Management Active Queue Management techniques are used in the buffers of routers, middleboxes and base stations in order to improve the performance of TCP and avoid the manual tuning of the buffer size. Different strategies have been defined in the literature [87], [88], and several of them are implemented in ns–3 [89]–[91]. AQM strategies allow the network to avoid congestion at the buffers, because they react early to the increase in the buffer occupancy by dropping some packets before the buffer is full. With respect to the default Drop-tail approach, in which no packet is dropped until the buffer is full, AQM techniques make TCP aware of possible congestion earlier, avoiding the latency increase which is typical of the bufferbloat phenomenon [92]. Some early AQM, such as Random Early Detection (RED) [93], [94], were widely studied in the literature, but failed to find market traction because of the intrinsic complexity of their tuning parameters. Recently, a simpler AQM technique, namely Controlled Delay (CoDel) [95], was proposed to replace RED queues. CoDel adapts to dynamic link rates without parameter configuration, and is able to discriminate “good” and “bad” queues: good queues can quickly empty the buffer, whereas “bad” queues persistently buffer packets. CoDel works by monitoring the minimum queue delay in every 100 ms interval, and only drops packets when the minimum queue delay is more than 5 ms. In the RLC layer of the LTE module, the default queue management is Drop-tail. In the mmWave module, the RLC layer can use either the default Drop-tail approach or more sophisticated AQM techniques, that can be enabled by setting the EnableAQM attribute to true. The default AQM is the CoDel scheme, however it is possible to use any of the queues available in ns–3 by modifying the queue attribute in the LteRlcAm class. The evaluation of the AQM scheme is further discussed in Section X-D. IX. D UAL C ONNECTIVITY E XTENSION The ns–3 mmWave module is also capable of performing simulations with dual-stack UEs connected both to an LTE eNB and to a mmWave eNB. This feature, partially described in [29], was introduced because mmWave 5G networks will likely use multi-connectivity and inter-networking with legacy Radio Access Technologies (RATs) in order to increase the robustness with respect to mobility and channel dynamics [14]–[16], [96]–[98]. The source code can be found in the new-handover branch of the ns–3 mmWave module repository. The Dual Connectivity (DC) implementation of this simulation module assumes that the core networks of LTE and of mmWave will be integrated, as in one of the options described in [99]. Therefore the LTE and the mmWave eNBs share the same backhaul network, i.e., they are connected to each other with X2 links and to the Mobility Management Entity (MME)/Packet Gateway (PGW) nodes with the S1 interface. As to the Radio Access Network (RAN), the DC solution of this module is an extension of 3GPP’s LTE DC proposal [100]. In particular, a single bearer per DC flow is established, with a connection from the core network to the LTE eNB, where the flow is split and forwarded either to the local stack or to the remote mmWave stack. We chose the PDCP layer as the integration layer, since it allows a non-colocated deployment of the eNBs and a clean-slate approach in the design of the PHY, MAC and RLC layers [101]. A basic diagram for a DC UE device, an LTE eNB and a mmWave eNB is shown in Figure 8. The core of the DC implementation is the McUeNetDevice class, which is a subclass of the ns–3 NetDevice and provides an interface between the ns–3 TCP/IP stack and the custom lower layers. The McUeNetDevice holds pointers to the custom lower layer stack classes, and has a Send method that forwards packets to the TCP/IP stack. This method is linked to a callback on the DoRecvData of the EpcUeNas class, which as specified by the 3GPP standard acts as a connection between the LTE-like protocol stack and the TCP/IP stack. The McUeNetDevice describes a dual connected UE with a single EpcUeNas, but with a dual stack for the lower layers, i.e., there are separate LTE and mmWave PHY and MAC layers. Moreover, there is an instance of the RRC layer for both links. This grants a larger flexibility, because the functionalities and the implementation of the two layers may differ. Besides, the LTE RRC manages both the LTE connection and the control plane features related to DC, while the mmWave RRC handles only the mmWave link. The usage of a secondary RRC, dedicated to the mmWave link, avoids latency in control commands (i.e., the mmWave eNB does not have to encode and transmit the control Packet Data Unit (PDU)s to the master 15 McUeNetDevice EpcUeNas LteUeRrc mmWaveUeRrc McUePdcp LteRlc mmWaveRlc LteUeMac LteUePhy mmWaveUeMac mmWaveUePhy LteSpectrumPhy mmWaveSpectrumPhy Channel classes MultiModelSpectrumChannel MultiModelSpectrumChannel and mmWaveBeamforming LteSpectrumPhy mmWaveSpectrumPhy LteEnbPhy LteEnbMac mmWaveEnbPhy mmWaveEnbMac LteRlc mmWaveRlc face nter X2 i LteEnbNetDeviceMcEnbPdcp LteEnbRrc MmWaveEnbNetDevice mmWaveEnbRrc EpcEnbApplication S1 interface Core Network Figure 8: Block diagram of a dual-connected device, an LTE eNB and a mmWave eNB [29]. LTE eNB). The EpcUeNas layer has an interface to both RRC entities to exchange information between them. The LTE RRC manages also the data plane for the DC devices. In particular, for each bearer, a dual connected PDCP layer is initialized and stored in the LTE RRC. The classes describing the DC PDCP layer are McEnbPdcp and McUePdcp, respectively at the eNB side and at the UE side. They both extend the LtePdcp class with a second interface to the RLC. However, while McUePdcp simply has to communicate with a local RLC in the UE, the implementation of McEnbPdcp requires new interfaces to the class describing the X2 links between eNBs (i.e., EpcX2). In particular, in downlink the eNB PDCP has to send packets to the X2 link and the mmWave RLC layer has to receive them, and vice versa in uplink. The DC module can be used to simulate different dual connected modes, i.e., it can support both Fast Switching (FS) and throughput-oriented dual connectivity, according to which RRC and X2 procedures and primitives are implemented. With FS, the UE is in the RRC CONNECTED state with respect to both eNBs, but only transmits data to one of the two. With the other option, the UE can transmit data simultaneously on both RATs, and different flow control algorithms can be plugged in and tested. As to the physical layer, the two stacks rely on the mmWave and LTE channel models. Notice that since the two systems operate at different frequencies, modeling the interference between the two RATs is not needed. Each of the two channel models can therefore be configured independently. In order to use an McUeNetDevice as a mobile User Equipment in the simulation, the helper class of the mmWave module was extended with several features, such as (i) the initialization of the objects related to the LTE channel; (ii) the installation and configuration of the LTE eNBs, so that they can be connected to the LTE stack of the McUeNetDevice; and (iii) the methods to set up a McUeNetDevice and link its layers as shown in Fig 8. An example on how to set up a dual-connectivity based simulation is provided in the file mc-twoenbs.cc. RRC Layer for Dual Connectivity and Mobility. The RRC layer implementation of the original LTE ns–3 module was extended in order to account for DC-related control procedures. In particular, the multi-connectivity uplink-based measurement framework described in [15] was added with changes to the MmWaveEnbPhy, EpcX2 and LteEnbRrc classes. The MmWaveEnbPhy instance simulates the reception of uplink reference signals (which are accounted for as overhead in the data bearers resource allocation), computes the SINR for each UE in the scenario9 , and sends this information to the LTE eNB on the X2 link. This also allows the simulation of a delay in the reporting, since the control packets with the SINR values must be transmitted on an ns–3 PointToPointLink, which adds a certain latency and has a certain bitrate. Thanks to this framework, the LTE eNB is able to act as a coordinator for the surrounding mmWave eNBs, and learns which is the best association (in terms of SINR) between UEs and mmWave secondary eNBs. This enables automatic cell selection for mmWave eNBs at the beginning of a simulation, and the control of mobility-related operations. The DC module is indeed capable of simulating FS procedures between mmWave and LTE links and Secondary Cell Handover (SCH) (i.e., handovers between mmWave eNBs that do not involve the MME in the core network) initiated by the central controller in the LTE eNB. It is also possible to use the DC module to simulate X2-based RAT handovers between the LTE and mmWave eNBs, i.e., to use standalone UEs based on McUeNetDevice that can perform handovers from the LTE to the mmWave eNBs, and vice versa. Different handover (either inter-RAT or SCH) algorithms can be tested, by implementing them in the LteEnbRrc class. In order to make the handover simulation more compliant with the 3GPP specifications, the lossless handover option implemented for ns–3 in [102] was adapted to the DC module in order to forward the RLC buffer content to the target RAT/eNB RLC layer for both the SCH and the FS. Moreover, in order to model the additional latency given by the interaction with the MME for inter-RAT handovers for standalone UEs, the link between the eNBs and the MME is modeled in this module as a PointToPointLink, while in the original ns–3 LTE module it is an ideal connection. 9 The framework assumes that the optimal beam is always chosen, so the actual directional scan procedure described in [15] is not simulated 16 X. U SE C ASES 1 0.8 Empirical Probability In this section, we illustrate various examples of scenarios10 that can be simulated to show the utility of the module for the analysis of novel mmWave protocols and for testing higherlayer network protocols, such as TCP, over 5G mmWave networks. After each particular use case example, we also provide to the interested readed some references to recent papers that report additional results obtained using the ns–3 mmWave simulation module. 0.6 0.4 mr pf rr edf 0.2 0 0.1 A. Simulation Setup Walk-through B. Multi-User Scheduling Simulation In this experiment, the throughput and latency of users of a mmWave cell with 1 GHz of bandwidth are simulated for 10 The simulations in this section are all configured with the basic PHY and MAC parameters in Table I, with other notable parameters given in the sequel. 5 10 50 100 (a) Empirical CDF of rate 1 rr pf edf mr 0.8 Empirical Probability In order to proficiently use the mmWave ns–3 module, a basic knowledge of ns–3 is required. We therefore advise the interested users to first study the extensive documentation referenced in Sec. III. Moreover, we provide some basic ns–3 scripts in the examples folder of the mmWave module, that can be a basis for the design of any simulation script that uses the mmWave module. In the following paragraphs, we will describe the basic structure of a typical example in simple steps. The first step is to configure all the attributes needed in a simulation. A complete list of attributes related to the mmWave module can be found in the mmWaveAttributesList file in the module repository. The second step involves the setup of the MmWaveHelper object, which provides methods to create the entities involved in the simulation (e.g., the channel-related objects and the MmWavePhyMacCommon object), to install the mmWave stack over ns–3 nodes (for both UEs and eNBs), to perform the initial attachment of a UE to the closest eNB and to enable or disable the generation of simulation traces. Moreover, if the scenario of interest is an end-to-end scenario, the core network and the internet must be set up as well. The first is created by the MmWavePointToPointEpcHelper, which also provides a pointer to the Packet Gateway (PGW) node. This is then usually connected to a remote host, and the internet stack (i.e., the TCP/IP protocol suite) is added to the UEs and to the remote host. In the third step, the positions and velocities of the eNBs and UEs are specified using one or more MobilityHelper objects and different mobility models. Moreover, buildings and obstacles can be added to the scenario using the ns–3 buildings module and the Buildings and BuildingsHelper objects. The fourth step requires the setup of applications in the UEs and in the remote host (if an end-to-end scenario is considered), in order to simulate downlink and uplink traffic. ns–3 provides a wide range of different applications, and helpers that take care of their setup. They can run on either UDP or TCP sockets, and several TCP congestion control versions are available. Finally, the simulation can be run using the Simulator object of ns–3, and traces are generated. 0.5 1 Mean PHY Rate (Mbps) 0.6 1 ms 0.4 0.2 0 10-1 100 101 102 103 Mean IP-Layer Latency (ms) (b) Empirical CDF of latency Figure 9: Distributions of PHY-layer throughput and IP-layer latency for 70 UEs, 10 Mbps/UE arrival rate variable TTI and each of the scheduling policies described in Section VII.11 We shall see how the choice of the scheduler has a significant impact on the subframe utilization and latency of the multi-user cell. In these scenarios, UEs have similar distances from the eNB but are assigned the constant speed of 25 m/s (typical of vehicular users), which results in a lower achievable rate, on average, as well as increased packet errors compared to walking users due to the more rapid variation in the channel. The simulation is again run over 10 drops for each of two scenarios and using default parameters from Table I. In the first scenario, 70 UEs are simulated with each UE generating IP-layer traffic at an average arrival rate of 10 Mbps. In the second scenario, 7 UEs are simulated with a 100 Mbps arrival rate per UE. These specific combinations of users and rates are deliberately chosen because they illustrate the cut-off point at which the system is no longer able to service most users at the requested rate, leading to backlogged queues and increased latency. That is, we wish to analyze the performance at the knee in the curve of the delay taken as a function of the system utilization. In the variable TTI system, this bottleneck effect has the following potential causes: (i) the number of users that must be serviced exceeds the number of available slots (ultimately limited by the number of time-domain symbols), independently of the total throughput requested by the users; (ii) the number of users that are connected to eNB is smaller than the number of available slots, but the total throughput 11 The multi-user scheduling experiment can be reproduced by running the the mmwave-epc-tdma.cc example simulation [25]. 17 PHY-layer throughput [Mbit/s] Policy Cell Mean UE Mean 5% Worst UE Max UE 70 UE/ 10 Mbps RR PF MR EDF 1815.92 1494.61 2273.18 925.80 25.94 21.35 32.47 13.23 1.11 3.26 0.00 7.31 48.80 43.94 151.36 31.02 7 UE/ 100 Mbps RR PF MR EDF 715.26 758.32 766.26 647.98 102.18 108.33 109.47 92.57 49.18 52.32 47.26 63.89 134.28 158.16 158.22 121.76 Table II: DL PHY throughput for RR, PF, MR and EDF scheduling policies. IP-layer latency [ms] Policy Mean UE Mean 5% Worst UE Max UE 70 UE/10 Mbps RR PF MR EDF 7.47 2.83 0.65 1.63 69.35 34.48 1.89 7.91 118.62 106.54 3.07 30.65 7 UE/100 Mbps RR PF MR EDF 0.67 0.55 0.56 0.69 2.01 0.68 0.78 1.41 2.37 0.77 1.09 1.44 Table III: IP-layer latency for RR, PF, MR and EDF scheduling policies. 0.8 Empirical Probability Fairness Utilization 70 UE/10 Mbps RR PF MR EDF 0.71 0.76 0.28 0.96 0.53 0.73 0.39 0.87 7 UE/100 Mbps RR PF MR EDF 0.95 0.90 0.91 0.99 0.74 0.77 0.76 0.84 Table IV: Fairness index and utilization (received IP-layer rate/allocated PHY rate) for RR, PF, MR and EDF scheduling policies. worst-case) user PHY rates and IP-to-IP layer latencies are also provided in Tables II and III along with the utilization and Jain’s Fairness Index in Table IV. 1 0.6 0.4 mr pf rr edf 0.2 0 50 100 200 Mean PHY Rate (Mbps) (a) Empirical CDF of rate 1 0.8 Empirical Probability Policy 0.6 1 ms 0.4 rr pf edf mr 0.2 0 0.5 1 1.5 2 2.5 Mean IP-Layer Latency (ms) (b) Empirical CDF of latency Figure 10: Distributions of PHY-layer throughput and IP-layer latency for 7 UEs, 100 Mbps/UE arrival rate they request exceeds the available resources in the given time period; or (iii) a combination of the previous cases. These effects are demonstrated in Figures 9 and 10 for the 70 UE/10 Mbps and 7 UE/100 Mbps arrival rate scenarios, respectively. The mean, maximum and cell-edge (i.e., 5% For the 70 UE case, Figure 9a shows the distribution of the mean rate experienced by each UE over the simulation duration. It can be seen that the MR and RR policies exhibit the greatest disparity between users scheduled with high and low rates. It can also be observed that the PHY rate significantly exceeds the 10 Mbps arrival rate for some users, which leads to the poor utilization for these two policies, as shown in Table IV. The reason why the utilization (defined as the ratio of the received IP-layer rate to the allocated PHY-layer rate for each terminal) suffers in these cases is that the UEs with higher achievable rates are heavily favored by the MR and RR schedulers. As these users are typically scheduled at a higher MCS level, even a single 4.16 µs-long time-domain symbol has the capacity to transmit kilobytes of data, which cannot be fully taken advantage of given the low 10 Mbps arrival rate. Insufficient data is buffered at the MAC layer to utilize the full slot and useless padding bits must be added. This effect is felt less by users under the PF and EDF policies, which are inherently more fair and allow more resources to be scheduled for lower-MCS users. The ensuing effect of these trends on latency is shown in Figure 9b. Here latency is measured as the time between the arrival time of packets at the PDCP layer of the eNB stack and the time they are delivered to the IP layer at the UE. Naturally, the MR scheduler offers the best delay performance because only 40% of the users, i.e., those with the highest rates, are ever scheduled (unscheduled users with zero rate are not included in the figure). The RR policy offers the highest Avg. IP-layer latency (ms) 101 1 ms 100 10 -1 0 20 40 60 80 100 Deadline Miss Ratio Deadline Miss Ratio Avg. IP-layer latency (ms) 18 100 10 -1 fixed (66 us sf) fixed (100 us sf) var (66 us sf) var (100 us sf) 10-2 10-3 0 0 20 40 60 80 100 Number of UEs 101 1 ms 100 10 -1 0 2 4 6 8 10 100 10-1 fixed (66 us sf) fixed (100 us sf) var (66 us sf) var (100 us sf) 10-2 10-3 0 0 2 4 6 8 10 Number of UEs (a) 10 Mbps per UE arrival rate (100-bytes packets) (b) 100 Mbps per UE arrival rate (1200-bytes packets) Figure 11: Latency and Deadline Miss Ratio as a function of the downlink IP-layer arrival rate for fixed and variable TTI radio frame structures. Description Value Subframe length in µs OFDM symbols per slot HARQ processes (DL and UL) Number of UEs Number of UEs Traffic model Traffic model 100/66.67 24/16 20 DL/20 UL Case 1: {10, 20, 30, 40, 50, 60, 70, 80, 100} Case 2: {1, 2, 3, 4, 5, 6, 7, 8, 10} Case 1: Poisson, λ = 12.5K pck/s, 100 B packets Case 2: Poisson, λ = 83K pck/s, 1200 B packets Table V: Additional parameters for variable and fixed TTI latency experiment. worst-case delays but is able to achieve mean latencies of less than 1 ms for more than 60% of the users. Of all the policies besides MR, Earliest-Deadline First offers the best worst-case delays, as it attempts to balance the delay of all users by scheduling them exclusively based on their relative deadlines (not taking into account achievable rates). The EDF scheduler is able to achieve a mean UE latency of 1.6 ms, which, as we will see from the experiment in the next section, drops below 1 ms for 60 or fewer users (with the same arrival rate). Finally, it can be observed from Figure 10b that, despite having the same total packet arrival rate of 700 Mbps as in the 70 UE case, latencies are much lower overall in the 7 UE/100 Mbps per UE case. This can be clearly explained by the higher utilization factor in Table IV. In this scenario, the number of available slots for scheduling different users is no longer the bottleneck. Though we still see that a significant number of users are scheduled at rates that exceed their 100 Mbps arrival rates, the utilization is notably better than the 10 Mbps case for all scheduling policies. Thus, the channel capacity itself is better utilized, allowing most users to be scheduled at the requested rate, thereby avoiding additional queue wait time and delay. Additional results on the impact of the scheduling on throughput and latency can be found in [103]. C. Latency Evaluation for Variable and Fixed TTI Schemes The results and the discussion introduced in this section are taken from our previous article [20], where the interested reader will find a more comprehensive treatment of techniques to achieve low latency in mmWave 5G cellular systems. While the qualitative benefits of variable TTI over fixed TTI may seem self-evident, in this section we quantify the performance gains for a multi-user TDMA mmWave system with 1 GHz of bandwidth. We also demonstrate that, with the low-latency scheduling loop enabled by the proposed frame structure, LTE-style Hybrid ARQ can still be employed for enhanced link-layer reliability without excessively exceeding the delay constraints. We model the subframe formats shown in Figure 6 for two subframe periods: the default 100 µs subframe, equivalent to 24 OFDM symbols, and a 66.67 µs subframe, equivalent to 16 OFDM symbols. The symbol length of 4.16 µs is based on the numerology in [104]. Each subframe has one fixed DL-CTRL and one UL-CTRL symbol, with the remaining symbols used for DL or UL data slots. For fixed TTI mode, the entire subframe is allocated to a single user, whereas for variable TTI mode, the scheduler may allocate any number of data symbols within the subframe to match the throughput required by each user. We also note that UEs are again modeled as moving at 25 m/s, typical of vehicular speeds, which causes fast channel variation and frequent packet errors from small-scale fading (it is observed that between 0.5% and 3% of the transport blocks are lost and require retransmission). We consider a simple traffic model with Poisson arrivals, where each UE sends an average of 12.5K packets per second (100-bytes packets resulting in an average rate of 10 Mbps), as well as a separate, higher-throughput case where each UE sends an average of 83K packets per second (1200-bytes packets resulting in an average rate of 100 Mbps). Scheduling is performed based on the EDF policy where the scheduler attempts to deliver each IP packet within 1 ms from its arrival Packets-in-flight RLC queue (Packets) RTT (ms) 40 20 0 -20 40k Drop-tail CoDel CoDel packet drop Drop-tail(Dynamic RW) 20k 0 20k 10k 0 200 150 100 40 Rate (Gb/s) at the PDCP layer and packets are assigned a priority based on how close they are to the deadline. Priority is therefore always given to HARQ retransmissions. We simulate the performance for between 10 and 100 UEs for a 10 Mbps (per UE) arrival rate and between 1 and 10 UEs for the 100 Mbps case, equivalent to a total IP-layer arrival rate of between 100 and 1000 Mbps in both cases. In Fig. 11, the downlink radio link latency is averaged among the best 95% of the users (i.e., the 5% of UEs experiencing the highest latency are not considered). The Deadline Miss Ratio (DMR), which represents the fraction of packets delivered after the 1 ms deadline, is also given for the top 95th percentile UEs. We see that, for a 10 Mbps arrival rate (Figure 11a), variable TTI is able to achieve sub-ms average latency and a DMR of about 10% with over 60 users (corresponding to a 600 Mbps total packet arrival rate) and consistently outperforms fixed TTI. Fixed TTI, despite the relatively short subframe compared to LTE, exceeds 1 ms average latency and has a DMR of over 60% even for the 20 UE case and of more than 90% for 40 or more users. This result shows that variable TTI will be essential for reliable, low-latency service, particularly when considering use cases with many lower-rate devices, such as Machine-Type Devices (MTDs) [4]. For the higher-load (100 Mbps arrival rate per UE) case in Figure 11b, we expect the deviation between the variable and fixed TTI schemes to be less pronounced, as the bottleneck is now the multi-user channel capacity and not the minimum slot size. However, we do find a reduction in radio link latency of around 500 µs, or 30%, for the variable TTI scheme in some cases. We also find that, for a smaller number of users, the shorter 66.67 µs subframe offers some improvement over the longer 100 µs subframe thanks to the decreased turnaround time. In particular, the DMR is consistently less for the 100 Mbps/UE case for both variable and fixed TTI. However, this trend reverses with more users due to the lower ratio of control to data symbols in the 100 µs subframe case. We note that the control overhead could be somewhat mitigated by multiplexing data in the DL-CTRL region. We also note that, in real-world implementations, there may be some additional delay related to beam tracking (i.e., for computing and applying the optimal TX/RX beamforming vectors), although the performance limitations of adaptive beamforming transceivers and channel tracking techniques in future implementations are still unknown. We assume that this delay can be neglected in our analysis because data is constantly being transmitted to each UE and channel state feedback is being transmitted by the UEs to the eNB in each subframe period (which is well within the coherence time observed in many studies), thus ensuring that the channel state information is always up-to-date at the eNB. The performance of a mmWave cellular network with respect to the end-to-end or the RAN latency has been studied in several papers with the ns-3 mmWave module. In [20], [103] the authors discuss architectural and protocol solution for low latency networks based on mmWave, while [9], [18], [37], [105] propose and evaluate latency-reduction techniques for transport protocols and video streaming. SINR (dB) 19 4 2 0 0 1 2 3 4 5 Time (s) 6 7 8 9 10 Figure 12: TCP performance of a single UE with human blockages D. TCP Performance over mmWave Another typical use case involves the simulation of end-toend networks, in order to assess the performance of higherlayer protocols on top of mmWave links. An example of these kinds of simulations is shown in Figure 12, where we evaluated the TCP performance with an eNB that uses Drop-tail or CoDel queue management at the RLC layer, and a mobile UE is experiencing blockages from other humans. The sender opens a File Transfer Protocol (FTP) connection and sends a large file to the UE. The congestion control is TCP Cubic, with delayed acknowledgment disabled. The maximum queue length is 50K packets. The core network latency is 40 ms. The UE is walking at 1 m/s, 300 meters away from the base station, while maintaining LOS connectivity, and experiencing 3 human blocking events. Drop-tail: Since the RLC queue size is large enough and all packets lost in the wireless link are recovered by means of lower layer retransmissions (RLC AM and MAC HARQ), the sender is unaware of the packet loss, thus keeping a large congestion window that results in high throughput, but also high buffer occupancy and consequent high delay. CoDel: CoDel has the ability to actively drop packets when it detects high buffering delay. The CoDel packet drop events are also labeled in Figure 12. At 0.5 s, as the RLC queue is building up, the first packet is dropped, which informs the sender to reduce the congestion window. At 0.8 s, a human blockage deteriorates the wireless link capacity and causes the RLC queue to grow, thus triggering one more packet drop. Similarly, at 4 s and 6.7 s, two more packets are dropped. As a consequence, the congestion window will decrease and all the packets buffered in the RLC will be delivered. Nonetheless, after the wireless link has recovered from a human blockage, the congestion window ramps up to link capacity very slowly. Dynamic Receive Window (RW): Our previous results in [17] showed that a user may mitigate the delay by sending TCP acknowledgments containing Dynamic RW. The optimal RW is fed back to the sender, and the sender takes the minimum of the receiver window and the congestion window as the sending 20 80 70 LTE + mmWave eNB mmWave eNB 60 Y [m] 50 40 30 20 10 UE 0 UE path at speed v 40 60 80 100 X [m] 120 140 160 Figure 13: Random realization of the simulation scenario. The grey rectangles are randomly deployed non-overlapping obstacles. 3 500 2 250 CellId Throughput [Mbits] 1 8 9 10 11 12 0 (a) PDCP throughput with Fast Switching. 3 500 2 250 CellId Throughput [Mbits] 1 8 9 10 11 12 0 its LOS/NLOS position and distance from the eNBs. These scenarios can be used to evaluate the performance of different mobility management and multi connectivity schemes. An example can be found in the mc-twoenbs.cc file. The purpose of this example is to compare a system with DC and fast switching among Radio Access Technologies (RATs) and a stand-alone architecture, with the UE connected to a single RAT (either LTE or mmWave) at any given time. The benefit of the first architecture is evident when the UE connected to the mmWave RAT experiences an outage: thanks to dual connectivity, it can immediately recover the communication using the LTE link, while the stand-alone UE must sense the link failure and then perform a handover to the LTE eNB. This takes more time and leads to a time interval in which the throughput that can be achieved at the PDCP layer is zero. This is shown in Figure 14. The green line represents the current cell to which the UE is attached, and this information can be retrieved from the CellIdStats.txt and CellIdStatsHandover.txt files. The purple line, instead, is the instantaneous PDCP throughput, sampled from the DlPdcpStats.txt trace. Besides this specific example, more general results on dual connectivity for LTE and mmWave can be found in [14], [29], where smart handover strategies are proposed and extensively evaluated with UDP as the transport protocol, and in [38], [106], which instead use TCP. (b) PDCP throughput with Hard Handover. Figure 14: PDCP throughput with multiple RATs and eNBs. eNBs with CellId 2 and 3 are mmWave eNBs, while CellId 1 stands for the LTE eNB co-located with mmWave eNB 2. window. As a result, the sending rate is precisely regulated so that the delay is reduced without rate degradation. Additional results on the performance of TCP on mmWave cellular networks obtained with ns-3 mmWave can be found in the literature. In [9], [17], [18], [106], [107] the authors investigate the performance of different congestion control algorithms, considering in particular the throughput-latency trade off. Proxy architectures that improve the throughput [108] and both throughput and latency [37] have been proposed, as well as uplink-based cross layer congestion control algorithms [36]. The performance of TCP with different mobility management schemes is studied in [38]. Finally, [18], [19] use ns-3 mmWave to analyze the performance of Multipath TCP [109] in mmWave and LTE cellular networks. E. LTE-aided Multi Connectivity Finally, a fourth use case regards the study of mobility management schemes for mmWave radio access networks. The example described in the following paragraphs uses the Dual Connectivity extension introduced in Section IX. Thanks to the McUeNetDevice, it is possible to simulate scenarios similar to that in Figure 13, with an LTE eNB and multiple mmWave eNBs under its coverage, either co-located, or connected via the X2 interface. The UE can move with different patterns, according to the mobility models available in ns–3, and while moving experiences different channel conditions according to XI. I NTEGRATION WITH DCE AND E XAMPLES DCE was introduced in [50] as a powerful tool that combines the flexibility of a network simulator such as ns–3 with the robustness of the TCP/IP stack of the Linux kernel and the authenticity of real applications. There are several benefits in using this tool. First, the Linux kernel implements protocols which are not yet available for ns–3, or which are in an early development phase and present some limitations. An example is Multipath TCP (MPTCP), the multipath extension of TCP which makes it possible to transmit data on multiple subflows (i.e., a mobile user could simultaneously transmit on a Wi-Fi subflow and a cellular subflow) [109]. At the time of writing, it was implemented for ns–3 by different projects [110], [111], but none of them is completely compliant with the MPTCP specification, and they are not integrated in the main ns–3 release and validated. With DCE, instead, it is possible to use the MPTCP code developed and tested by the same MPTCP protocol designers [112]. Second, the Linux kernel TCP/IP stack is the most widely used in real production environments and datacenters, besides being the basis for the Android mobile operating system. Therefore, it is a very well tested codebase, with very few bugs. Moreover, its usage in network simulations provides a higher level of realism. Finally, with DCE it is possible to use real POSIX socket-based applications. For example, the well known iPerf tool [113] can be used to measure the maximum achievable datarate in the network. It is also possible to simulate a website, with an http daemon in the server and wget as a client. Besides, standard ns–3 applications (OnOffApplication, BulkSendApplication) can be used with the Linux TCP/IP stack thanks to DCE Cradle. 21 30 20 0 UE path at speed v Y [m] 10 LTE + mmWave eNB -10 -20 UE -30 0 20 40 60 X [m] 80 100 Throughput [Gbit/s] Figure 15: Random realization of the simulation scenario. The grey rectangle represents a building. iPerf BW LTE throughput mmWave throughput 3 2 1 0 5 10 15 Figure 16 shows the output of a simulation, with the TCP throughput for two different congestion control algorithms for MPTCP, together with the per-subflow Radio Access Network throughput. In particular, Figure 16a shows the performance of BALIA [115], which is a coupled congestion control algorithm, i.e., it tries to adapt the congestion window of each MPTCP subflow according to the congestion experienced on all links. In Figure 16b, instead, the congestion controls on the LTE and on the mmWave subflows are uncoupled, i.e., each subflow is independent, and TCP Cubic is used. The first observation is that the LTE subflow has, as expected, a much smaller throughput compared to the mmWave subflow, and thus the total throughput measured with iPerf is similar to that of the mmWave connection. The second is that the uncoupled solution manages to reach a more stable throughput in NLOS conditions, compared to the coupled solution, as was observed in [18], [19], showing that the current coupled congestion control algorithms are not well suited for a deployment over these kinds of links. 20 Time [s] XII. P OTENTIAL USES AND FUTURE EXTENSIONS Throughput [Gbit/s] (a) Balanced Link Adaptation (BALIA) iPerf BW LTE throughput mmWave throughput 3 2 1 0 5 10 15 20 Time [s] (b) Uncoupled Cubic Figure 16: Throughput with MPTCP. In order to integrate DCE with the ns–3 mmWave module, it is necessary to patch the KernelFdSocketFactory class so that it recognizes the MmWaveUeNetDevice. The patch can be found in the utils folder of the ns–3 mmWave module repository. Then, replace the standard ns–3 folder with our mmWave module. Notice that, if MPTCP is used as the transport protocol, the DC extension must be used with the patch provided in the utils folder. MPTCP on mmWave links: The latest Linux kernel implementation of MPTCP compatible with DCE can be found in the net-next-nuse library of the LibOS project [114]. The standard DCE distribution already provides MPTCP examples, which can be promptly extended in order to account for mmWave and LTE subflows, as long as they operate on links with different carrier frequencies (i.e., it is possible to simulate an MPTCP connection on a 2.1 GHz LTE link and a 28 GHz mmWave link). It is possible to simulate different state of the art congestion control algorithms for MPTCP, either coupled or uncoupled, as shown in [18], [19]. An example is in the file dce-example-mptcp-mmwave, which creates the scenario shown in Figure 15. The application used is iPerf, and the mobile device creates two uplink subflows to a remote server, the first on mmWave, and the second on LTE. The UE moves along the y-axis and switches from a LOS to a NLOS condition, and then returns to LOS. Given the full-stack nature of the simulation framework introduced in this paper, the 5G mmWave research community can leverage this tool to bring and test innovation at every layer. Each module can be easily extended while maintaining full backward compatibility. The fundamental components are in the form of functions, classes and modules, which can be implemented to design novel algorithms, procedures, and, more in general, architectures. For example, the scheduling and allocation strategies proposed in [116]–[118] can be readily integrated and tested in our framework with some simple tweaks. Similarly, due to the importance of coping with mobility and frequent handovers, innovative approaches like the one proposed in [119], which exploits caching, can take advantage of the modular structure of the ns–3 framework to test flexible and reprogrammable logics. Additionally, as previously mentioned, several papers already fully exploit the capabilities of this simulator to capture the performance of TCP in mmWave networks, and propose some novel approaches to mitigate the limiting effects of congestion control procedures with intermittent multi-Gbps mmWave links [9], [17], [37], [38], [108]. As part of our future work, we aim at expanding the code to include additional components such as: • 3GPP-inspired signaling/beamtracking procedures to better accommodate novel techniques like those proposed in [118], [120]; • multi connectivity based on Carrier Aggregation [121]; • novel applications such as virtual & augmented reality, to ultimately test key 5G metrics as done in [122], where the authors leverage our mmWave module to run a performance analysis of traditional video delivery over mmWaves, and in [105], where ns-3 mmWave is used to assess the performance of network coding and multi connectivity for reliable video streaming over mmWave; • multi-hop architectures for both the access and the backhaul links, as presented in [123]; 22 vehicular channel and traffic models to test and capture the end-to-end performance of mmWave communications for high-mobility scenarios [124]–[126]; • public safety scenarios, including aerial communications and robotics, where the propagation environments and the performance requirements differ from those of traditional cellular networks, as detailed in [127]. Moreover, we plan to address the challenge of scalability. 5G networks will likely comprise a large number of nodes, with high mobility, and thus channel states must be updated frequently. In addition, the use of low-latency applications requires that packet timelines must be scheduled at very fast interaction times. To do so, we will explore the following two design options: • Low-rank channel modeling: We will develop computationally simple low-rank models that approximate the end-to-end phased array system well. • Migration to cluster computing: Further scaling will be achieved by investigating the deployment of the simulator onto open-source large cluster platforms such as Amazon Web Services (AWS) [128]. Finally, we plan to officially merge our mmWave module into the main ns–3 release, in order to regularly maintain its compatibility with every new update. • XIII. C ONCLUSIONS In this tutorial paper, we have presented the current status of the ns–3 framework for simulation of mmWave cellular systems. The code, which is publicly available at GitHub [25], is highly modular and customizable to allow researchers to test novel 5G protocols. We have shown some performance trends based on the mmWave channel models available. A detailed explanation of our configurable physical and MAC layers is provided, along with a corroborating set of simulation results for varying configurations. Implementations of advanced 5G architectural features, such as dual connectivity, are also available, and we have reported different representative results. We have also shown that the module can be interfaced with the higher-layer protocols and core network models from the ns–3 LTE module to enable full-stack simulations of end-toend connectivity, along with the simulation of real applications through the implementation of direct code execution. The module is demonstrated through several example simulations showing the performance of our custom mmWave stack as well as custom congestion control algorithms, specifically designed for efficient utilization of the mmWave channel. R EFERENCES [1] F. Khan and Z. Pi, “An introduction to millimeter-wave mobile broadband systems,” IEEE Commun. Mag., vol. 49, no. 6, pp. 101 – 107, Jun. 2011. [2] T. S. Rappaport, S. Sun, R. Mayzus, H. Zhao, Y. Azar, K. Wang, G. N. Wong, J. K. Schulz, M. Samimi, and F. Gutierrez, “Millimeter Wave Mobile Communications for 5G Cellular: It Will Work!” IEEE Access, vol. 1, pp. 335–349, May 2013. [3] S. Rangan, T. S. Rappaport, and E. Erkip, “Millimeter-wave cellular wireless networks: Potentials and challenges,” Proc. IEEE, vol. 102, no. 3, pp. 366–385, Mar. 2014. [4] F. Boccardi, R. W. Heath Jr, A. Lozano, T. L. Marzetta, and P. Popovski, “Five disruptive technology directions for 5G,” IEEE Commun. Mag., vol. 52, no. 2, pp. 74–80, Feb. 2014. [5] T. S. Rappaport, R. W. Heath Jr., R. C. Daniels, and J. N. Murdock, Millimeter Wave Wireless Communications. Pearson Education, 2014. [6] 3GPP, “TR 38.913, Study on Scenarios and Requirements for Next Generation Access Technologies, V14.1.0,” 2017. [7] H. Shokri-Ghadikolaei, C. Fischione, G. Fodor, P. Popovski, and M. Zorzi, “Millimeter wave cellular networks: A MAC layer perspective,” IEEE Trans. Comm., vol. 63, no. 10, pp. 3437–3458, Oct. 2015. [8] Y. Niu, Y. Li, D. Jin, L. Su, and A. V. Vasilakos, “A survey of millimeter wave communications (mmWave) for 5G: opportunities and challenges,” Wireless Networks, vol. 21, no. 8, pp. 2657–2676, Nov. 2015. [9] M. Zhang, M. Mezzavilla, R. Ford, S. Rangan, S. Panwar, E. Mellios, D. Kong, A. Nix, and M. Zorzi, “Transport layer performance in 5G mmWave cellular,” in IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), April 2016, pp. 730–735. [10] K. Allen et al., Building penetration loss measurements at 900 MHz, 11.4 GHz, and 28.8 MHz, ser. NTIA report – 94-306. Boulder, CO: U.S. Dept. of Commerce, National Telecommunications and Information Administration, 1994. [11] S. Singh, F. Ziliotto, U. Madhow, E. M. Belding, and M. J. W. Rodwell, “Millimeter Wave WPAN: Cross-Layer Modeling and Multi-Hop Architecture,” in 26th IEEE International Conference on Computer Communications (INFOCOM), May 2007, pp. 2336–2340. [12] J. S. Lu, D. Steinbach, P. Cabrol, and P. Pietraski, “Modeling human blockers in millimeter wave radio links,” ZTE Communications, vol. 10, no. 4, pp. 23–28, Dec. 2012. [13] A. Ghosh, T. A. Thomas, M. C. Cudak, R. Ratasuk, P. Moorut, F. W. Vook, T. S. Rappaport, G. MacCartney, S. Sun, and S. Nie, “Millimeter wave enhanced local area systems: A high data rate approach for future wireless networks,” IEEE J. Sel. Areas Commun., vol. 32, no. 6, pp. 1152–1163, June 2014. [14] M. Polese, M. Giordani, M. Mezzavilla, S. Rangan, and M. Zorzi, “Improved Handover Through Dual Connectivity in 5G mmWave Mobile Networks,” IEEE Journal on Selected Areas in Communications, vol. 35, no. 9, pp. 2069–2084, Sept 2017. [15] M. Giordani, M. Mezzavilla, S. Rangan, M. Zorzi, “An Efficient Uplink Multi-Connectivity Scheme for 5G mmWave Control Plane Applications,” Submitted to IEEE Transaction on Wireless Communications (TWC), 2017. [Online]. Available: https://arxiv.org/abs/1610.04836 [16] F. B. Tesema, A. Awada, I. Viering, M. Simsek, and G. P. Fettweis, “Mobility modeling and performance evaluation of multi-connectivity in 5G intra-frequency networks,” in IEEE Globecom Workshops (GC Wkshps), Dec. 2015. [17] M. Zhang, M. Mezzavilla, J. Zhu, S. Rangan, and S. Panwar, “The bufferbloat problem over intermittent multi-Gbps mmwave links,” arXiv:1611.02117 [cs.NI]., Nov. 2016. [18] M. Polese, R. Jana, and M. Zorzi, “TCP in 5G mmWave Networks: Link Level Retransmissions and MP-TCP,” in IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). IEEE, 2017. [19] M. Polese, R. Jana, and M. Zorzi, “TCP and MP-TCP in 5G mmWave Networks,” IEEE Internet Computing, vol. 21, no. 5, pp. 12–19, Sep. 2017. [20] R. Ford, M. Zhang, M. Mezzavilla, S. Dutta, S. Rangan, and M. Zorzi, “Achieving Ultra-Low Latency in 5G Millimeter Wave Cellular Networks,” IEEE Communications Magazine, vol. 55, no. 3, pp. 196–203, March 2017. [21] R. Ford, A. Sridharan, R. Margolies, R. Jana, and S. Rangan, “Provisioning Low Latency, Resilient Mobile Edge Clouds for 5G,” in IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). IEEE, 2017. [22] T. R. Henderson, M. Lacage, G. F. Riley, C. Dowell, and J. Kopena, “Network simulations with the ns-3 simulator,” SIGCOMM demonstration, vol. 14, no. 14, p. 527, 2008. [23] N. Baldo, M. Miozzo, M. Requena-Esteso, and J. Nin-Guerrero, “An open source product-oriented lte network simulator based on ns-3,” in Proceedings of the 14th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, 2011, pp. 293–298. [Online]. Available: http://doi.acm.org/10.1145/ 2068897.2068948 [24] “LTE-EPC Network Simulator,” Available at http://iptechwiki.cttc.es/ LTE-EPC_Network_Simulator_(LENA), Feb. 2012. 23 [25] NYU WIRELESS, University of Padova, “ns-3 module for simulating mmwave-based cellular systems,” Available at https://github.com/nyuwireless-unipd/ns3-mmwave. [26] M. Mezzavilla, S. Dutta, M. Zhang, M. R. Akdeniz, and S. Rangan, “5G mmWave Module for the ns-3 Network Simulator,” in Proceedings of the 18th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, 2015, pp. 283–290. [Online]. Available: http://doi.acm.org/10.1145/2811587.2811619 [27] R. Ford, M. Zhang, S. Dutta, M. Mezzavilla, S. Rangan, and M. Zorzi, “A Framework for End-to-End Evaluation of 5G mmWave Cellular Networks in ns-3,” in Proceedings of the Workshop on ns-3. New York, NY, USA: ACM, 2016, pp. 85–92. [Online]. Available: http://doi.acm.org/10.1145/2915371.2915380 [28] M. Zhang, M. Polese, M. Mezzavilla, S. Rangan, and M. Zorzi, “ns-3 Implementation of the 3GPP MIMO Channel Model for Frequency Spectrum Above 6 GHz,” in Proceedings of the Workshop on ns-3. New York, NY, USA: ACM, 2017, pp. 71–78. [Online]. Available: http://doi.acm.org/10.1145/3067665.3067678 [29] M. Polese, M. Mezzavilla, and M. Zorzi, “Performance Comparison of Dual Connectivity and Hard Handover for LTE-5G Tight Integration,” in Proceedings of the 9th EAI International Conference on Simulation Tools and Techniques, ser. SIMUTOOLS’16, 2016, pp. 118–123. [Online]. Available: http://dl.acm.org/citation.cfm?id= 3021426.3021445 [30] 3GPP, “TR 38.900, Study on channel model for frequency spectrum above 6 GHz, V14.2.0,” 2017. [31] M. Akdeniz, Y. Liu, M. Samimi, S. Sun, S. Rangan, T. Rappaport, and E. Erkip, “Millimeter wave channel modeling and cellular capacity evaluation,” IEEE J. Sel. Areas Commun., vol. 32, no. 6, pp. 1164– 1179, June 2014. [32] T. S. Rappaport, Wireless Communications: Principles and Practice, 2nd ed. Upper Saddle River, NJ: Prentice Hall, 2002. [33] H. Zhao, R. Mayzus, S. Sun, M. Samimi, J. K. Schulz, Y. Azar, K. Wang, G. N. Wong, F. Gutierrez, and T. S. Rappaport, “28 GHz millimeter wave cellular communication measurements for reflection and penetration loss in and around buildings in New York City,” in Proc. IEEE ICC, 2013. [34] G. R. MacCartney, S. Deng, S. Sun, and T. S. Rappaport, “MillimeterWave Human Blockage at 73 GHz with a Simple Double Knife-Edge Diffraction Model and Extension for Directional Antennas,” in Proc. IEEE 81st Vehicular Technology Conference, Sep. 2016. [35] C. N. Barati, S. A. Hosseini, S. Rangan, P. Liu, T. Korakis, S. S. Panwar, and T. S. Rappaport, “Directional cell discovery in millimeter wave cellular networks,” IEEE Transactions on Wireless Communications, vol. 14, no. 12, pp. 6664–6678, Dec. 2015. [36] T. Azzino, M. Drago, M. Polese, A. Zanella, and M. Zorzi, “X-TCP: a cross layer approach for TCP uplink flows in mmwave networks,” in 16th Annual Mediterranean Ad Hoc Networking Workshop (Med-HocNet), June 2017. [37] M. Polese, M. Zhang, M. Mezzavilla, J. Zhu, S. Rangan, S. Panwar, and M. Zorzi, “milliProxy: a TCP Proxy Architecture for 5G mmWave Cellular Systems,” in Asilomar Conference on Signals, Systems and Computers, Oct. 2017. [38] M. Polese, M. Mezzavilla, S. Rangan, and M. Zorzi, “Mobility Management for TCP in mmWave Networks,” in Proceedings of the 1st ACM Workshop on Millimeter-Wave Networks and Sensing Systems, co-located with ACM MobiCom’17, ser. mmNets ’17, 2017, pp. 11– 16. [39] H. Assasa and J. Widmer, “Implementation and Evaluation of a WLAN IEEE 802.11 ad Model in ns-3,” in Proceedings of the Workshop on ns-3. ACM, 2016, pp. 57–64. [40] H. Assasa and J. Widmer, “Extending the IEEE 802.11 ad Model: Scheduled Access, Spatial Reuse, Clustering, and Relaying,” in Proceedings of the Workshop on ns-3. ACM, 2017, pp. 39–46. [41] T. Kim, J. Park, J.-Y. Seol, S. Jeong, J. Cho, and W. Roh, “Tens of Gbps support with mmWave beamforming systems for next generation communications,” in IEEE Global Communications Conference (GLOBECOM), Dec. 2013, pp. 3685–3690. [42] K. Zheng, L. Zhao, J. Mei, M. Dohler, W. Xiang, and Y. Peng, “10 Gb/s HetSNets with Millimeter-Wave Communications: Access and Networking - Challenges and Protocols,” IEEE Communications Magazine, vol. 53, no. 1, pp. 222–231, Jan. 2015. [43] C. Dehos, J. L. Gonzalez, A. D. Domenico, D. Ktnas, and L. Dussopt, “Millimeter-wave access and backhauling: the solution to the exponential data traffic increase in 5G mobile communications systems?” IEEE Communications Magazine, vol. 52, no. 9, pp. 88–95, Sep. 2014. [44] R. Taori and A. Sridharan, “Point-to-multipoint in-band mmwave backhaul for 5G networks,” IEEE Communications Magazine, vol. 53, no. 1, pp. 195–201, Jan. 2015. [45] T. R. Henderson, S. Roy, S. Floyd, and G. F. Riley, “ns-3 project goals,” in Proceeding of the 2006 workshop on ns-2: the IP network simulator. ACM, 2006, p. 13. [46] M. Casoni, C. A. Grazia, M. Klapez, and N. Patriciello, “Implementation and validation of TCP options and congestion control algorithms for ns-3,” in Proceedings of the 2015 Workshop on ns-3. ACM, 2015, pp. 112–119. [47] G. Pei and T. Henderson, “Validation of ns-3 802.11 b PHY model,” Technical Report, 2009. [Online]. Available: https://www.nsnam.org/ ∼pei/80211b.pdf [48] J. Farooq and T. Turletti, “An IEEE 802.16 WiMAX Module for the ns-3 Simulator,” in Proceedings of the 2nd International Conference on Simulation Tools and Techniques, 2009, pp. 8:1–8:11. [Online]. Available: http://dx.doi.org/10.4108/ICST.SIMUTOOLS2009.5644 [49] H. Narra, Y. Cheng, E. K. Çetinkaya, J. P. Rohrer, and J. P. G. Sterbenz, “Destination-sequenced Distance Vector (DSDV) Routing Protocol Implementation in ns-3,” in Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques, 2011, pp. 439–446. [Online]. Available: http://dl.acm.org/citation.cfm? id=2151054.2151132 [50] H. Tazaki, F. Uarbani, E. Mancini, M. Lacage, D. Camara, T. Turletti, and W. Dabbous, “Direct Code Execution: Revisiting Library OS Architecture for Reproducible Network Experiments,” in Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies, ser. CoNEXT ’13. New York, NY, USA: ACM, 2013, pp. 217–228. [Online]. Available: http://doi.acm.org/10.1145/2535372.2535374 [51] Centre Tecnologic de Telecomunicacions de Catalunya (CTTC), “The LENA ns-3 LTE Module Documentation,” Available at http://iptechwiki.cttc.es/ LTE-EPC_Network_Simulator_(LENA), Jan 2014. [52] 3GPP, “TR 25.996, Spatial channel model for multiple input multiple output (MIMO) simulations, V6.1.0,” 2003. [53] “Winprop software,” Available at http://www.awecommunications.com/Products/. [54] R. N. Almesaeed, A. S. Ameen, E. Mellios, A. Doufexi, and A. Nix, “3D Channel Models: Principles, Characteristics, and System Implications,” IEEE Communications Magazine, vol. 55, no. 4, pp. 152–159, April 2017. [55] S. Jaeckel, L. Raschkowski, K. Borner, and L. Thiele, “QuaDRiGa: A 3-D Multi-Cell Channel Model With Time Evolution for Enabling Virtual Field Trials,” IEEE Transactions on Antennas and Propagation, vol. 62, no. 6, pp. 3242–3256, Mar. 2014. [56] S. Sun, G. R. MacCartney, Jr., and T. S. Rappaport, “A novel millimeter-wave channel simulator and applications for 5G wireless communications,” in IEEE International Conference on Communications (ICC), May 2017, pp. 1–7. [57] M. K. Samimi and T. S. Rappaport, “3-D millimeter-wave statistical channel model for 5G wireless system design,” IEEE Transactions on Microwave Theory and Techniques, vol. 64, no. 7, pp. 2207–2225, July 2016. [58] NYU Wireless, “NYUSIM: The Open Source 5G Channel Model Simulator software,” 2016. [Online]. Available: http://wireless. engineering.nyu.edu/5g-millimeter-wave-channel-modeling-software/ [59] M. Giordani, M. Mezzavilla, A. Dhananjay, S. Rangan, and M. Zorzi, “Channel Dynamics and SNR Tracking in Millimeter Wave Cellular Systems,” in 22th European Wireless Conference, May 2016, pp. 1–8. [60] P. A. Eliasi, S. Rangan, and T. S. Rappaport, “Low-rank spatial channel estimation for millimeter wave cellular systems,” CoRR, vol. abs/1410.4831, 2014. [Online]. Available: http://arxiv.org/abs/1410. 4831 [61] D. J. Love and R. W. Heath, “Equal gain transmission in multiple-input multiple-output wireless systems,” IEEE Transactions on Communications, vol. 51, no. 7, pp. 1102–1110, July 2003. [62] J. H. Wilkinson, The Algebraic Eigenvalue Problem. Clarendon Press Oxford, 1965, vol. 87. [63] J. Wang, “Beam codebook based beamforming protocol for multi-Gbps millimeter-wave WPAN systems,” IEEE Journal on Selected Areas in Communications, vol. 27, no. 8, Sep. 2009. [64] R. W. Heath, N. Gonzalez-Prelcic, S. Rangan, W. Roh, and A. M. Sayeed, “An Overview of Signal Processing Techniques for Millimeter Wave MIMO Systems,” IEEE Journal of Selected Topics in Signal Processing, vol. 10, no. 3, pp. 436–453, Apr. 2016. 24 [65] M. Rebato, J. Park, P. Popovski, E. D. Carvalho, and M. Zorzi, [89] P. Imputato and S. Avallone, “Design and implementation of the traffic “Stochastic Geometric Coverage Analysis in mmWave Cellular Netcontrol module in ns-3,” in Proceedings of the Workshop on ns-3. works with a Realistic Channel Model,” in GLOBECOM 2017 - 2017 ACM, 2016, pp. 1–8. IEEE Global Communications Conference, Dec 2017. [90] P. Imputato and S. Avallone, “Traffic differentiation and multiqueue [66] M. Rebato, M. Mezzavilla, S. Rangan, F. Boccardi, and M. Zorzi, networking in ns-3,” in Proceedings of the Workshop on ns-3. ACM, “Understanding Noise and Interference Regimes in 5G Millimeter2017, pp. 79–86. Wave Cellular Networks,” in 22th European Wireless Conference, 2016, [91] A. Deepak, K. Shravya, and M. P. Tahiliani, “Design and implementapp. 1–5. tion of aqm evaluation suite for ns-3,” in Proceedings of the Workshop [67] M. Mezzavilla, M. Miozzo, M. Rossi, N. Baldo, and M. Zorzi, “A on ns-3. ACM, 2017, pp. 87–94. Lightweight and Accurate Link Abstraction Model for the Simulation [92] J. Gettys and K. Nichols, “Bufferbloat: Dark buffers in the internet,” of LTE Networks in ns-3,” in Proceedings of the 15th ACM InternaACM Queue, vol. 9, no. 11, pp. 40:40–40:54, Nov 2011. tional Conference on Modeling, Analysis and Simulation of Wireless [93] S. Floyd and V. Jacobson, “Random early detection gateways for and Mobile Systems, ser. MSWiM ’12, 2012, pp. 55–60. congestion avoidance,” IEEE/ACM Transactions on networking, vol. 1, [68] “The Vienna LTE Simulators,” Available at no. 4, pp. 397–413, Aug. 1993. https://www.nt.tuwien.ac.at/research/mobile-communications/vccs/vienna-lte-a-simulators/lte-advanced-link-level-si [94] T. J. Ott, T. Lakshman, and L. H. Wong, “SRED: stabilized RED,” [69] Z. Pi and F. Khan, “System design and network architecture for in INFOCOM’99. Eighteenth Annual Joint Conference of the IEEE a millimeter-wave mobile broadband MMB system,” in Proc. IEEE Computer and Communications Societies, vol. 3. IEEE, 1999, pp. Sarnoff Symposium, May 2011. 1346–1355. [70] A. Ghosh, T. A. Thomasa, M. C. Cudak, R. Ratasuk, P. Moorut, [95] K. Nichols and V. Jacobson, “Controlling queue delay,” CommunicaF. W. Vook, T. S. Rappaport, G. R. MacCartney, S. Sun, and S. Nie, tions of the ACM, vol. 55, no. 7, pp. 42–50, July 2012. “Millimeter-wave enhanced local area systems: A high-data-rate ap[96] S. Chandrashekar, A. Maeder, C. Sartori, T. Höhne, B. Vejlgaard, and proach for future wireless networks,” IEEE J. Sel. Areas in Comm., D. Chandramouli, “5G multi-RAT multi-connectivity architecture,” in vol. 32, no. 6, pp. 1152–1163, June 2014. IEEE International Conference on Communications Workshops (ICC), [71] Korea Telecom (KT) 5G-SIG, “5G.201, KT 5th Generation Radio May 2016, pp. 180–186. Access; Physical Layer; General description (5G pre-specifications),” [97] J. G. Rois, B. Lorenzo, F. J. Gonzalez-Castano, and J. C. Burguillo, 2016. “Heterogeneous millimeter-wave/micro-wave architecture for 5G wire[72] M. Cudak, T. Kovarik, T. A. Thomas, A. Ghosh, Y. Kishiyama, less access and backhauling,” in European Conference on Networks and T. Nakamura, “Experimental mmWave 5G cellular system,” in and Communications (EuCNC), June 2016, pp. 179–184. Globecom Workshops (GC Wkshps), 2014. IEEE, 2014, pp. 377–381. [98] A. Osseiran, F. Boccardi, V. Braun, K. Kusume, P. Marsch, M. Mater[73] T. Levanen, J. Pirskanen, and M. Valkama, “Radio interface design for nia, O. Queseth, M. Schellmann, H. Schotten, H. Taoka et al., “Sceultra-low latency millimeter-wave communications in 5G era,” in Proc. narios for 5G mobile and wireless communications: the vision of the IEEE Globecom Workshops (Gc Wkshps), Dec. 2014, pp. 1420–1426. METIS project,” IEEE Commun. Mag., vol. 52, no. 5, pp. 26–35, May [74] S. Dutta, M. Mezzavilla, R. Ford, M. Zhang, S. Rangan, and M. Zorzi, 2014. “Frame structure design and analysis for millimeter wave cellular [99] AT&T, “Migration and Interworking Aspects - SA WG2 Temporary systems,” IEEE Transactions on Wireless Communications, vol. 16, Document S2-163348,” 2016. [Online]. Available: http://www.3gpp. no. 3, pp. 1508–1522, Mar. 2017. org/ftp/tsg sa/WG2 Arch/TSGS2 116 Vienna/Docs/S2-163348.zip [75] S. Dutta, M. Mezzavilla, R. Ford, M. Zhang, S. Rangan, and M. Zorzi, [100] 3GPP, “TR 36.842, study on small cell enhancements for E-UTRA and “MAC layer frame design for millimeter wave cellular system,” in E-UTRAN, v12.0.0,” 2013. European Conference on Networks and Communications (EuCNC), [101] I. D. Silva, G. Mildh, J. Rune, P. Wallentin, J. Vikberg, P. SchliwaJune 2016, pp. 117–121. Bertling, and R. Fan, “Tight Integration of New 5G Air Interface and [76] D. Astély, E. Dahlman, A. Furuskär, Y. Jading, M. Lindström, and LTE to Fulfill 5G Requirements,” in IEEE 81st Vehicular Technology S. Parkvall, “LTE: the evolution of mobile broadband,” IEEE CommuConference (VTC Spring), May 2015. nications magazine, vol. 47, no. 4, May 2009. [102] B. Nguyen, A. Banerjee, V. Gopalakrishnan, S. Kasera, S. Lee, [77] Verizon, “5G TF; Air Interface Working Group; Verizon 5th A. Shaikh, and J. Van der Merwe, “Towards Understanding TCP Generation Radio Access; Physical channels and modulation (Release Performance on LTE/EPC Mobile Networks,” in Proceedings of 1),” 2016. [Online]. Available: http://www.5gtf.net/V5G 211 v1p7.pdf the 4th Workshop on All Things Cellular: Operations, Applications, [78] 3GPP, “TR 38.802, Study on New Radio Access Technology - Physical and Challenges, ser. AllThingsCellular ’14. New York, NY, USA: Layer Aspects, V14.0.0,” 2017. ACM, 2014, pp. 41–46. [Online]. Available: http://doi.acm.org/10. [79] ITU-R WP5D, Working Document Toward Preliminary Draft New 1145/2627585.2627594 Recommendation ITU-R M.[IMT.VISION], “Framework and overall objectives of the future development of IMT for 2020 and beyond,” [103] R. Ford, “Low Latency Fifth-Generation Cellular Networks,” Ph.D. dissertation, Polytechnic Institute of New York University, 2017. 2014. [Online]. Available: https://www.itu.int/dms pubrec/itu-r/rec/m/ [104] Z. Pi and F. Khan, “A millimeter-wave massive MIMO system for next R-REC-M.2083-0-201509-I!!PDF-E.pdf generation mobile broadband,” in Proc. 46th Asilomar Conference on [80] P. Popovski, V. Brau, H.-P. Mayer, P. Fertl, Z. Ren, D. GonzalesSignals, Systems and Computers (ASILOMAR), Nov. 2012, pp. 693– Serrano, E. G. Ström, T. Svensson, H. Taoka, P. Agyapong et al., “EU 698. FP7 INFSO-ICT-317669 METIS, D1. 1 scenarios, requirements and [105] M. Drago, T. Azzino, M. Polese, C. Stefanovic, and M. Zorzi, KPIs for 5G mobile and wireless system,” 2013. “Reliable Video Streaming over mmWave with Multi Connectivity and [81] P. Kela, M. Costa, J. Salmi, K. Leppanen, J. Turkka, T. Hiltunen, and Network Coding,” in 2018 International Conference on Computing, M. Hronec, “A novel radio frame structure for 5G dense outdoor radio Networking and Communications (ICNC), March 2018. [Online]. access networks,” in Proc. IEEE 81st Vehicular Technology Conference Available: https://arxiv.org/abs/1711.06154 (VTC Spring), May 2015, pp. 1–6. [82] S. Choi and K. G. Shin, “A class of adaptive hybrid ARQ schemes for [106] P. Jimenez Mateo, “Analysis of TCP Performance in 5G mm-wave Mobile Networks,” Master Thesis, Universidad Carlos III de Madrid, wireless links,” IEEE Transactions on Vehicular Technology, vol. 50, Spain, 2017. no. 3, pp. 777–790, May 2001. [83] 3GPP, “TS 36.321, Medium Access Control (MAC) protocol specifi- [107] A. Kassler and M. Pieskä, “TCP Performance over 5G mmWave LinksTradeoff between Capacity and Latency,” in The 13th IEEE Internacation, V14.0.0,” 2016. tional Conference on Wireless and Mobile Computing, Networking and [84] S. Sesia, M. Baker, and I. Toufik, LTE-the UMTS long term evolution: Communications, 9.11 th October 2017 Rome Italy, 2017, pp. 385–394. from theory to practice. John Wiley & Sons, 2011. [108] M. Kim, S.-W. Ko, and S.-L. Kim, “Enhancing TCP End-to-End [85] E. Dahlman, S. Parkvall, J. Sköld, and P. Beming, 4G LTE/LTEPerformance in Millimeter-Wave Communications,” arXiv preprint Advanced for Mobile Broadband. Oxford, UK: Academic Press, 201. arXiv:1709.00717, 2017. [86] 3GPP, “TR 23.203, Technical Specification Group Services and System [109] A. Ford, C. Raiciu, M. Handley, S. Barre, and J. Iyengar, “Architectural Aspects; Policy and charging control architecture, V14.2.0,” 2017. Guidelines for Multipath TCP Development,” RFC 6182, 2011. [87] G. Abbas, Z. Halim, and Z. H. Abbas, “Fairness-driven queue management: A survey and taxonomy,” IEEE Communications Surveys [110] B. Chihani and C. Denis, “A Multipath TCP model for ns-3 simulator,” in Workshop on ns-3 held in conjunction with SIMUTools 2011, 2011. Tutorials, vol. 18, no. 1, pp. 324–367, Jan. 2016. [88] F. Baker and G. Fairhurst, “IETF recommendations regarding Active [111] M. Coudron and S. Secci, “An implementation of multipath TCP in Queue Management,” RFC 7567, 2015. ns-3,” Computer Networks, vol. 116, pp. 1–11, 2017. 25 [112] C. Paasch, S. Barre, and al., “Multipath TCP in the Linux Kernel,” available at http://www.multipath-tcp.org. [113] “Iperf 2.0,” available at https://iperf.fr. [114] H. Tazaki, R. Nakamura, and Y. Sekiya, “Library operating system with mainline linux network stack,” in Proceedings of Netdev 0.1, 2015. [115] Q. Peng, A. Walid, J. Hwang, and S. H. Low, “Multipath TCP: Analysis, Design, and Implementation,” IEEE/ACM Transactions on Networking, vol. 24, no. 1, pp. 596–609, Feb 2016. [116] O. Semiari, W. Saad, and M. Bennis, “Joint millimeter wave and microwave resources allocation in cellular networks with dual-mode base stations,” IEEE Transactions on Wireless Communications, vol. 16, no. 7, pp. 4802–4816, July 2017. [117] O. Semiari, W. Saad, and M. Bennis, “Downlink cell association and load balancing for joint millimeter wave-microwave cellular networks,” in IEEE Global Communications Conference (GLOBECOM), Dec. 2016, pp. 1–6. [118] M. E. Rasekh, Z. Marzi, Y. Zhu, U. Madhow, and H. Zheng, “Noncoherent mmwave path tracking,” in Proceedings of the 18th International Workshop on Mobile Computing Systems and Applications. New York, NY, USA: ACM, 2017, pp. 13–18. [Online]. Available: http://doi.acm.org/10.1145/3032970.3032974 [119] O. Semiari, W. Saad, M. Bennis, and B. Maham, “Caching Meets Millimeter Wave Communications for Enhanced Mobility Management in 5G Networks,” IEEE Transactions on Wireless Communications, vol. PP, no. 99, pp. 1–1, 2017. [120] J. Palacios, D. D. Donno, and J. Widmer, “Tracking mm-Wave channel dynamics: Fast beam training strategies under mobility,” in 2017 IEEE Conference on Computer Communications (INFOCOM), May 2017, pp. 1–9. [121] Z. Khan, H. Ahmadi, E. Hossain, M. Coupechoux, L. A. DaSilva, and J. J. Lehtomäki, “Carrier aggregation/channel bonding in next generation cellular networks: Methods and challenges,” IEEE Network, vol. 28, no. 6, pp. 34–40, Nov.-Dec. 2014. [122] Y. Hou, Z. Wen’an, L. Song, and M. Gao, “A QoE Estimation Model for Video Streaming over 5G Millimeter Wave Network,” in International Conference on Broadband and Wireless Computing, Communication and Applications. Springer, 2016, pp. 93–104. [123] Á. Drozdy, J. Kapanen, and J. Manner, “User level performance analysis of multi-hop in-band backhaul for 5G,” Wireless Networks, Apr 2017. [Online]. Available: https://doi.org/10.1007/s11276-017-1513-2 [124] A. Tassi, M. Egan, R. J. Piechocki, and A. Nix, “Modeling and design of millimeter-wave networks for highway vehicular communication,” IEEE Transactions on Vehicular Technology, vol. 66, no. 12, pp. 10 676–10 691, Dec. 2017. [125] I. Mavromatis, A. Tassi, R. J. Piechocki, and A. R. Nix, “MmWave System for Future ITS: A MAC-layer Approach for V2X Beam Steering,” to appear in Proc. IEEE VTC-Fall, 2017. [Online]. Available: http://arxiv.org/abs/1705.08684 [126] I. Mavromatis, A. Tassi, R. J. Piechocki, and A. R. Nix, “Beam alignment for millimetre wave links with motion prediction of autonomous vehicles,” Proc. of IET Colloquium on Antennas, Propagation & RF Technology for Transport and Autonomous Platforms, 2017. [127] M. Mezzavilla, M. Polese, A. Zanella, A. Dhananjay, S. Rangan, C. Kessler, T. T. Rappaport, and M. Zorzi, “Public safety communications above 6 ghz: Challenges and opportunities,” IEEE Access, vol. PP, no. 99, pp. 1–1, Nov. 2017. [128] “AWS Storage Services Overview,” Available at https://goo.gl/h2yJje.