## 2 OW-DCN Architecture  
The proposed OW-DCN architecture comprising SWS, FPGA-based switch scheduler, and N \(\times\) N-port AWGR is shown in Figure 1. It is divided into N clusters, and each cluster groups N racks. The K servers are interconnected by one optical ToR switch at each rack. As illustrated in Figure 1, an inter-cluster AWGR-based switch (EAS) is used to connect the N ToRs within one cluster through the inter-cluster optical wireless links, while an intra-cluster AWGR-based switch (IAS) is dedicated to the traffic transmission between the i-th ToR of each cluster (\(\rm{1\leq i\leq N}\)) through the intra-cluster optical wireless links. These two bi-directional optical wireless links are established via two pairs of collimators placed on each rack and each optical switch (EAS and IAS). Table 1 shows the wavelength mapping between each port of the N \(\times\) N-port AWGR and each ToR. Furthermore, a SDN control plane was also implemented with ODL and Openstack platform for monitoring, optimizing, and reconfiguring the OW-DCN. Meanwhile, an OpenFlow protocol was deployed at each ToR for the interaction between the SDN controllers. With the help of SDN, the transmission link can be dynamically reconfigured based upon the statistical collection of real-time network utilization and application requirements. The schematic showing the functional blocks of the FPGA-based ToR switch is presented in Figure 2. Each ToR switch has a server interface and a network interface. The traffic that comes from these two interfaces exchanges between the intra-rack servers (intra-rack traffic), inter-cluster servers (intra-cluster traffic), and different cluster servers (inter-cluster traffic), respectively. When a packet arrives at the ToR switch, the head processor first checks the destination of each packet. For packets destined to the servers in the same rack, the ToR directly forwards the packet to the K intra-ToR buffers to reach the K servers. Likewise, packets destined to a server in different racks are forwarded to the intra-buffer or inter-buffer to wait for intra-cluster or inter-cluster transmission. As \begin{table}
\begin{tabular}{c|c c c c} \hline \hline
**AWGR** & **O1 (ToR1)** & **O2 (ToR2)** & **O3 (ToR3)** & \(\ldots\) & **ON (ToRN)** \\ \hline
**I1 (ToR1)** & \(\lambda\)0 & \(\lambda\)1 & \(\lambda\)2 & \(\ldots\) & \(\lambda\)N \\
**I2 (ToR1)** & \(\lambda\)1 & \(\lambda\)2 & \(\lambda\)3 & \(\ldots\) & \(\lambda\)0 \\ \(\vdots\) & \(\vdots\) & \(\vdots\) & \(\vdots\) & \(\vdots\) & \(\vdots\) \\
**IN (ToR1)** & \(\lambda\)N & \(\lambda\)0 & \(\lambda\)1 & \(\ldots\) & \(\lambda\)(N\(-\)1) \\ \hline \end{tabular}
\end{table} 
Table 1: The wavelength mapping of a N \(\times\) N-port AWGR. Figure 1: A schematic diagram of the OW-DCN architecture; FSO: free-space optical; IAS: intra-cluster AWGR-based switch; EAS: inter-cluster AWGR-based switch; ToR: top of rack. shown in Figure 3, for the intra-cluster or inter-cluster transmission, if the packets need to be switched at the same optical switch (IAS or EAS) to the same destination ToR and at the same time slot, contention may occur, since a passive N \(\times\) N-port AWGR is used for the packet-switching between each ToR. Therefore, a contention-solving procedure is implemented with a FPGA-based switch scheduler and a label channel between the ToRs and the optical switch node. For each packet, an optical label signal that contains the destination ToR and the priority information is first generated and forwarded to the IAS or EAS in advance. The switch scheduler at the IAS or EAS side checks the label information that comes from different intra- (or inter-) cluster ToRs for possible contentions and then notifies the delivery request status to each ToR. If there is no contention, the switch scheduler sends successful acknowledgment (ACK) signals back to each ToR that indicates the granted requests. However, in the event of contention, the priority is compared at the switch scheduler side.