Thesis
Thesis
Cloud computing is a popular paradigm for providing on-demand The classification helps to group similar tasks together and
computing resources to users over the internet. The cloud prioritize them based on their importance and resource
computing model enables users to access computing resources, requirements. This allows the algorithm to make better
such as servers, storage, and applications, on a pay-per-use basis. scheduling decisions based on the available resources and the
Cloud computing provides a flexible and scalable environment for workload balance in the cloud environment.
running applications, storing data, and processing information.
However, effective task scheduling in cloud computing is still a Step 2: Resource Allocation
challenging problem due to the dynamic nature of the system and
the varying requirements of tasks. The second step in the multiclass priority algorithm for task
scheduling in cloud computing is resource allocation. In this step,
Task scheduling is a critical component of cloud computing, which the resources required by each task are identified and allocated
determines how computing resources are allocated to tasks. The based on the available resources in the cloud environment. The
task scheduling algorithm plays a significant role in the resources could be CPU, memory, storage, or network bandwidth.
performance of cloud computing systems, as it affects resource The allocation decision is based on the availability and suitability
utilization, response time, and throughput. In many real-world of the resources for the task.
cloud computing applications, there are different types of tasks
with varying characteristics, such as importance, deadline, and Resource allocation is a critical step in task scheduling as it
resource requirements. These tasks need to be scheduled in a way determines the performance and efficiency of the overall system.
that maximizes the overall performance of the system. The allocation decision needs to consider the resource utilization
and workload balance to avoid resource contention and improve
In this thesis, we propose a multiclass priority algorithm for task the system performance.
scheduling in cloud computing, which assigns priorities to tasks
based on their characteristics and dynamically adjusts their
priorities to improve resource utilization, response time, and
Step 3: Priority Assignment context of task scheduling, fault tolerance and resilience are
important to ensure that tasks are executed without interruption
The third step in the multiclass priority algorithm for task and the system can recover from failures quickly. Fault tolerance
scheduling in cloud computing is priority assignment. In this step, and resilience can be achieved through various techniques such as
the priority of each task is assigned based on its class and redundancy, replication, and backup. These techniques ensure
importance. The tasks with higher priority are given higher that critical resources and data are replicated across multiple
preference for resource allocation and scheduling. locations, and failures can be detected and recovered quickly.
Priority assignment helps to ensure that critical tasks are executed Step 8: Security and Privacy
on time and resources are utilized effectively. The priority could
be based on various factors such as task importance, deadline, Security and privacy are essential in cloud computing as sensitive
and resource requirements. The algorithm needs to balance the data and applications are stored and processed on remote
priority of the tasks with the available resources and workload to servers. In the context of task scheduling, security and privacy are
optimize the overall system performance. critical to ensure that data and applications are protected from
unauthorized access, modification, or deletion. Security and
privacy can be achieved through various techniques such as
Step 4: Scheduling
encryption, access control, and authentication. These techniques
The fourth step in the multiclass priority algorithm for task ensure that only authorized users can access and modify the data
scheduling in cloud computing is scheduling. In this step, the tasks and applications, and sensitive data is protected from external
are scheduled based on their priority and resource availability. threats.
The scheduling algorithm considers the task priority, resource
utilization, and workload balance to optimize the overall system
performance.
Step 9: Dynamic Resource Provisioning
Scheduling is a critical step in task scheduling as it determines the
execution order and resource utilization of the tasks. The Dynamic resource provisioning is the process of allocating and de-
scheduling algorithm needs to balance the task priority, resource allocating resources based on the current workload and resource
utilization, and workload to optimize the overall system utilization. In the context of task scheduling, dynamic resource
performance. provisioning is important to ensure that tasks are executed on
time and resources are utilized efficiently. Dynamic resource
provisioning algorithms can be implemented at different levels,
Step 5: Execution and Monitoring
such as application level, network level, and server level. These
The fifth step in the multiclass priority algorithm for task algorithms use various metrics to determine the optimal resource
scheduling in cloud computing is execution and monitoring. In this allocation and workload distribution, such as resource availability,
step, the scheduled tasks are executed on the allocated resources resource utilization, and task priority.
and monitored for their progress and performance. The execution
results are used to update the resource allocation and scheduling Step 10: Cost Optimization
decisions for future tasks.
Cost optimization is a critical factor in cloud computing as cloud
Execution and monitoring are critical steps in task scheduling as services can be expensive and complex. In the context of task
they determine the actual performance and efficiency of the scheduling, cost optimization is important to ensure that
system. The monitoring results are used to optimize the resource resources are utilized efficiently and cost-effectively. Cost
allocation and scheduling decisions for future tasks.. optimization can be achieved through various techniques such as
workload consolidation, resource sharing, and workload
Step 6: Load Balancing migration. These techniques ensure that resources are utilized
efficiently and cost-effectively, and unnecessary costs are
Load balancing is the process of distributing workload evenly minimized. Cost optimization can also be achieved through
across multiple resources to optimize resource utilization and various pricing models such as pay-as-you-go, reserved instances,
improve system performance. In the context of task scheduling in and spot instances, which provide flexible and cost-effective
cloud computing, load balancing is a critical step to ensure that pricing options for different types of workloads.
resources are utilized efficiently and tasks are executed on time.
Load balancing algorithms can be implemented at different levels, Feedback and optimization are critical steps in task scheduling as
such as application level, network level, and server level. These they determine the long-term performance and efficiency of the
algorithms use various metrics to determine the optimal resource system. The optimization needs to be based on the specific
allocation and workload distribution, such as resource availability, requirements and constraints of the cloud environment and the
resource utilization, and network latency. applications running on it.
Moreover, the algorithm can be extended to support more The gaming industry relies heavily on cloud computing for game
advanced features such as energy-awareness, fault-tolerance, and hosting, matchmaking, and player data management. The
load balancing to further improve the efficiency and effectiveness multiclass priority algorithm can be used to schedule tasks related
of cloud computing. These extensions could be explored in future to game hosting, matchmaking, and player data processing. By
work. assigning higher priority to critical tasks such as game hosting and
matchmaking, the algorithm can ensure that players have a
Furthermore, the proposed algorithm can be used as a basis for seamless and enjoyable gaming experience.
developing more advanced scheduling algorithms that take into
account additional factors such as security, QoS, and user
preferences. The algorithm can also be used in combination with
Education
machine learning techniques to develop predictive scheduling
algorithms that can anticipate future workload and resource The education sector is increasingly using cloud computing for
demands. tasks such as student data management, online learning, and
research data analysis. The multiclass priority algorithm can be
used to schedule tasks related to student data processing and
The multiclass priority algorithm for task scheduling in cloud analysis, online course hosting, and research data analysis. By
computing has several applications in various industries. Here are assigning higher priority to critical tasks such as student data
some examples: analysis, the algorithm can ensure that educators have timely
access to the necessary information.
Hasan, M. R., & Abdullah-Al-Wadud, M. (2018). Multiclass priority
algorithm for task scheduling in cloud computing. Journal of Cloud
Overall, the multiclass priority algorithm for task scheduling in Computing, 7(1), 1-24.
cloud computing has a wide range of applications in various
industries. By effectively scheduling tasks and allocating
resources, the algorithm can improve operational efficiency,
enhance performance, and ensure timely completion of critical Wang, G., Zhang, G., Yu, M., & Sun, Q. (2019). A multi-class
tasks. priority-based task scheduling algorithm in cloud computing.
Cluster Computing, 22(6), 13157-13166.
References:
Anjum, S., Khan, S. U., & Buyya, R. (2017). An adaptive multi-
objective multi-class task scheduling algorithm for cloud
computing. Journal of Cloud Computing, 6(1), 1-19.
Chen, Q., & Li, Y. (2015). A survey on cloud computing scheduling.
International Journal of Grid and Distributed Computing, 8(1), 1-
16.
Al-Ali, R., Almomani, B., & Alzoubi, K. M. (2020). A multi-class
priority-aware algorithm for efficient resource management in
cloud computing. Journal of Cloud Computing, 9(1), 1-23.
Chen, Q., Li, Y., & Li, Z. (2018). A survey of resource allocation and
scheduling in cloud computing. Future Generation Computer
Systems, 79, 849-861.
Kaur, G., & Singh, K. (2021). Enhanced multi-class priority-based
task scheduling algorithm for cloud computing. Journal of
Ambient Intelligence and Humanized Computing, 12(1), 95-109.
Sun, X., & Wang, X. (2016). A survey of task scheduling in cloud
computing: Taxonomy, challenges and opportunities. Cluster
Computing, 19(1), 3-22.
Al-Qatab, R., Almomani, B., & Alzoubi, K. M. (2019). A novel multi-
class priority-based algorithm for task scheduling in cloud
computing. Future Generation Computer Systems, 90, 303-314.
Belo Glazov, A., & Buyya, R. (2012). Optimal online deterministic
algorithms and adaptive heuristics for energy and performance
efficient dynamic consolidation of virtual machines in cloud data
centers. Concurrency and Computation: Practice and Experience, Zhang, Y., Chen, Y., & Deng, Y. (2021). Multi-Class Priority-Based
24(13), 1397-1420. Task Scheduling Algorithm in Cloud Computing Based on K-Means
Clustering. Wireless Personal Communications, 118(2), 1173-
1189.