## 4 Proposed Algorithm
### Normalize ECT
\[{\rm Th(d_{T_{i}})=}\frac{\sum\max(E^{ct  
```
Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers
```  
Read E\({}^{\text{ct}}\) and DTT of the given workflow D (T, E) while  for every task T\({}_{\text{i}}\) in each level /*Generate Ready Task List*/  while if tasks are unscheduled do b_large is empty for every task T\({}_{\text{i}}\) in each level  add T\({}_{\text{i}}\) to Ready List RLi endfor endif endwhile /*Compute Early finish time*/ for every task T\({}_{\text{i}}\) Ready List R\({}_{\text{i}}\) do if task T\({}_{\text{i}}\) has no T\({}_{\text{p}}\) E\({}^{\text{ct}}\)= available\({}_{\text{vm}}\)+E\({}_{\text{ct}}\)\({}_{\text{vm}}\) else for every vm and T\({}_{\text{p}}\) of T\({}_{\text{i}}\) if taskYmmap(T\({}_{\text{p}}\)) = l vm if E\({}^{\text{ct}}\)= E\({}^{\text{st}}\) E\({}^{\text{ct}}\)= E\({}^{\text{st}}\) endif else ifE\({}^{\text{ct}}\)<max(available\({}_{\text{vm}}\),Act) E\({}^{\text{ct}}\)=max(available\({}_{\text{vm}}\),Act) endif endif endfor /*Partition of tasks*/  Find min(E\({}^{\text{ct}}\))  Find max(E\({}^{\text{ct}}\))  Find N_E\({}^{\text{ct}}\)  Find threshold Th(dt) if max(N_E\({}^{\text{ct}}\))>= th(dt)  add in to b_large else  add into b_small endif if b_large =! Empty  find min(E\({}^{\text{ft}}\)(i,j)  taskYmmap(T\({}_{\text{i}}\))=vm  Act = E\({}^{\text{ft}}\)  E\({}^{\text{st}}\) = 1  remove T\({}_{\text{i}}\) from b_large else  find min(E\({}^{\text{ft}}\)(i,j)  taskYmmap(T\({}_{\text{i}}\)) = vm  Act = E\({}^{\text{ft}}\)  E\({}^{\text{st}}\) = 1 endif endfor endwhile ```
**Algorithm 1**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 2**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 3**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 4**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 5**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 6**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 7**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 8**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 9**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 10**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 11**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 12**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 13**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 14**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 15**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 16**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 17**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 18**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 19**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 20**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 21**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 22**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 23**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 24**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 25**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 26**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 27**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 28**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 30**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 31**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on m number of cloud servers ```
**Algorithm 32**Proposed MONWS Algorithm
``` Input: workflow with n number of tasks Output: Scheduling on available VMs on





## 5 Simulation and Performance Evaluations

The current study focuses on evaluating a proposed algorithm by considering the metrics of makespan, average cloud utilization, and cost. The proposed algorithm's performance was compared against benchmark algorithms min-min [13], max-min [13], NMMWS [29], HEFT [41], and DLS [13]. All the algorithms were implemented in the cloudsim tool. The simulation environment was set up with two data centers and four virtual machines.

To MONWS is evaluated with four different workflows: Montage, Cybershake, LIGO, and Epigenomics.

In this paper, for the purpose of evaluating the results of the MONWS algorithm in terms of performance, simulated experiments are carefully designed and carried out for the considered workflows with a varying number of tasks classified as small (1-25 tasks), average (25-100 tasks), and large (100-1000 tasks). The Pegasus [42] workflow generator is used to generate four representative scientific workflows with the same structure (Montage, Cybershake, Epigenomics, and LIGO).

\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Tasks** & **EST** & **EFT** & **ACT** & **VMID** \\ \hline
1 & 0 & 13 & 13 & 3 \\
2 & 0 & 14 & 14 & 1 \\
3 & 13 & 25 & 12 & 4 \\
4 & 13 & 26 & 13 & 1 \\
5 & 13 & 28 & 15 & 4 \\



Makespan:

Makespan was considered the most important evaluation metric for determining the effectiveness of a scheduler. We have inputted small, average, and large tasks to the cloud environment to compare the makespan of the proposed algorithm with existing algorithms such as NMMWS, min-min, max-min, DLS, and HEFT. We observed that our proposed algorithm has a minimum makespan of 82.5 ms when compared with any existing algorithm shown in Figure 8.

**Average cloud utilization:**

Average cloud utilization is another crucial metric in cloud computing from the perspective of the cloud provider. The average cloud utilization of the proposed algorithm in comparison to existing algorithms is shown in Figure 9. It can be noted that the proposed algorithm utilized 49% of cloud resources, while existing algorithms utilized 39%, 38%, 33%, and 37%, respectively. It can be inferred from the data that the proposed algorithm outperforms existing algorithms with respect to average cloud utilization.

**Cost:**

Minimizing cost is another challenging parameter in cloud computing which affects both cloud consumers and providers alike. The cost incurred for the proposed algorithm in comparison to existing algorithms is shown in Figure 10. The costs were calculated using

Figure 8: Makespan.

Figure 9: Average cloud utilization.

Equation (10), and it is observed that the proposed algorithm incurred costs of 4613.94 ms, which is 8% better than NMMWS and 18% better than min-min.

**VM Actual Working time:**

In our proposed work, the actual working time of virtual machines for the given tasks is 130 ms for VM1, 100 ms for VM2, 234 ms for VM3, and 256 ms for VM4, as shown in Figure 11.

**Speedup:**

The speedup value is the ratio of the minimum sequential execution time to the makespan. The sequential execution time is the total computation cost incurred when mapping all tasks sequentially to a single computing host. The proposed method outperforms the benchmark algorithms in terms of speed. The proposed method achieved a 20% speedup over the existing algorithm, as is shown in Figure 12. We have observed that speed is directly proportional to execution cost.

Figure 11: Actual working time of VMs.

Figure 10: Cost.

### Load balance

Load balance is considered to be the most important metric for cloud service providers in order to maximize resource utilization. When comparing the load balance of the proposed method and the existing algorithms, the proposed method outperformed the benchmark algorithms by 7.23%, as is shown in Figure 13.

### Evaluation of Success Rate:

The success rate, \(S_{\text{rate}}\), is considered to be the ratio of the number of planning workflows and the total number of simulation runs. This rate is indicative of the performance of proposed and existing algorithms.

\[S_{\text{rate}}=\frac{\text{No.of Successful Planning Workflows}}{\text{Total no.of simulations}}\times 100 \tag{14}\]

From Figures 14-17, The success rate of the proposed algorithm's makespan is determined using Montage, Cybershake, Epigenomics, and LIGO, as well as 4, 8, and 12 iterations.