Abstract :
Cloud computing is one of the most recent trends in the era of computing, where resources are offered to end-users in an on-demand fashion. The usage of cloud computing has been enormously spread over the past decade, with which computing services are provided with level of abstraction. The trend of delivering these service over the cloud introduces new technical problems and challenges. And consequently, many studies have been focusing on the technical problems that are introduced in cloud computing, especially the problem of allocating tasks to cloud computing resources. The performance of the proposed solutions used to allocate tasks to cloud resources have to meet certain QoS criteria’s in order for a cloud environment to operate efficiently. These QoS criteria’s include executing tasks before their deadlines, while ensuring that the cost of executing all tasks is minimum.
In this research, we propose four different algorithms to schedule real-time tasks in cloud systems. Two greedy algorithms have been proposed and used as a baseline to benchmark another two population-based algorithms. We firstly model the task allocation of real-time tasks as an optimization problem, formulated with two simple constraints: deadline and dependency. Then, we propose four different algorithms to solve the problem and produce the schedules of tasks. We lastly compare the performance of our four algorithms in terms of their fitness values and timings with the aid of a simulated cloud environment witten in C#. The experiments show that the results of Differential Evolution (DE) are statistically more appealing than Genetic Algorithm (GA), and can provide schedules to the problem with less fitness costs than those provided by the two greedy algorithms while sacrificing the time required to produce them.