Resource-efficient workload task scheduling for cloud-assisted internet of things environment

ABSTRACT


INTRODUCTION
The internet of things (IoT) is a platform where various devices and applications are connected to the internet [1], [2]. Nowadays, the IoT plays a major role in various fields such as home security, environment protection, intelligent traffic, and health [3]. The IoT sensors can obtain data very easily and this helps humans to acquire the data in high quality [4]. Furthermore, the IoT resource management technique can monitor and control various sensors without overriding resources [4]. Resource management includes various applications, networks, and different kinds of system management [5]. This resource management also helps to check the utilization of the resources, and performance and configures the different networks for the extraction of the data. In most scenarios, the IoT is used to collect the data from various sensors which the humans convert the IoT data for useful information using the data analysis process. To analyze the data, most users use the cloud-based IoT environment because it helps to analyze the data more efficiently. Furthermore, the cloud computing area has a major role to play in the IoT-cloud-based environment [6]. The cloud provides various resources such as virtual machines, computational cores, networks, and various other resources for the execution of the various tasks of the IoT. One of the most challenging tasks in the IoT-cloud-based environment is the resource allocation for the tasks. Furthermore, there are some methods to execute IoT tasks using an optimal resource management system that is not efficient. Hence, present a model which computes the number of resources required such as the computational core, bandwidth, and resources, to process a certain real-time task in the cloud environment [7], [8]. Furthermore, we present resource-efficient workload task scheduling (RWTS) model for cloud-assisted IoT environment to execute the IoT tasks using minimal resources to bring a good tradeoff and also to achieve high performance with the least resources utilized. In the next section we have presented the literature survey about the various IoT-cloud-based environments and how have they handled the problem of resource utilization to execute IoT tasks.

LITERATURE SURVEY
In [5], they have explained the various key technologies and challenges in IoT edge computing. They have explained how cloud services help the various IoT applications to compute their various operations and store data in the cloud. In [6], they have designed an architecture for the computation of IoT operations at the highest performance. In this model, they have achieved the highest performance by letting the computational nodes automatically change dynamically according to the task requirements. Furthermore, they have achieved security for their model using the blockchain. In [7], they have designed a resource management system for the WebIDE cloud server where the IoT tasks are prescheduled. The experimental results have shown that by using this method, the time is reduced for the execution of IoT tasks, and also the cloud resources are used efficiently. In [8], they have developed a model for the resource management system which manages the quality of service (QoS) requirement automatically to achieve the service level agreements and its violations. The service level agreement (SLA) aware automatic resource management technique reduces the service level agreement violation for better resource management in the cloud server. The results show that by optimizing the quality of service and also by reducing service level agreement violations, the resources can be allocated efficiently. In [9], they have presented a cost-effective algorithm that completes the execution of the tasks of the workflow in a given time constraint. The results show that the model reduces the cost and time. In [10] they have presented a dynamic cost-effective model which executes the various tasks of the workload in a given time constraint. They have used the advantage of the virtual machines in the cloud to execute the tasks. The results show that the model has better performance when compared with the existing current state-of-art models. In [11], they have presented a model which reduces the cost and energy in a given deadline constraint for the execution of the tasks of the workflow tasks in the cloud. The model cost and energy aware scheduling (CEAS) reduces the cost of the execution and energy by using the virtual machine (VM) selection algorithm. They have used CloudSim to experiment on the real-time dataset. In [12], they surveyed various challenges and methods used for scheduling the workflow in the cloud. In this review, they have analyzed and compared various models that are currently being used for workflow scheduling. In [13], they have proposed a framework that provides a resource management system for real-time IoT data in the cloud environment. This helps to reduce the traffic in the network, reduce energy consumption, and increase the network lifetime which gives a good tradeoff. In [14], they have reviewed various issues and challenges for the cloud-based resource allocation for the IoT environment. Moreover, they have also investigated the various parameters which affect resource management such as load balancing, service level agreement violation, which increases energy consumption and cost. In [15], they have presented a model which utilizes fewer resources to execute the IoT sensor tasks by a given deadline. To execute this model, they have presented an algorithm, energy-efficient collaborative task computation offloading (ECTCO) algorithm. The results show that this model reduces the cost and energy using fewer resources when compared with the current state-of-art models.
In [16], they have discussed the various challenges such as the energy consumption and resource utilization faced by the VM in the cloud. Hence, they have developed an algorithm that provides a better resource utilization technique to execute the tasks of the workflow in the virtualized cloud environment. The experiments have been performed using a real-time dataset and the results show that it has better performance in terms of makespan, energy consumption, and load balancing. In [17], they have presented two methods for the execution of the tasks in an infrastructure-as-a-service (IaaS) cloud. This model has reduced the cost by 100% by providing better resources for the execution of the tasks. In [18], they have presented a model for the multi-objective workflow which provides a good trade-off solution for the workflow scheduling of the tasks in the cloud. The results show that the model has better performance in terms of reduced cost and optimized makespan when compared with the state-of-the-art scheduling methods. In [19], they have presented a model which executes the real-time stream workflows using the genetic algorithm which provides good tradeoffs and reduces the cost by reducing resource utilization. In [20], [21], they presented a model for scheduling the tasks and allocating the tasks according to the task requirement in the cloud-fog environment. In [22], they have proposed an efficient task scheduling approach in an IoT environment. They have compared the results with the particle swarm optimization technique, artificial bee colony (ABC), and genetic algorithm (GA). In [23], they have proposed deep reinforcement learning algorithms for task scheduling in a fog environment. In [24], they have proposed a task scheduling approach using grey wolf optimization for providing a better quality of service. Most of the above models have not focused to reduce the computational resources (bandwidth and computational core) and to provide a better resource management model. Hence, we present a RWTS model for cloud-assisted IoT environment which computes the number of resources required such as bandwidth and computational core for processing certain real-time tasks. Further, we design an efficient resource provisioning/scheduling algorithm for executing IoT tasks using minimal resource usage for bringing a good tradeoff between achieving high performance with minimal resource usage which has been shown in the next section.

