Investigating reallocation algorithms in computational grids and presenting an efficient algorithm

Number of pages: 73 File Format: word File Code: 31036
Year: 2013 University Degree: Master's degree Category: Computer Engineering
  • Part of the Content
  • Contents & Resources
  • Summary of Investigating reallocation algorithms in computational grids and presenting an efficient algorithm

    Master's Thesis in the field

    Computer Engineering (Software)

    Abstract

    Torin computing networks (GRID) have provided a platform to use heterogeneous resources in different geographic locations to solve complex scientific, engineering and business problems. Scheduling operations play a key role in the performance of Grids. Due to the dynamics of resources and imprecise estimation of execution time. To support fault tolerance, increase resource efficiency and reduce task completion time, which is called rescheduling. In this thesis, two independent task scheduling algorithms and a task flow scheduling algorithm are presented, taking into account the dynamics of the environment, whose goals are to reduce execution time, increase resource efficiency, create load balance, and support fault tolerance. First

    Introduction

    1-1 Introduction

    The term "grid" was proposed in the mid-1990s and grid computing infrastructure (grid computing) was proposed in the field of advanced science and engineering [1].  The main idea of ??grid environment is to share computing resources. Today, most people have more computing power on their computer systems than they need. Therefore, the discovery of geographically distributed computing resources and their use to solve applications that require high computing power and must be executed in a certain period of time at a certain cost are promoted. Such infrastructures are called computing grids, and have led to the popularity of a field called grid computing [1].

    From the connection of computing resources such as personal computers, workstations, clusters, servers, supercomputers, etc., distributed in different geographical regions, Turin computing networks (grids) have emerged, which are used as a computing platform to solve large-scale problems in academia, research and industry [2].

    One Allocation of resources to tasks is one of the main operations to ensure efficiency in Turin computing networks. Resource allocation operations should provide mechanisms to support fault tolerance, ensure the sure execution of tasks, increase resource efficiency, and reduce task completion times. Scheduling in the grid environment is a part of NP-complete problems due to the geographical distribution of resources and users, resource fluctuations, service quality requirements from applications and restrictions imposed by resource owners [3]. In scheduling independent tasks, the goal is to increase the performance of the entire system, and in scheduling tasks with dependencies, the goal is to reduce the execution time of tasks without violating their priority constraints. By reducing the execution time of tasks, it increases the productivity of resources, as a result, we will have an improvement in the performance of the entire system.

    In the last decade, task scheduling (dependent and independent tasks) within the grid environment has attracted the attention of many researchers. Due to the dynamics of the grid environment, the scheduling operation must update its schedule regularly by checking the current state of the system. Update operations occur with the occurrence of an event in the grid due to imprecise estimation of execution time, addition or removal of resources. In fact, the main purpose of applying rescheduling is to increase the productivity of resources, to execute definitively and to reduce the time of completion of work, so that at first it is scheduled based on the current status of resources and tasks, and in the event of the occurrence of the above events, rescheduling is based on the available resources and the status of the remaining tasks. It has been done and it has been shown that the estimates provided by the user are not accurate enough in most cases. The reason for this issue can be seen as that in local resource management systems, when the estimated execution time of the work ends, the work is terminated (cancelled), so users generally estimate the execution time of the work more than the actual time in order to be sure of the complete completion of the work. In various studies, the effect of user estimates on system efficiency has been evaluated, and the results indicate that incorrect user estimates reduce system efficiency.In addition, in the article [4] presented in 2009, the authors showed that local resource management systems are not able to cope with and control a large volume of handovers. In the article [5] that was presented in 2009, the impact of work set variability on the local resource management system was investigated and the results showed that this variability causes worse scheduling decisions. Rescheduling pursues three basic goals: increasing the efficiency of the scheduler, reducing the execution time, and providing fault tolerance.

    Scheduling in the grid environment due to dynamics consists of two stages. In the first stage, the scheduler is based on the current state of the resources, and the estimated execution time creates a mapping of tasks on the resources. In the second stage, with the occurrence of an event, the scheduler reschedules based on the tasks, resources, and dependencies between the tasks and produces a new mapping. 1-3 Objectives of the thesis Considering that the grid resources are non-specific and the imprecise estimates provided by users have a significant impact on the grid performance because the tasks that have data dependencies between them (the data generated by this task, need another task is to start) and if we cannot guarantee the definite execution of the work here (due to the failure of the resource) it is not possible to execute the advanced tasks. Also, these inaccurate estimates will reduce the efficiency of the grid. For this reason, there is a need to monitor the status of resources and tasks and apply new mapping (rescheduling) with the occurrence of an event in the grid (change in the status of resources or the execution time of the task). Completing the last task, increasing efficiency, certainty in the execution of tasks and creating load balance. In this thesis, we also try to provide a suitable scheduling algorithm with regard to these goals.

    1-4 stages of completing the thesis

    In order to complete the thesis, first the concepts of grid and the mechanism of scheduling and rescheduling (re-allocation) in the grid environment were examined and after evaluating the existing methods, the best method was selected and improved.

    1-5 Thesis structure

    In the second chapter, the basic concepts of timing and passing on previous researches are examined, and in the third chapter, the proposed algorithms are presented, and in the fourth chapter, the results of the evaluation and comparison of the proposed algorithm are given. Scheduling and review of past works

    2-1 Introduction

    In this chapter, we first describe the concepts and limitations that exist in the grid. Then we check the schedule and its types. Finally, we have an overview of the past works.

    Torin computing networks (grid) is a new technology that allows remote access to various types of resources by using communication infrastructures and computer networks, as well as by connecting heterogeneous computing resources at different geographical distances [6]. Today, using this technology, very complex and large applications that require very high processing power and a huge amount of input data can be implemented in grid networks.

    Grid computing networks have different divisions in terms of application, and they are: information grid, computing grid, etc. . . In each of them, the purpose and method of allocating resources to users is different. One of the main challenges in computing grids is the mapping of user requested tasks to resources according to scheduling policies. Scheduling is the act of assigning applications to computing resources in such a way that the requirements of applications such as: number of processors, execution time, etc.

    The scheduling problem is one of the Np-complete problems [3] and most of the presented algorithms are heuristics. The concepts and limitations that exist in this direction are explained below.

    Work: It is an application that requires different processing capabilities (such as the number of processors, memory, required time, etc.) and different limitations. which is usually indicated by specific job descriptions.

  • Contents & References of Investigating reallocation algorithms in computational grids and presenting an efficient algorithm

    List:

    - Introduction .. 1

    1-1 Introduction.. 1

    1-2 Necessity of implementation.. 2

    1-3 Purpose of the thesis implementation.. 3

      1-4 Steps of conducting the thesis.. 4

       1-5 Structure of the thesis.. 4

    2- The basic concepts of scheduling and a review of past works. 5

       2-1 Introduction.. 5

       2-2 centralized structure..

       2-3 decentralized or distributed structure. 8

    2-4 grade scheduling process and its components. 10

    2-5 types of schedulers .. 11

    2-6 types of tasks .. 12

    2-7 how to schedule .. 14

    2-8 extra-scheduler tasks .. 14

    2-8-1 work mapping .. 15

      2-9 review of previous research. 17

         2-9-1 Basic concepts .. 17

         2-9-2 ETF algorithm. 19

    2-9-3 Myopic algorithm. 19

          2-9-4 Algorithm of lowest lowest, highest lowest, right to vote. 19

    2-9-5 HLEFT algorithm. 20

    2-9-6 hybrid algorithm. 20

    2-9-7 GRASP algorithm. 21

    2-9-8 CPOP algorithm. 21

    2-9-9 PETS algorithm. 22

    2-9-10 HLEFT algorithm looking ahead. 23

    2-9-11 FTBAR algorithm. 23

    2-9-12 TSB algorithm. 24

    2-10 Summary... 24

    3- Suggested algorithms. 25

       3-1 Introduction .. 25

       3-2 Asuffrage Algorithm. 27

    3-3 MaxSuffrage Algorithm. 28

       3-4 DHLEFT algorithm. 30

    4- The results of the evaluation and comparison of the proposed algorithms. 34

       4-1 Introduction .. 34

       4-2 Brown's Evaluation Benchmark.. 34

       4-3 Evaluation of Assuffrage Algorithm. 36

    4-4 Evaluation of the MaxSuffrage algorithm. 38

    4-5 Evaluation of the scheduler of the proposed algorithm for the workflow. 40

       4-6 Evaluation of the DHLEFT algorithm. 43

    4-7 conclusions and suggestions for the future. 49

    5- Sources. 50

     

    Source:

     

    [1] Foster I., Kesselman C. and Tuecke S. (2001), "The Anatomy of the Grid: Enabling Scalable Virtual Organizations", International Journal of High Performance Computing applications, Vol. 15, No. 3, pp. 200-222.

    [2] Lorpunmanee S., Sap M.N., Abdullah A.H. and Chompoo-inwai C. (2007), "An Ant Colony Optimization For Dynamic Job Scheduling In Grid Environment", International Journal of Computer and Information Science and Engineering, Vol. 3, No. 1, pp. 207-214.

    [3] Braun T.D., Siegel H.J., Beck N., Boloni L.L., Maheswaran M., Reuther A.L., Robertson J.P. and Theys M.D., Yao B. (2001), "A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems", Journal of Parallel and Distributed Computing, Vol. 61, No. 6, pp. 810-837.

    [4] Sonmez O., Yigitbasi N., Iosup A., and Epema D. (2009), "Trace-Based Evaluation of Job Runtime and Queue Wait Time Predictions in Grids", International Symposium on High Performance Distributed Computing (HPDC'09), Munich, Germany, June 11-13, PP. 111-120.

    [5] Beltr´an M. and Guzm´an A. (2009), “The Impact of Workload Variability on Load Balancing Algorithms”, Scalable Computing: Practice and Experience, June, Vol. 10, No. 2, pp. 131–146.

    [6] Fern?ndez D. (1989), “Allocating Modules To Processors In A Distributed System”, IEEE Transactions on Software Engineering, Vol. 15, No. 11, pp. 1427-1436.

    [7] Xhafa F., Abraham A. (2010), "Computational Models And Heuristic Methods For Grid Scheduling Problems", Future Generation Computer Systems, Vol. 26, No. 4, pp. 608-621.

    [8] Rodero I., Guim F., Corbalan J., Fong L., Sadjadi S. M. (2010), “Grid Broker Selection Strategies Using Aggregated Resource Information”, Future Generation Computer Systems, Vol. 26, No. 1, pp. 72-86.

    [9] Zheng R. and Jin H. (2004), "An Integrated Management And Scheduling Scheme For Computational Grid", Second International Workshop on Grid and Cooperative Computing, Dec. 7-10,. 7-10, Shanghai China, PP. 48-56.

    [10] Hamscher V., Schwiegelshohn U., Streit A., Yahyapour R. (2000), "Evaluation of Job-Scheduling Strategies for Grid Computing", in Proc. of GRID 2000, First IEEE/ACM International Workshop, December 17-20, Bangalore, India, PP. 191-202.

    [11] Schopf J. (2001), 'Ten Actions When SuperScheduling', document of Scheduling Working Group, Global Grid Forum, available on: http://www.ggf.org/documents/GFD.4.pdf.

    [12] Czajkowski K., Fitzgerald S., Foster I., and Kesselman C. (2001), "Grid Information Services for Distributed Resource Sharing", in Proc. the 10th IEEE International Symposium on High Performance Distributed Computing (HPDC-10), August 7-9, San Francisco, California, USA, PP. 181-194.

    [13] Xhafa F. and Abraham A. (2010), "Computational models and heuristic methods for grid scheduling problems," Future generation computer systems, Vol. 26, No. 4, pp. 608-621.

    [14] Yu J. and Buyya R. (2005), "A taxonomy of workflow management systems for grid computing", Journal of Grid Computing, Vol. 3, No. 4, pp. 171-200. [15] Cao J., Jarvis S. A., Saini S. et al. (2003), "Gridflow: Workflow management for grid computing", in 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, Tokyo, Japan, PP. 198-205. [16] Zhang H.-b., Tang L.-s. and Liu L.-x. (2009), "Survey of grid scheduling", Computer Engineering and Design, Vol. 9, pp. 026.

    [17] Kwok 0Y. and Ahmed I. (1998). "Benchmarking the Task Graph Scheduling Algorithms".  Proc.  IPPS/SPDP. [18] Wieczorek M., Prodan R. and T. Fahringer (2005), "Scheduling of Scientific Workflows in the ASKALON Grid Environment", ACM SIGMOD Record, 34(3):56-62.

    [19] Maheswaran M. et al. (1999), "Dynamic Matching and Scheduling of a Class of Independent Tasks onto Heterogeneous Computng Systems", The 8th Heterogeneous Computing Workshop (HCW'99), San Juan, Puerto Rico.

    [20] Braun T. D., Siegel H. J. and Beck N., (2001), "A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems", Journal of Parallel and Distributed Computing, 61:801-837.

    [21] Topcuoglu H., Hariri S. and Wu M. Y. (2002), "Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing", IEEE Transactions on Parallel and Distributed Systems, 13(3): 260-274.

    [22] Yu, Z., & Shi, W. (2007, March), "An adaptive rescheduling strategy for grid workflow applications", In Parallel and Distributed Processing Symposium, 2007. IPDPS. IEEE International (pp. 1-8). IEEE.

    [23] Sakellariou R. and Zhao H. (2004), “A Hybrid Heuristic for DAG Scheduling on Heterogeneous Systems”, The 13th Heterogeneous Computing Workshop (HCW 2004), Santa Fe, New Mexico, USA, April 26.

    [24] Feo T. A. and Resende M. G. C. (1995), “Greedy Randomized Adaptive Search Proce-dures", Journal of Global Optimization, 6:109-133.

    [25] Hoos H. H. and St?utzle T. (2004), "Stochastic Local Search: Foundation and Applications", Elsevier Science and Technology.

    [26] Topcuoglu H., Hariri S. and Wu M.Y., (2002), "Performance effective and low-complexity task scheduling for heterogeneous computing”, IEEE Trans. on Parallel and Distributed Systems, 13: 3. [27] Topcuoglu H., Hariri, S. and Wu, M. Y. (2002), "Performance-effective and low-complexity task scheduling for heterogeneous computing", Parallel and Distributed Systems, IEEE Transactions on, 13(3), 260-274

    [28] Bittencourt, L. F., Sakellariou, R. and Madeira, E.R. (2010, February). "Dag scheduling using a lookahead variant of the heterogeneous earliest finish time algorithm", In Parallel, Distributed and Network-Based Processing (PDP), 2010 18th Euromicro International Conference on (PP. 27-34). IEEE.

    [29] Tabbaa, N., Entezari-Maleki, R. and Movaghar, A.

Investigating reallocation algorithms in computational grids and presenting an efficient algorithm