Grid Computing Is The Advanced Computing Computer Science
Grid computing is the advanced computing technique which lead to evolution of new revolutionary parallel processing concept. Grids are a form of distributed computing whereby a "super virtual computer" is composed of many networked loosely coupled computers acting together to perform large tasks. Most important task which determines the efficiency of parallel processing using grid computing is the scheduling policy used. Scheduling algorithms is the topic of concern since 1990s. Different scheduling algorithms have different advantages over other depending upon different situations. Priority algorithm is quite good because job are scheduled in accordance to the sequence of the priority. Jobs can be given priority according to the requirement and situations.The traditional priority algorithm schedule the jobs in accordance to the priority, jobs with higher priority is executed before the jobs with lower priority. If enough processors are not available, the incoming job must wait for some currently running job to terminate and free the processors. All subsequent jobs also wait so in order of the priority. This may lead to a waste of processing power as processors sit idle waiting for enough of them to accumulate.
FlexPrio scheduling algorithm is an optimization that tries to balance between the goals of utilization and maintaining priority order. It also ensure that higher priority jobs must not be starved in addition to high compaction and resource utilization.
KEYWORDS: Priority, Job Scheduling, Upper Bound, Grid Computing.
INTRODUCTIONCOMPUTATION Grid technologies [1] are a latest trend and appear as a next generation of the distributed heterogeneous system. It combines physical dynamic resources and various applications. It can be used as potential technology that leads to the effective utilization of the idle resources. The complex problems such as financial modeling, earthquake simulation, climate/weather modeling and business need to utilize the huge resources. Therefore, grid can open the occlude path and can be considered as an ultimate solution to solve these problems. Scheduling algorithm is the most important issue of current implementation of grid computing. Typically, application of grid computing concept requires a set of jobs, where each job is considered as the atomic unit of computation [2]. Berman, Fox and Hey (2002) described scheduler as a responsible component of grid computing which selects the best suitable machines or computing resources among different distributed resources for processing jobs to achieve high system throughput. It suggests the important of job scheduling algorithm in grid computing. Therefore job scheduling algorithm must be capable enough to schedule the jobs with minimum expenses and maintain the balance with current status of the environment. As environment status may change frequently, traditional job scheduling algorithm such as First Come First Serve (FCFS), Shortest Job First (SJF), etc., may not be suitable for the dynamic environment in grids. Different algorithms have different advantages over other. Priority algorithm can be viewed as a key to schedule jobs according to our requirement because it schedules the jobs in order of the priority, all we have to do is to set the priority of jobs according to demand of the situation. Jobs with higher priority is executed before other jobs with lower priority. It may run smooth if enough processing capability is available to run the jobs, otherwise the incoming job must wait for higher priority job to complete its execution. All subsequent jobs also wait so in order of the priority. There may be the possibility that other job with relative lower priority and lower computinal requirement can complete its execution in available resource. The proposed 'FlexPrio' algorithm is focused to remedies this major drawback of traditional priority based algorithm. Proposed algorithm is explained in detail in Section III.
This paper is organized as follows. Section II, discusses related work, Section III the proposed algorithm and its model, Section IV presents experimental evaluation and Section V gives conclusion and future work and lastly, the references.
RELATED WORKWhile executing the jobs over the grid, at times there are jobs which has to be executed first than others i.e. these jobs are of higher priority. For executing priority based jobs there were few algorithms proposed like Efficient Utilization of Computing Resources Using Highest Response Next Scheduling in Grid (HRN) [3]. This algorithm provides more responses with time, memory and CPU requirements. In this jobs are allocated to the number of processors based on the job's priority and processor's capability. The HRN is adaptive for local jobs as well as for remote jobs without the loss of performance and also highly adaptive for working in grid environment. The HRN removed the weakness of both First Come First Serve (which schedules job in order of there arrival) and Shortest Job First (SJF) but it had the weakness that, it also has higher turnaround time and both CPU and memory wastage. This algorithm is not well focused on high compaction i.e. maximum resource exploitation. Another job scheduling algorithm which gives better performance than some other traditional algorithms in terms of turnaround time and average waiting time is Optimal Resource Constraint (ORC) algorithm [4] allocates the jobs according to capability of processor. It applies best fit algorithm followed by Round Robin (RR) scheduling which distributes the jobs among the available processors. However it has communication overhead. Hierarchical Job Scheduling for Clusters of Workstations (HJS) [5] used hierarchical approach using two level scheduling consisting of global scheduling and local level. The global scheduler uses single or separate queue for different type of the jobs each queue exploits different scheduling policy (FCFS, SJF or First Fit). The local scheduler uses only one queue and one policy (FCFS, SJF or FF) for all types of jobs. The global scheduler has a many functions. One of these is suitable job-resource matching. Another is to obtain the best utilization of the available clusters. The use of SJF can result in extreme delays for long running jobs. As it is strongly biased against large number of jobs so there may be starvation problems, it is expensive to implement as job-resource matching is time consuming process.
PROPOSED ALGORITHMFlexPrio algorithm provide flexibility to priority of jobs in order to give chance to lower priority jobs in case when higher priority job couldn't be executed in left amount of resources. In addition to effective utilization of resources it also ensures that jobs must not be starved in any case.
Input job_MI for n jobs;
Sort jobs in order of their priority
Mini_job:= job with minimum computational requirement MI
Input R_MIPS for all resources;
//MI (Million Instructions) gives computational capability of the resource.
Declare available = R_MI;
Input U_bound;
For (int i: =1; i <= n; i++)
{If (available >= job_MI[i])
{Allocate resouce to job
Article name: Grid Computing Is The Advanced Computing Computer Science essay, research paper, dissertation