# Distributed Load-Balancing Method for CCA Parallel Component Applications
## 2 Materials and Methods
### Aggregation of the Computing Nodes
While changing the size of the input data, we recorded the communication costs of load-balancing. The communication cost includes the transmission of the low-load status from the computing node to the startup node in the load-balancing algorithm, transmission of the component instance task allocation requests between nodes, and replies sent by nodes accepting certain component instances to the startup node. Experiments were conducted across a range of 0 to 400 M in increments of 10 (0, 10, 20,..., 400), totaling 41 data points. Figure 11 shows the result of the communication cost test, revealing that when the proposed load-balancing mechanism was taken, deploying the application on a sub-cluster generated by our aggregation algorithm lowered the communication cost. Figure 10: Performance comparison test. To test the scalability of the PCDDB method, we selected several dual-core nodes in cluster Sc\({}_{5}\) to deploy the weather forecasting application. There are 18 dual-core nodes in Sc5. We tested 1, 2, 4, 8, and 16 nodes, which correspond to the cases of 2, 4, 8, 16, and 32 cores, respectively. We used the three load-balancing methods defined above to calculate the corresponding speedup with respect to a single core (without any load-balancing strategy). For the PCDDB method, we tested both LT = 4, MT = 12 and LT = 4, MT = 20 for the dual-core nodes. Table 4 presents the result of the speedup test. As the number of cores increases, the PCDDB method achieved better speedup results than the static and centralized methods. When using the PCDDB method, if the number of computing nodes is large and the number of applications running on the sub-cluster is small, that is, the overall load of the sub-cluster is light and there are many low-load nodes, we should reduce the value of MT appropriately so that each low-load node is assigned fewer new tasks. This enables more low-load nodes to be utilized to achieve better performance. In Table 4, the speedup using MT = 12 is higher than that using MT = 20 for 8, 16, and 32 cores. On the contrary, if there are fewer nodes in a sub-cluster and the value of MT is small, some tasks will not be assigned in time. These tasks will be returned to the startup node for reallocation. If this occurs more than once, the system performance will be compromised. As Table 4 reveals, the speedup obtained using MT = 12 on the 2- and 4-core nodes is relatively poor compared with that obtained using MT = 20. Before performing the PCDDB method, appropriate values of LT and MT should be set according to the number of nodes in a sub-cluster and the overall workload of the sub-cluster, which will improve the load-balancing result. ## 4 Discussion

By examining and analyzing the operational characteristics of CCA parallel component applications, this paper introduces a dynamic, distributed load-balancing approach. To develop this method, we extracted the typical features of computing nodes on a heterogeneous cluster platform and established a class library for these nodes. Based on \begin{table}
\begin{tabular}{l l l l l l} \hline \hline
**Load Balance Method** & **2 Cores** & **4 Cores** & **8 Cores** & **16 Cores** & **32 Cores** \\ \hline Static & 1.129 & 1.779 & 4.354 & 8.811 & 20.312 \\ Centralized & 1.365 & 2.416 & 5.316 & 10.312 & 25.153 \\ PCDDB (MT = 12) & 1.570 & 3.010 & 7.052 & 14.482 & 30.447 \\ PCDDB (MT = 20) & 1.881 & 3.316 & 6.811 & 13.268 & 28.870 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Speedup test. Figure 11: Communication cost test. the network status among nodes within the execution platform, we employed a custom aggregation algorithm to group computing nodes into various sub-clusters. The Babel compiler then compiles the load balance interfaces and business interfaces defined by SIDL, generating local computing-resource proxies for the computing nodes and business function components, respectively.