## 4 Service Scheduling Algorithms
### Design of Service Scheduling Algorithm  
In the field of cloud computing, the goal of service selection is to choose the optimal service from those that provide the same functionality but have different levels of Quality of Service (QoS). Due to the multi-dimensional nature of QoS attributes, this is typically regarded as a Multi-Criteria Decision-Making (MCDM) problem. Service scheduling in a Computing Network is similar to service selection, as it involves selecting the best overall service instance from those capable of performing the same function by comprehensively considering user requirements. Therefore, the service scheduling problem in this context can be modeled as an MCDM problem. Figure 8 shows the steps to solve the MCDM problem:  
Assume that in a domain, there are \(m\) computing clusters for a particular service quality level: \(A=\{A_{1},A_{2},\ldots,A_{m}\}\), where each computing cluster has \(n\) evaluation criteria \(C=\{C_{1},C_{2},\ldots,C_{n}\}\), and the value of the criteria is \(P=\{P_{1},P_{2},\ldots,P_{n}\}\); then, the task is to rank and select from the following candidate matrix:  
\[A= \begin{array}{cccc}A_{1}\\ A_{2}\\ \vdots\\ A_{m}\end{array} \left( \begin{array}{cccc}C_{1}&C_{2}&\cdots&C_{n}\\ p_{11}&p_{12}&\cdots&p_{1n}\\ p_{21}&p_{22}&\cdots&p_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ p_{m1}&p_{m2}&\cdots&p_{mn}\end{array} \right) \tag{1}\]  
In the candidate matrix, each row represents the service information values of a candidate computing cluster, and each column represents the values of a specific criterion for all computing clusters. Here, \(p_{ij}\) denotes the value of criterion \(C_{j}\) for node \(A_{i}\). Each value has a certain weight, and the matrix \(A\) is evaluated using these values and weights to derive a ranked list of computing clusters. The general solution steps for MCDM are shown in Figure 8; among these, the most critical steps are weight determination and candidate evaluation. Weight determination directly impacts the performance of each candidate, as it determines the relative importance of each criterion. Candidate evaluation  
Figure 8: The steps of MCDM. involves assessing each option based on these weights to determine how well it meets the scheduling objectives. * Determining the scheduling objective: The primary scheduling objectives of this paper are to reduce service processing latency, increase service success rates, and enhance the load balance of computing clusters so that they can handle more service in the future. * Determining the evaluation criteria for computing clusters: Based on the scheduling objectives and service requirements, the evaluation criteria for computing clusters are determined from the service information. Upon analysis, the factors related to delay requirements mainly include transmission delay and processing delay. The factors related to the load balance of computing clusters mainly include resource utilization rate and available resource capacity. Therefore, the evaluation criteria include the average historical processing delay of the service in the cluster, the resource availability and available resource capacity of the cluster, and the average transmission delay from the cluster to the current scheduling network node. Table 3 lists the selected evaluation criteria for computing clusters:  
The criteria that are positively correlated with the final objective are considered positive ones, while those that are negatively correlated are considered negative ones. To maintain generality, it is first necessary to perform the positive transformation of the criteria. Let \(A_{std}=(s_{1},s_{2},\ldots,s_{j},\ldots,s_{n})\) represent the optimal value for each criterion. For positive criteria, the normalization method entails the following:  
\[z_{ij}=1-\frac{s_{j}}{p_{ij}} \tag{2}\]  
and for negative criteria, the normalization method is the following:  
\[z_{ij}=\frac{s_{j}}{p_{ij}} \tag{3}\]  
In order to eliminate the dimensional influence of different indicators, the data need to be normalized.