IMMEDIATE/BATCH MODE SCHEDULING ALGORITHMS FOR GRID COMPUTING: A REVIEW

Immediate/on-line and Batch mode heuristics are two methods used for scheduling in the computational grid environment. In the former, task is mapped onto a resource as soon as it arrives at the scheduler, while the later, tasks are not mapped onto resource as they arrive, instead they are collected into a set that is examined for mapping at prescheduled times called mapping events. This paper reviews the literature concerning Minimum Execution Time (MET) along with Minimum Completion Time (MCT) algorithms of online mode heuristics and more emphasis on Min-Min along with Max-Min algorithms of batch mode heuristics, while focusing on the details of their basic concepts, approaches, techniques, and open problems


Introduction
Scheduling in (Kokilavani, 2011), is considered to be an important issue in the current grid concept. The need for efficient scheduling increases to achieve better performance computing. Typically, it is difficult to find an optimal resource allocation which minimizes the schedule length of jobs and efficiently utilizes the resources. The main phases of scheduling in a grid computing environment, according to (Amalarethinam, 2010) are; resource discovery, gathering resource information and application execution as shown in figure 1.1. The choice of the best pair of jobs and resources in the second phase proved to be NP-complete problem. In this paper,  Immediate and batch scheduling is well-known methods, largely explored for many computing environments and different types of applications. They are also useful for Grid scheduling. In immediate mode, jobs are scheduled as soon as they arrive at the system, without waiting for the next time interval when the scheduler gets activated or the job arrival rate is small having thus available resources to execute jobs immediately. In batch mode, task's, jobs or applications are grouped in batches and scheduled as a group. Batch mode scheduling methods are simple and yet powerful heuristics that is distinguished for their efficiency. In contrast to immediate scheduling, batch scheduling could take better advantage of job and resource characteristics in deciding which job to allocate to which resource since they dispose of the time interval between two successive activations of the batch scheduler. Immediate scheduling methods include Opportunistic Load Balancing, Minimum Completion Time, Minimum Execution Time, Switching Algorithm and k-Percent best and between batch mode methods there are Min-Min, Max-Min, Sufferage, Relative Cost and Longest Job to Fastest Resource -Shortest Job to Fastest Resource (Mukherjee, 2011).

Minimum Execution Time (MET) also known as Limited Best Assignment (LBA)
This algorithm finds the task which has minimum execution time and assigns to the resource that produces it less execution time. If two or more resources are taking the same execution time, then one of the resources is selected randomly (Panda et al., 2013). It served the task at firstcome, first-served (FCFS or FIFO) basis. This algorithm does not consider the availability of the Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [3] resource and its load. The time to find the resource with minimum execution time is 0 (nm) (Hemamalini, 2012).