METHODOLOGY
This section provides a model to calculate the number of resources required such as computational core, processor, and bandwidth to process a given real-time task. This section also provides an efficient provisioning/scheduling method to execute an IoT task with the utilization of the least resources to bring a good tradeoff, reduce energy consumption, and also achieve high performance. In this section first, we present a system model to execute the workload in proposed architecture described in Figure 1, then we present a model to calculate the consumption of energy required during the execution of the task by the machines and finally we present a model for the task scheduling as described in flow diagram of Figure 2.

Model to execute the workload
A basic cloud computing server consists of users, the internet, physical machines, and virtual machines. Consider a cloud-assisted IoT environment in which there are many physical machines represented using which can be represented using (1): In (1), is used to represent the physical machines that are currently in the cloud-assisted IoT environment. There are different parameters for a given physical machine such as memory capacity, capacity, and storage size. All these parameters for a given physical machine can be represented using . Hence, for a given physical machine ∈ . The can be represented as (2): In (2), is used to define the size of the storage, is used to define the capacity of the memory, ↑ is used to define the highest energy level, is used to define the capacity of the bandwidth, ( , ) is used to define the levels of voltage and frequency and the is used to define the number of virtual machines present in the physical machine. Moreover, the levels of voltage and frequency ( , ) for the given physical machine can be represented using (3): In the same way, the virtual machines present in the physical machine can be represented using (4): Furthermore, every virtual machine can be defined using (5): In (5), , is used to define the frequency level of the virtual machine, , is used to define the memory capacity of the virtual machine and , is used to define the size of the storage. In this model, the hardware resources can be utilized by the virtual machines and these virtual machines can migrate among the physical machine according to the requirement of the task.

Model for the energy consumption in the physical machines
In this section, we discuss the energy consumption by the physical machines during the execution of the task and present a model which reduces the energy consumption during the execution process. For every execution of a task, the processor executes the task, and to run the processor energy is consumed. Consider a processor running and it is currently executing a given task, then the energy consumed by the processor can be represented using and the highest peak of energy consumed by the physical machine can be represented using . From the existing method [14], the consumption of energy by a given physical machine can be represented using (6) In (6), is used to define the highest energy consumed, ↑ is used to define the highest energy level, is used to define if the physical machine is currently active or not, also ∈ {1,0}. is used to define the frequency of CPU at the time , and ↑ is used to define the highest frequency of the CPU utilized. Using all the different parameters the energy consumed by each physical machine can be calculated using (7): In (7), all the variables are not dependent on the time except and which can vary according to the given time; hence they are time-dependent. The variables which do not vary with time are static.

