## 3 Experimental Validation
### Switch Schedule and Reconfiguration of the OW-DCN
According to the priority, the switch scheduler sends positive acknowledgement (ACK) to the ToRs with higher-priority requests (ToR1, ToR3 and ToR4 in time-slot N, and ToR1, ToR2 and ToR3 in time-slot N + 1 and N + 2) and sends negative acknowledgement back to the ToRs with lower priority requests (ToR2 in time-slot N, ToR4 in time-slot N + 1 and N + 2). The scheduler sent the ACK back to all the ToRs in  
Figure 4: (**a**) The experiment setup for switch scheduling and reconfiguration; (**b**) insights from the priority configuration from the SDN-based controller. time-slots N + 3 and N + 4 as there were no contentions. For the ToRs that receive a NACK signal, retransmission is implemented by sending the label again at next time slot (ToR2 in time-slot N + 1, ToR4 in time-slot N + 2 and N + 3). In the meantime, the four FPGA-based ToR switches also collect and report the traffic information to the SDN-based centralized controller via the OpenFlow link. At the SDN \begin{table}
\begin{tabular}{c c} \hline \hline
**Processing Blocks** & **Latency (ns)** \\ \hline Label generation (ToR) & 25.6 \\ Label packet received (Switch Scheduler) & 25.6 \\ ACK/NACK generation (Switch Scheduler) & 19.2 \\ ACK/NACK received and processing (ToR) & 73.5 \\ Optical wireless transmission (4 m) & 13.3 \\
10G GTH (IP from Xinlinux Ultrascale XCVU095) (ToR)—TX path & 79.2 \\
10G GTH (IP from Xinlinux Ultrascale XCVU095) (ToR)—RX path & 87.8 \\
10G GTH (IP from Xinlinux Virtex VC709) & 145.6 \\ (Switch Scheduler)—TX path & 677.6 \\
10G GTH (IP from Xinlinux Virtex VC709) & 145.6 \\ (Switch Scheduler)—RX path & 207.8 \\
**Total** & **677.6** \\ \hline \hline \end{tabular}
\begin{tabular}{c c} \hline \hline
**Input** & \multicolumn{2}{c}{**Output**} \\ \cline{2-3}
**Input** & **ToR 1** & **ToR 2** & **ToR 3** & **ToR 4** \\ \hline
**ToR 1** & 1 & 1 \\ \hline
**ToR 2** & 1 & 2 & 2 \\ \hline
**ToR 3** & 2 & 3 \\ \hline
**ToR 4** & 3 & 3 & \\ \hline \hline \end{tabular}
\begin{tabular}{c c} \hline \hline
**Input** & \multicolumn{2}{c}{**Output**} \\ \cline{2-3}
**Input** & **ToR 1** & **ToR 2** & **ToR 3** & **ToR 4** \\ \hline
**ToR 1** & 3 & 3 & 2 \\ \hline
**ToR 2** & 1 & 2 & 3 \\ \hline
**ToR 3** & 3 & 2 & 1 \\ \hline
**ToR 4** & 2 & 1 & 1 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: The label-processing latency. Figure 5: (**a**) The initial look-up table of priority information; (**b**) The updated look-up table of priority information; (**c**) The time traces at the FPGA-based switch scheduler before reconfiguration; (**d**) the time traces at the FPGA-based switch scheduler after reconfiguration; (**e**) number of lost packets and contentions before reconfiguration; (**f**) number of lost packets and contentions after reconfiguration. controller side, the ODL is in charge of monitoring this transmission status. Figure 5e shows the real-time collected number of contentions and lost packets. It should be noted that the lost packet was mainly due to the unbalanced network traffic load, which introduces higher packet retransmission, which fills the electronic buffer, leading to overflow happens. Therefore, based on the monitored information, a load-balancing algorithm in the SDN control plane was applied to prevent this situation by assigning higher priority to the transmission links with more traffic load. To be specific, the SDN control plane dynamically optimized the configured network and updated the new look-up tables and priorities to the ToRs by OpenFlow protocol for improving the network efficiency and decreasing the transmission latency. Figure 4b provides insights into the priority configuration from the SDN-based controller, and Figure 5b shows the updated look-up table with new priority allocation. In this new configuration, the packets from ToR1 no longer had the highest priority, while the packets from ToR2 to ToR1, ToR4 to ToR2, and ToR4 to ToR3 had the highest priority.