Article Preview
TopIntroduction
Cloud computing has evolved as an important aspect of network sharing computational model, involving the applicability of various commercial resources in the current scenario. This technological advent has revolutionized the cloud computing as the third technology in the last few decades (Guo et al., 2008; Fenz et al. 2020). With the emergence of data-intensive applications, cloud computing has become the most widely used virtualization platform for the complex applications (Greenberg et al., 2008, Ijaz et al., 2013, Wang and Ng, 2010; Rajan, 2020). The various types of applications including cloud computing are web applications, distributed applications like e-commerce, etc. This technology has emerged as a new paradigm for providing the reliable service in the current dynamic environment. The basic concept of cloud computing relies on the storage strategy that is designed to store the user data on internet instead of storing it locally (Kumar et al., 2017). The rapid improvement in energy consumption of the internet-based data, time effectiveness has become a major factor for improving its performance (Srichandan et al., 2018). The time effectiveness of a cloud computing-based application is affected by communication capacity, multi-tasking execution and various other factors (Natesan and Chokkalingam, 2019). Thus, the overall performance of cloud computing aspects can be improved using task scheduling strategies.
The task scheduling and resource allocation strategies should be optimized for precise and accurate resource provisioning and flexible execution of cloud computing. There are various optimized resource allocation and task scheduling mechanisms reported in the literature, contributing to the cloud computing-based software engineering frameworks (Chen et al., 2015). However, there are various possibilities for optimizing new strategies as the current scheduling algorithms are costly and are prone to errors as well. The various studies suggested that in order to accomplish the cloud computing-based task execution, there are various aspects which should be taken care of:
- •
Resource distribution and task allocation is important.
- •
Order of task execution by the clouds in order to avoid data dependencies.
- •
Overhead scheduling for switching the task sequence and planning.
- •
Cost reduction to meet the increase demand of computer resources.
- •
Efficient allocation as well as deallocation of resources for proper resource utilization.
- •
Flexible scaling speed for effectual infrastructure utilization.
- •
Easy and flexible accessibility at any convenient time around the world.
These aspects are needed to be effectually considered for effective resource allocation and task scheduling which is very important for high performance computing and also plays a vital role in embedded systems (Min-Allah et al., 2020). The basic task scheduling methodology for cloud computing process in depicted in Figure 1 (Hu et al., 2020).
Figure 1.
Task scheduling methodology using cloud computing