Model for task scheduling the workload in a cloud-assisted IoT environment
To execute the task in a cloud-assisted IoT environment we require a physical machine with some number of virtual machines to execute the whole task. Consider a physical machine in which the virtual machines , has to execute various tasks . To execute the tasks, consider a mapping association , between the virtual machines , and various tasks . If the mapping association , equals to 0 then we can say that the given tasks have been mapped to the virtual machine. If the mapping association , equals to 1 then we can say that the given tasks have not been mapped to the virtual machine. This can be expressed mathematically using (8): is not mapped to , 1, otherwise.
The tasks that have to be executed have different dependencies and sometimes require more time to execute the given task. This problem of data dependency on the given task can be summarized using (9): In (9), , is used to define the completion time of the given task , is used to define the time utilized for the transmission of data from one task to another task . After the whole process of the execution of the tasks in the virtual machines , , the maximum time utilized for the execution of the task is given by (10): Furthermore, to maintain the allocation of resources for a given task , the tasks have to be executed within a given deadline. The task deadline is given using (11): Moreover, if an existing task is currently running and if a new task arrives and the job requirement of that task has more priority then they have to be allocated some of the resources from the currently running tasks. This problem of restriction of the resources in the physical machine can be described using (12) and (13): The main focus of this model is to resolve the constraints which have been mentioned in (9)-(13) and also to reduce the consumption of energy during the allocation of the resources for the given tasks of the workload, (14) is used to resolve all the constraints.
In (14), is used to define the size of the physical machine, is used to define the starting time of the execution of the workload, and is used to define the ending time of the execution of the workload. Moreover, in (14), all the variables are not dependent on the time expected and which can vary according to the given time; hence they are time-dependent. The variables which do not vary with time are static. Furthermore, this model also focuses to provide good tradeoffs, allocating the resources efficiently, and also providing better performance by utilizing fewer resources, hence, the following equation is given by (15): In (15), is used to define the size of the workload of , | | is used to define the size of the task in the workload , is used to define the frequency of the CPU for the given task , is used to define the execution of the complete workload, is used to define the size of the physical machine in a cloud-assisted IoT environment and is used to define the active state of the physical machine. Moreover, scheduling tasks on various computing machines is an NP-Hard problem. The proposed RWTS described in algorithm 1 is efficient in obtaining ideal resources heuristically meeting constraints such as reducing energy consumption and meeting task deadline. Algorithm 1. Resource-efficient workload task scheduling (RWTS) Step 1. Start Step 2. Deploy cloud computational environment composed of physical machines and virtual machines .
➔ Configure physical machines with storage , Memory , highest energy level ↑ , bandwidth , voltage and frequency and virtual machines using (2). ➔ Configure the virtual machine with the frequency level , , memory capacity , , and storage , using (1).
Step 3. The user submits workflow task dependency ∈ to cloud resource provisioner Step 4. The resource provisioner according to the task deadline finds resources from the cloud service provider and schedules tasks with constraints defined in (9)- (13).
➔ Compute energy consumption of physical machine using (7). ➔ Compute constraints such as tasks should be executed within the deadline with minimal energy consumption using (9)- (13). ➔ The resource provisioner schedules task with minimal energy consumption (using (14) and maximizes resource utilization using (15).
Step 5. Measure the scheduling efficiency of RWTS in terms of minimizing execution time and minimizing energy consumption.

RESULTS AND DISCUSSION
In this section, the results obtained during the experimentation have been discussed. The Montage workflow has been considered which has been shown in Figure 3

Execution time
In this section, the execution time taken for the execution of the Montage workflow by the proposed RWTS model and the existing dynamic voltage frequency scaling (DVFS) model has been discussed [18].  (15), which aids in fully utilizing the system resource meeting processing time concerning energy constraints.

Power sum
In this section, the power sum consumed for the execution of the Montage workflow by the proposed RWTS model and the existing DVFS model [18] has been discussed. Figure 5 shows the power sum consumed for both models. In Figure 5 (14), which aid in reducing the energy required for the execution of respective task time requirement. Thus, more task is executed by utilizing resource efficiently i.e., using a smaller number of physical resources.

Average power
In this section, the average power consumed for the execution of the Montage workflow by the proposed RWTS model and the existing DVFS model [18] has been discussed. Figure 6 shows the average power consumption for both models. In Figure 6 it can be seen that the DVFS model consumes 28.  (14) and (15) for scheduling tasks with high resource utilization that meets energy constraints considering the application deadline prerequisite.

Energy consumption
In this section, the energy consumed by the resources for the execution of the Montage workflow by the proposed RWTS model and the existing DVFS model [18] has been discussed. Figure 7 shows the energy consumption of the resources for both models. In Figure 7 (14), which aid in reducing the energy required for the execution of respective task time requirement. Thus, more task is executed by utilizing resource efficiently i.e., using a smaller number of physical resources.

Average execution time comparison
In this section, the average execution time consumed to execute the different montage workloads using different models has been discussed. Figure 8 shows the graphical representation of the average energy time consumed by each model for Montage 25, Montage 50, Montage 100, and Montage 1,000. The evolutionary multi-objective (EMO) model [19] has taken 8.44, 9.78, 10.58, and 11.36 seconds to execute the Montage 25, Montage 50, Montage 100, and Montage 1,000 workflow respectively. The DVFS model [18] has taken 6.9868, 7.7506, 8.1735, and 8.591 seconds to execute the Montage 25, Montage 50, Montage 100, and Montage 1,000 workflow respectively. The proposed RWTS model has taken 2.2188, 1.435, 1.331, and 0.9532 seconds to execute the Montage 25, Montage 50, Montage 100, and Montage 1,000 workflow respectively. The figure shows the proposed model tends to perform extremely well for larger workloads; this is due to the adoption resource maximization function introduced in (15), which aids in fully utilizing the system resource meeting processing time concerning energy constraints.  (14) and the resource utilization maximization function introduced in (15) considering the makespan-energy constraint meeting application deadline prerequisite.

CONCLUSION
The research work presents a RWTS model for a cloud-assisted IoT environment to execute the IoT task which utilizes fewer amount of resources to bring a good tradeoff and also to achieve high performance using fewer resources of the cloud. The work has also presented a brief survey about the challenges of the existing models and presented a solution for these challenges using the proposed model. We have presented a model which reduces the energy consumed by the resources and also presented a task scheduling process in which the resources are used efficiently for the execution of the tasks of the workload. Furthermore, the results have been presented for a proposed model which has been compared with the existing DVFS model.