## 4 Performance Evolution  
To evaluate the performance our new traffic estimation-based bandwidth allocation method, which we refer to here as Adaptive-Learning DBA, compared to the two abovementioned DBA algorithms, we conducted simulation experiments using the XG-PON module [16] of the network simulator NS-3 [17]. We modified XG-PON module to simulate XGS-PON with 10 Gpbs in both upstream and downstream directions. In our experiments, we considered a front-haul network with eight LTE small-cell RRUs (i.e., 20 MHz bandwidth channel, single carrier and single user per transmission time interval) connected to 8 ONUs, and each ONU has a buffer size equal to 1 Mbyte. We set 120 us as a round-trip propagation delay to represent the 10 km distance front-haul (note: the round-trip propagation delay of 10 km is 100 us; the 20 us is the additional delay margin to tolerate the latency results from ONUs and other front-haul elements processing). We allowed all ONUs to transmit buffer reports within every upstream frame (i.e., set the polling interval was set to 125 us for all DBAs as in [18]). We generated the mobile front-haul uplink traffic by injecting each ONU with Poisson Pareto Burst Process (PPBP) traffic [19] with Hurst parameter 0.8 and shape parameter 1.4 for a period of 10 s. To assure that the generated traffic is similar to the practical LTE network traffic, we allowed 10% of RRUs to generate 60% of the total aggregated front-haul uplink load as in [20], Table 1 summarizes the abovementioned simulation parameters. For the neural network module, we utilized a fast artificial neural network library [21]. To create the module, we used a function in the NS-3 simulator to generate the neural network module. To train the module, we used the value of the neural network settings given in Table 2. During the training process, we set the total learning time (i.e., training + testing time) to be 165 \(\upmu\)s. We stopped the learning process either when the desired error was achieved or when 165 \(\upmu\)s of learning time had elapsed. Also, we left a 10 \(\upmu\)s delay margin (i.e., 175-165 \(\upmu\)s) to be used as a waiting time for the prediction process of the upcoming ONU reports (i.e., the waiting time to run the module to the predict ONU reports). As we mentioned earlier in Section 2, 13 training samples can be collected during one BBU processing cycle, assuming a 10 km mobile front-haul distance. We divided these 13 samples as follows: we used 12 sample for the learning process by setting nine samples for training and three samples for testing (note: the learning process is done three times in this case; every time the training algorithm is trained on three samples and tested on the fourth sample). The values of the parameters used during the training process of FANN are summarized in Table 3.  
For training the FANN module we used a back propagation algorithm that updates the weights of the neural network using a gradient descent algorithm. In order to accelerate the training process, \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameters** & **Details** \\ \hline Application Traffic Type & Poisson Pareto Burst Process (PPBP) \\ Simulation Time & 10 s \\ PPBP Hurst Parameter & 1.4 \\ PPBP Shape Parameter & 0.8 \\ Poisson Arrivals Rates & [704,800\(\sim\)1376 Mbps] \\ Number of Bursts & 5000 \\ Propagation delay & 120 \(\upmu\)s—Round-trip Time (RTT) \\ ONU Buffer or queue size & 1 Mbytes \\ Packet Size & 1470 Bytes \\ Polling Interval (all DBAs) & 125 \(\upmu\)s \\ Number of RRUs (ONUs) & 8 \\ Traffic distribution & 60\% Load @10\% Remote Radio Unit (RRU) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: DBA simulation parameters. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameters** & **Detail** \\ \hline Number Inputs layers & 12 \\ Number Outputs layers & 1 \\ Number Hidden layers & 2 \\ Neurons in first hidden layer & 3 \\ Neurons in second hidden layer & 2 \\ Activation function & Linear \\ Initial weights & [\(-\)0.1–0.1] \\ Learning rate & 0.7 \\ \hline \hline \end{tabular}
\end{table}