Minimum Completion Time (MCT)
This algorithm assigned task to a resource that takes its least completion time. If two resources are taking same completion time, then one of the resources is selected at random. MCT takes more time to map a task to a particular resource, this implies that, the task may not be mapped to least execution time resources and it considers one task at a time. Therefore, leads to high makespan and poor resource utilization (Chaturvedi et al., 2011). This algorithm has been studied by different researchers; include (Freund et

Min-Min Scheduling Algorithm
One of the most widely used batch mode algorithm for mapping independent tasks in the heterogeneous computing system is Min-Min algorithm (Pinel et al., 2012). This algorithm finds the task with minimum execution time and assigns to a resource that produces it minimum completion time. The ready time of the resource is updated. This procedure is repeated executed until all tasks are scheduled (Hemamalini, 2012). Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [4] Min-Min algorithm concept implies, mapping task with minimum execution time first, to its best resource will fasten the overall execution so that, makespan is minimized (Braun et al., 2001. This algorithm produces better makespan and resource utilization if the number of the heavier tasks exceeded that of smaller ones. Whereas, result to high makespan and poor resource utilization when smaller tasks are much more than heavier ones and load imbalance.
Because of it widely used for mapping independent tasks in the heterogeneous computing system among other several heuristic developed by different researchers, min-min undergone a series of change and involve in multiple comparisons among other's heuristics, we present a substantial review base on its involvement in; comparison, extension, quality of service, and load balancing.

Comparison
Earlier work on static heterogeneous computing, scheduling in (Freund et al., 1998) was introduced by Ibarra and Chul, five special algorithms were computed, Min-Min inclusive. They also studied two other strategies: i.e., when tasks need to be scheduled on just two resources, and when the resources are of the same attributes.
Due to its ability in making it likely to gain high-quality solutions in a suitable runtime, large number of researchers have worked and revealed the benefits of MinMin algorithm for heterogeneous computing scheduling. Some of these works include the following.

Extension
However, researchers have also proposed several extensions to Min-Min or new algorithms with several points of contact with this heuristic.  introduced Segmented Min-Min that secretly related to Min-Min. In this algorithm, tasks are sorted according to some score function of the expected time to compute in all machines (it could be the maximum, minimum or average expected time to compute among all machines). Then, the ordered sequence is segmented into groups, and finally MinMin is applied to schedule the group of larger tasks, followed by the other group.    Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [6] Tasks in Computational Grid by Vijayalakshmi and Vasudevan (2015)

Quality of Service
On the other hand, researchers presented interesting extensions to traditional Min-Min is known as Quality of Service (QoS).
He et al., 2003, being the first to propose a QoS guided Min-Min algorithm that guarantees QoS requirements by certain tasks, believe that, some tasks may require high network bandwidth to exchange a large amount of data among processors, whereas others can be satisfied with low network bandwidth. Therefore, a task that required high bandwidth will be assigned to resource that produces high network bandwidth. Similarly, (

Max-Min Scheduling Algorithm
Max-Min algorithm undergone very few extensions by researchers due to its capability of reducing idle time of resources. [Amalarethinam & Kfatheen, 2014] proposed Max-Min Average. In this algorithm, tasks are assembled like Max-Min at the first phase. For selecting a resource, mean of completion time (meanCT) is compared with resource completion time (CTj), and then if CTj is less than or equal to meanCT, task with maximum completion time is Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [7] scheduled otherwise best maximum execution time is scheduled. Also (Devipriya and Ramesh, 2013) propose an improved Max-Min heuristic Model for task scheduling in Cloud Computing. In this algorithm, task with maximum execution time is assigned to resources that produce it minimum completion rather than assigning task with maximum completion time, to the resource which provides minimum execution time for the task as in Max-Min. Similarly, (Mao et (Etminani and Naghibzadeh, 2007) presented selective algorithm, (Gupta & Singh, 2012) has also proposed switcher algorithm that chooses between the two algorithms under a prescribed condition.

Immediate/Batch mode Scheduling Algorithms, Techniques
Let assume a grid environment, having two machines (R1 & R2) with four tasks (T1, T2, T3, and T4) to be executed. The Expected Time to Compute (ETC) matrix for the grid system is defined in the Table 3.1. Each resource produces its completion time in respect to available tasks (completion time implies the resource ready time plus task execution time). In table 3.1, resource one (R1) produces completion time of (4, 2, 5, and 3) for tasks (T1, T2, T3, and T4) while resource two (R2) produces completion time of (10, 13, 16, and 14) for tasks (T1, T2, T3, and T4) and finally, we applied the considered algorithms to map the tasks and determine their maximum finishing time (makespan) and average resource utilisation.  Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [8] From table 3.2 below, MET assigns all tasks to resource R1 leaving resource R2 unused (idle), with makespan of 14s. Similarly, Min-Min algorithm also assigns all tasks to resource R1 and leave resource R2 idle achieving a makespan of 14s. While, MCT assigns T1, T2, and T3 to R1 and T4 on resource R2 achieving makespan of 14s, However, Max-Min algorithm assigns tasks T3, T1 and T4 to resource R1 and task T2 to R2 with a makespan of 13s though make right use of the two resources of about 70% on R1 and 100% on resource R2 which assumed as the best algorithm of this scenario. Figure 1.2 & 1.3 demonstrates the results of their makespan and resource utilization for the scenario. We explain in the appendix the process of calculating makespan and average resource utilization

Complexity
The complexity is an essential metric in theoretical analysis of algorithms that asymptotic estimates their performance. It determines the amount of time to solve the given computational problem using selected mathematical notation such as the Big O. In our case, it indicates how fast the scheduling algorithm will be in finding a feasible solution in a highly dynamic Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [9] heterogeneous grid system. Table 3.3 illustrated the complexity of Immediate/Batch mode scheduling algorithms. It is worth remarking that the number of machines in a grid m is much less than the number of tasks n.

Conclusion
Grid task scheduling had increased in throughput of available resources, as its major goal. Therefore, task scheduling is an important issue in the recent grid computing scenario, as such, an efficient task scheduling algorithm is needed to utilise the resource effectively and reduce the overall completion time. In this paper four different scheduling algorithms like Min-Min, Max-Min, MCT and MET have been reviewed. The study gave details findings about the four algorithms, summary of their techniques and weak points were given along side with a comprehensive illustrative example. This review can be used as a stepping stone for additional modification of the algorithms.
However, from all their viewed efforts, it shows that, these algorithms are commonly used by the community to solve scheduling problems. On the other hand, their solution shows that, mapping tasks to their best resources is an important challenge to this heuristic. For these reasons, a significant improvement in the computational efficiency of the algorithms could be welcome. Http://www.granthaalayah.com ©International Journal of Research -GRANTHAALAYAH [10]