Scheduling real-time tasks in cloud computing environment using colonial competition algorithm

Number of pages: 90 File Format: word File Code: 31071
Year: 2014 University Degree: Master's degree Category: Computer Engineering
  • Part of the Content
  • Contents & Resources
  • Summary of Scheduling real-time tasks in cloud computing environment using colonial competition algorithm

    Dissertation for Master's Degree

    Computer Engineering, Software Orientation

    Abstract

     

    The task scheduling algorithm, which is an NP-complete problem, plays a key role in the cloud computing system. The colonial competition algorithm is one of the newest evolutionary optimization algorithms. As its name suggests, this algorithm is based on the modeling of the socio-political process of the colonial phenomenon. In this research, using the colonial competition algorithm, an algorithm for scheduling soft real-time tasks in the computing cloud environment is designed that can execute the program in the shortest possible time, before the deadline and using the least number of resources, so that the execution time of the task is compared to the scheduling of real-time tasks based on the genetic algorithm and under equal conditions. decrease The proposed algorithm uses heterogeneous systems, where the resources have computing and communication heterogeneity. Scheduling is also considered as a centralized and dynamic type, in this type of scheduling, attention should be paid to the pre-forecasted tasks and the system environment and the current state of the system in order to create a scheduling plan. The implementation of the proposed algorithm has been carried out for two experiments of 200 servants and 400 servants, and the tasks have been entered into the system from 16 to 4096. We conclude the effectiveness of the proposed algorithm based on the time to complete the work, the number of tasks not completed within the set deadline and the number of servers used.

    In this research, using the colonial competition algorithm in scheduling real-time tasks in the cloud computing environment, the use of resources has been optimized, the ratio between the expected execution time and the execution time has decreased, and the optimal value of fitness has also improved.

    Keywords

    Clouds computing, real-time tasks, algorithms

    Chapter 1

    Research overview

    Introduction

    In this chapter, a summary of computing clouds, the colonial competition algorithm, and the timing of tasks will be explained first, and then the importance of the research topic, problem definition, research objectives, research scope, and the overall structure of the thesis will be discussed.

    1-1-1 Computing clouds

    New computing clouds[1] are the latest generation of distributed systems [2], whose name is heard a lot in the communication and information technology industry today and has been welcomed by the scientific and commercial community. Cloud computing is a more evolved form of public mesh systems that truly implemented the idea of ??providing information technology services as a public service on a pay-as-you-go basis. Perhaps one of the most important factors in the emergence and success of clouds is hardware and software improvements in virtualization. Using virtualization, it is possible to create several independent virtual machines (guest environment) simultaneously on a hardware resource (host environment). A virtual machine is a software implementation of a real computer that imitates its behavior, so by installing an operating system (guest) on a virtual machine, you can run your desired applications on it. Also, service providers can provide users with the programs they run on the virtual machine, or even the virtual machine itself as a service. The use of virtual machines has three major advantages for service providers:

    It allows them to segment and customize their hardware infrastructure based on user needs. For example, they can simultaneously create several virtual machines with different operating systems for different users on a powerful hardware.

    The execution environment of each program is on a virtual machine. Therefore, the occurrence of an error in any program or virtual machine will not affect other running programs.

    Using methods such as live migration [3], in case of any hardware or software problem, the entire virtual machine can be transferred to another hardware and continue its work, which increases the reliability of the system. Usually, large suppliers have very large data centers in different parts of the world, which can be used even if a problem occurs in an entire region.Usually, large suppliers have very large data centers in different parts of the world, which can continue to work even if a problem occurs in an entire region.

    1-1-2 Colonial competition algorithm

    Colonial competition algorithm[4] is one of the newest evolutionary optimization algorithms. As its name suggests, this algorithm is based on the modeling of the socio-political process of colonialism. This algorithm, like other evolutionary optimization methods, starts its work with a number of initial populations. In this algorithm, each element of the population, corresponding to a chromosome in the genetic algorithm [5] and a particle in the particle optimization algorithm [6], is called a country. The countries are divided into two categories: colonies and colonizers. Each colonizer, depending on his power, dominates and controls a number of colonial countries. Assimilation policy and colonial competition form the core of this algorithm. In the policy of assimilation, we move the colonies towards its colonizer by considering coefficients. If, during the assimilation policy, a colony gains a better position than the colonizer, the two will switch places. To calculate the total power of an empire, the total power of the colonizing country plus a percentage of the power of its colonies is considered. Another important part of this algorithm is colonial competition. During this process, the weak empires will gradually lose their power and over time, it will reach a state where only one empire remains in the set of solutions, this is the state when the colonial competition algorithm stops upon reaching the optimal point of the objective function.]30[

    1-1-3 Scheduling tasks

    Scheduling tasks is one of the most famous hybrid optimization problems that plays a key role in improving flexible and reliable systems. The main goal of scheduling jobs to compatible resources according to consistent time, which includes finding a suitable sequence in which jobs can be executed under a logical constraint transaction. [1] [

    The problem of scheduling jobs means mapping and determining the order of execution of jobs on available resources, so that one or more efficiency measures are optimized. This problem is considered among the well-known NP-complete problems.

    Therefore, there is no well-known algorithm with polynomial time order, which can find an optimal solution for this problem. In addition, the scheduling problem in cloud computing system is far more complicated than traditional systems due to some of its special characteristics such as heterogeneity, independence, and resource dynamics. A lot of research has been done on the problem of scheduling tasks in the cloud computing system, which we will examine some of them in the next chapter. The presented scheduling algorithms are divided into two main categories:

    static algorithms that perform the scheduling operation before the start of program execution; and dynamic algorithms that perform the scheduling operation during program execution. The advantage of static algorithms is that they can prevent delays in the execution of tasks by using the possibility of reserving resources in advance. Usually, the goal of the proposed algorithms is to minimize the execution time of the program, without giving any specific guarantees to the user about the execution time ceiling (maximum effort timing). But the problem becomes more complicated when the issue of service quality is also raised. In this issue, the cloud computing environment consists of several suppliers, each of which provides resources to users. Each of these resources is able to perform one or more tasks with different service quality (such as execution time, security and different price). In scheduling based on quality of service, the scheduler must act in such a way that the minimum quality of service required by the user is met. But the important point is that the user usually does not specify the quality of service required for each task alone, but determines the quality of service for all tasks. For example, the user wants his work to be completed before a certain deadline and at a minimum price. Now, according to the execution time and the suggested price of each source for each work, the scheduler must choose the resources in such a way that the entire work is finished within the set deadline and the price is minimized. The point that adds to the complexity of the problem is that the way of calculating the service quality of the whole program is different from the service quality of each task for different criteria.

  • Contents & References of Scheduling real-time tasks in cloud computing environment using colonial competition algorithm

    List:

    Chapter 1- General research 1

    1-1-Introduction. 2

    1-1-1 computing clouds. 2

    1-1-2 colonial competition algorithm. 3

    1-1-3 Timing of work 3

    1-2 Importance of the research topic. 5

    1-3 problem definition. 6

    1-4 research objectives. 6

    1-5 scope of research. 6

    1-6 The overall structure of the thesis. 6

    Chapter Two - Literature and Research Background 7

    2-1 Introduction. 8

    2-2 computing clouds. 8

    2-2-1 Definition. 9

    2-2-2 History. 9

    2-2-3 architecture of computing clouds. 10

    2-2-4 Implementation models of computing clouds. 11

    2-2-5 Virtualization. 12

    2-2-6 Advantages of computing clouds. 12

    2-2-7 challenges of computing clouds. 13

    2-3 scheduling independent tasks. 14

    2-3-1 Definition. 15

    2-3-2 scheduling algorithms in computing clouds. 16

    2-3-2-1 An overview of maximum effort scheduling algorithms. 20

    2-3-2-2 resource-aware scheduling algorithm. 20

    2-3-2-3 Improved Activity-Based Pricing (ABC) 21

    2-3-2-4 Particle Swarm Optimization (PSO) 21

    2-3-2-5 Time-Cost Agreement Algorithm (CTC) 21

    2-3-2-6 Multiple Workflows with Multiple QOS Constraints (MQMW) 22

    2-3-2-7 Heterogeneous Earliest Finish Time Algorithm (HEFT) 22

    2-3-3 Heuristic Algorithms. 22

    2-4 real-time timing. 23

    2-4-1         Some real-time scheduling algorithms. 24

    2-4-1-1 uniform rate algorithm. 24

    2-4-1-2 Algorithm of earliest deadline first (EDF) 24

    2-4-1-3 Least empty algorithm. 24

    2-4-1-4 two-level timing. 25

    2-5 colonial competition algorithm. 25

    2-5-1 Steps of colonial competition algorithm. 25

    2-5-1-1 The formation of early empires. 27

    2-5-1-2 Modeling the policy of assimilation: the movement of colonies towards imperialism. 29

    2-5-1-3 Transfer of colonial and imperialist position. 31

    2-5-1-4 The total power of an empire. 32

    2-5-1-5 Colonial competition policy. 33

    2-5-1-6 The fall of weak empires. 35

    2-5-1-7 Convergence. 36

    2-5-2 Advantages of colonial competition algorithm. 38

    2-6 research done in cloud computing scheduling. 40

    2-7 Summary and conclusion. 42

    Chapter Three - Proposed Method 43

    3-1 Introduction. 44

    3-1-1 statement of the problem. 44

    3-1-2 Timing parameters. 44

    3-1-2-1 scheduling model. 45

    3-1-2-2 initial match. 45

    3-1-3 objective function. 47

    3-1-4 How to perform the timing operation. 47

    3-1-4-1 soft real-time virtual machine model. 47

    3-1-4-2 Khadim model. 48

    3-1-4-3 Real-time virtual machine request. 48

    3-1-4-4 real-time cloud scheduling structure. 48

    5-3-1-5 stages of implementing the colonial competition algorithm. 50

    3-1-5-1 Formation of early empires. 50

    3-1-5-2 recruitment policy. 51

    3-1-5-3 Revolution. 51

    3-1-5-4 colonial competition policy. 52

    Chapter Four - Simulation and evaluation of the proposed methods 54

    4-1 Introduction. 55

    4-2 Simulator. 55

    4-2-1 Advantages of cloud sim. 55

    4-2-2 Modeling in cloud sim. 55

    4-2-2-1 cloud modeling. 56

    4-2-2-2 Modeling the allocation of virtual machines. 56

    4-2-2-3 Modeling dynamic workloads 56

    4-2-3 Simulator summary. 56

    4-3 Evaluation. 58

    4-2-1 test of 200 servants. 59

    4-2-2 Test of 400 servants. 62

    4-3 Conclusion. 65

    Chapter Five - Summary and Suggestions 67

    5-1 Summary. 68

    5-1-1 summary of the work done. 68

    5-1-2 Advantages and disadvantages of the proposed method. 69

    5-1-2-1 Advantages of the proposed method. 69

    5-1-2-2 Disadvantages of the proposed method. 69

    5-3 innovation. 69

    4-5 suggestions. 70

    Chapter Six - Appendix 71

    6-1 Introduction. 72

    6-2 Simulation using genetic algorithm. 72

    6-2-1 coding. 72

    6-2-2 Primary population. 73

    6-2-3 fitness function (cost calculation) 73

    6-2-4 selection operator. 73

    6-2-5 intersection operator. 73

    6-2-6 mutation algorithm. 74

    6-2-774

    6-2-7 termination algorithm. 74

    3-6 Conclusion. 75 References 76 Abstract 79 Source: [1] Chenhong Zhao, Shanshan Zhang, Qingfeng Liu “Independent Tasks Scheduling Based on Genetic Algorithm in Cloud Computing” IEEE, 25, 2009. [2] Ali Heydarzadegan, Yaser Nemati, Mohammad Iman Jamnezhad, Mohsen Moradi "Offering a New Approach to Optimal Scheduling of Tasks in the Cloud Using Chromosome Portioning" International Research Journal of Applied and Basic Sciences, 2014.

    [3] Saswati Sarkar "Optimum Scheduling and Memory Management in Input Queued Switches with Finite Buffer Space", IEEE 1373, 2003.

    [4] LeeCY,Piramuthu S.Tsai YK."Job shop scheduling with a genetic algorithm and machine learning" Inr J. Pred Res,35-4,1171, 1997.

    [5] Radoslaw Szymanek and Krzysztof Kuchcinski, "Task Assignment and Scheduling under Memory Constraints", IEEE, 2000.

    [6] Kousik Dasgupta, Brototi Mandal, Paramartha Dutta, Jyotsna Kumar Mondal, Santanu Dam" A Genetic Algorithm (GA) based Load Balancing Strategy for Cloud Computing" International Conference on Computational Intelligence: Modeling Techniques and Applications (CIMTA), Elsevier, 340, 2013.

    [7] Ehsan Arianyan, Davood maleki, Alireza Yari" Efficient Resource Allocation in Cloud Data Centers Through Genetic Algorithm" IEEE, 2012.

    [8] Rajkumar Buyya, Chee Shin Yeo, Srikumar Venugopala, James Broberg, Ivona Brandic, "Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility" Future Generation Computer Systems, ELSEVIER, 2008

    [9] http://fa.wikipedia.org/wiki/Cloud Computing

    [10] Rajkumar Buyya, William Voorsluys, James Broberg, and, Introduction to Cloud Computing, Cloud Computing: Principles and Paradigms, R. Buyya, J. Broberg, A. Goscinski (eds), ISBN-13: 978-0470887998, Wiley Press, New York, USA, February 2011.

    [11] Atashpaz-Gargari, E.; Lucas, C., "Imperialist competitive algorithm: An algorithm for optimization inspired by imperialistic competition," Evolutionary Computation, 2007. CEC 2007. IEEE, 2007.

    [12] Hamid Taghavifar, Aref Mardani, Leyla Taghavifar, A hybridized artificial neural network and imperialist competitive algorithm optimization approach for prediction of soil compaction in soil bin facility, Measurement, Volume 46, Issue 8, 2288-2299, 2013.

    [13] J. Wiley & Sons, Inc., Hoboken. "Discovering knowledge in data, An Introduction to Data Mining", In New Jersey and Canada, 2005.

    [14] Shuo Liu, Gang Quan, Shangping Ren, "On-line Scheduling of Real-time Services for Cloud Computing", IEEE, 6th World Congress on Services, 2010.

    [15] Zhifeng Yu and Weisong Shi, "A Planner-Guided Scheduling Strategy for Multiple WorkApplications," icppw, International Conference on Parallel Processing, 1-8, 2008.

     

    [16] Elena Apostol, Iulia Baluta, Alexandru Gorgoi, Valentin Cristea. "Efficient Manager for Virtualized Resource Provisioning in Cloud Systems", IEEE International Conference on Intelligent Computer Communication and Processing (ICCP),511 - 517, 2011.

    [17] Hai Zhong, Kun Tao, Xuejie Zhang, "An Approach to Optimized Resource Scheduling Algorithm for Open-source Cloud Systems", The fifth annual ChinaGrid conference, 124-128, 2010. [18] Zhongni Zheng, Rui Wang, Hi Zhong, Xuejie Zhang, "An Approach for Cloud Resource Scheduling Based on Parallel Genetic Algorithm", 3rd International Conference on Computer Research and Development (ICCRD), 444 - 447, 2011. [19] Y. K. Kwok and I. Ahmad, "Static scheduling algorithms for allocating directed task graphs to multiprocessors," ACM Computing Surveys, vol. 31, no. 4,406–471, 1999.

     

    [20] L. Wang, H. J. Siegel, V. R. Roychowdhury, and A. A.

Scheduling real-time tasks in cloud computing environment using colonial competition algorithm