## 6 Experiments  
### Preliminary Experiments  
In this section, we present the pre-measured experimental results of DNN model training performance and the associated power/energy consumption by computing nodes, in relation to GPU core and memory frequency settings. We employed NVIDIA GPU devices, namely, RTX3060, RTX3090, and the state-of-the-art RTX4090. The specifications of the computing nodes, including these GPU devices, are detailed in Tables 1 and 2. We iteratively execute the \"nvidia-smi rgc' and \"nvidia-smi rmc' commands to adjust the frequency values of each GPU device [21]. Subsequently, we collect data on epoch completion times and power consumption using parsing scripts we developed. For our target DNN models, we conduct training sessions for DNN models, SqueezeNet [22], PreActResNet18 [23], and SEResNet50 [24] with the CIFAR100 dataset [25], based on the PyTorch framework version 2.1.1 [26], along with CUDA 11.8 [27] and cuDNN 8.9.6 libraries [28]. The epoch completion times for training various DNN models on Node1 (RTX3060), Node2 (RTX3090), and Node3 (RTX4090) are depicted in Figure 3. Figure 3a-c illustrate the epoch completion time curves for SqueezeNet model training at different core and memory frequency values. Node3 demonstrates superior training performance with an average of 9.9 s, compared to Node1's average of 31.6 s and Node2's average of 20.9 s across all frequency values. This is because that the RTX4090 GPU in Node3 possesses over 16,000 CUDA cores, approximately 1.5 times more than the RTX3090 and 5 times more than the RTX3060. Unlike Node1 (RTX3060) and Node2 (RTX3090), Node3 (RTX4090) maintains a consistent epoch completion time across various GPU frequency values. This result is due to the relatively small number of weight parameters in the SqueezeNet model (1.24 million trainable parameters, equivalent to 5 MB). Therefore, Node3 (RTX4090) can complete each training iteration swiftly, even at the lowest frequency setting. Figure 3d-f show the epoch completion time curves for PreActResNet18 model training on each node at different frequency values. The average epoch completion time for all curves is 49 s, which is 2.5 times longer than that of the SqueezeNet model training (20 s). This is due to the PreActResNet18 model having a larger number of weight parameters (11 million trainable parameters), approximately 10 times that of SqueezeNet. Aside from the magnitude of the resulting values, the shapes of these curves are similar to those in Figure 3a-c. Figure 3g-i present the epoch completion time curves for SResNet50 model training in each case. Given the large parameter size of the SEResNet50 (more than 25.6 million trainable parameters), the difference in training performance due to the frequency setting is also significant. For Node3 (RTX4090), the epoch completion time at frequency values (time: 77 s, core: 420 MHz, memory: 5001 MHz) is about 35% longer than at (time: 54.7 s, core: 2760 MHz, memory: 5001 MHz). In this scenario, the training performance is heavily influenced by both core and memory frequency values. Node3 (RTX4090) achieves an epoch completion time of 36 s at (core: 2760 MHz, memory: 10,501 MHz), which is approximately 56% faster than the 57 s at (core: 2760 MHz, memory: 5001 MHz). \begin{table}
\begin{tabular}{c c c c} \hline  & **Node1** & **Node2** & **Node3** \\ \hline CPU & i5-11400F & i9-10900K & i9-13900 KF \\ \hline Board & B560M-A & Z490 Ext4 & Z790-P WIFI \\ \hline MEM & DDR4 32 GB & DDR4 64 GB & DDR5 64 GB \\ \hline GPU & RTX3060 (12 GB) & RTX3090 (24 GB) & RTX4090 (24 GB) \\ \hline Disk & WD SN350 1 TB & SSD970 1 TB & SHPP41-1000 GM 1 TB \\ \hline \end{tabular}
\end{table} 
Table 1: Computing Node Specifications.