# GPU-Accelerated Eclipse-Aware Routing for SpaceWire-Based OBC in Low-Earth-Orbit Satellite Networks
## 4 Experimental Results
### Eclipse-Aware Routing Results  
The proposed EAR algorithm was initially implemented in MATLAB 2024a and later ported to C/C++ for execution in an OBC environment. The implementation was further optimized using CUDA for GPU acceleration. This section presents a comparison between the execution results obtained in the PC using only a CPU environment and those from GPU-based execution on the OBC with both CPU and GPU. This comparison serves to validate the algorithm's correctness and analyze its execution time. For the experiments, the number of nodes was set to 150, and the number of candidate paths K was set to 15. Additionally, the weights between nodes were uniformly set to 1. The reason for configuring a relatively small-scale network was to facilitate a direct comparison between a PC with only a CPU and the OBC environment for verification. Figure 9 presents the experimental results obtained in PC with only CPU and OBC with CPU and GPU environments. The table on the left shows the results from the PC with only CPU, while the table on the right displays the results from the OBC with CPU and GPU. The first path, which has a cost of 6, is identical in both environments. However, it can be observed that the ordering of paths with a cost of 8 differs between the two implementations. This discrepancy arises due to implementation-specific factors, but as \begin{table}
\begin{tabular}{l l} \hline \hline MODE & 20 W 6 CORE \\ \hline CUDA Version & 10.2v \\ \hline AI Performance & 21 TOPS \\ \hline GPU & 384-core NVIDIA Volta GPU (48 Tensor Cores) \\ \hline CPU & 6 CORE NVIDIA Carmel ARM v8.2 64-bit \\ \hline Memory & 16 GB 128-bit LPDDR4x (59.7 GB/s) \\ \hline Power consumption & 10 W–20 W \\ \hline \hline \end{tabular}
\end{table} 
Table 1: NVIDIA Jetson Xavier NX 16 GB board technical specification. Figure 8: Configured real experimental environment. indicated by the arrows in the center of the figure, the candidate paths remain the same, ensuring correctness. To rigorously verify that both environments yield identical results, an exhaustive evaluation was conducted for all paths with a cost of 8 using the K-shortest path (KSP) algorithm. Similarly, for paths with a cost of 10, the ordering difference can result in a variation in the 15 th path. The EAR algorithm is applied after extracting the top K shortest path candidates through KSP exploration. In Figure 9, the nodes highlighted in red indicate eclipse nodes, identified using the eclipseMatrix. As described in Section 2.2, the EAR algorithm selects eclipse nodes from each path and estimates their expected power consumption. It then determines the satellites consuming the highest power along each path. The numbers below the red-marked nodes represent the estimated power consumption. The satellites with the highest power consumption in each path are highlighted in blue. Ultimately, the path with the lowest maximum energy consumption among these blue-highlighted satellites is selected as the final route. Consequently, the 10 th path is selected in PC with only CPU, whereas the 6 th path is chosen in OBC with CPU and GPU. However, as explained earlier, this is merely a difference in ordering, and both implementations ultimately select the same path. This approach is designed to reduce the burden on satellites experiencing severe battery depletion while optimizing the overall energy balance within the network. Figure 10 compares the total execution time of the GPU-accelerated algorithm using CUDA and the traditional CPU-based algorithm. To ensure a fair comparison, the execution time was measured on the same OBC device, evaluating two cases: one using only the CPU and the other utilizing both the CPU and GPU for parallel execution. The gray bars represent the execution time when using only the CPU, while the green bars show the execution time when utilizing the GPU with CUDA. When evaluating networks with 1000 to 4000 nodes, the CUDA-based implementation is observed to be slower than the CPU-based implementation.