Abstract:
Grid computing is a form of distributed computing that allows sharing of resources from heterogeneous and distributed locations. Job scheduling is one of the main challenges which arise in the environment of grid computing. The main objective of scheduling is to reduce the completion time of an application by properly allocating the jobs to the processors. In this research, Earliest Deadline First With Shortest Remaining Time (EDSRTF) algorithm to solve the Job scheduling problem is presented. EDSRTF is a scheduling algorithm in which scheduling is done according to the deadline of jobs and its remaining time. To acquire high performance and efficient throughput in the real world, the number of jobs to be processed and the number of the resources, both should be dynamic (this will convert the EDSRTF algorithm to a dynamic algorithm), which mean that the user can be entered any number of jobs to be executed on any number processors. The dynamic EDSRTF is implemented using Java. In the implementation the number of the processors is assumed to be 10 and the number of the jobs can be entered by the user. The number of the nodes is considered to be 5 and each node consists of two processors, so the total number of processors will be 10. The comparison of the average waiting time, and the average turnout time is done when we consider that the user enters 14 jobs. The results show that the average waiting time, and the average turnout time of the dynamic algorithm is less than of the original EDSRTF. After the implementation, it is observed that the number of idle processors is six and there is no load balancing. To solve these two problems the number of jobs is increased to be double of the number of the resources. This increase has maximized the average waiting and turnout time of jobs, but there are no idle processors and the load is balanced because each processor has to execute two jobs at a time. If the number of jobs is increased to be three times the number of the resources then part of these jobs will be executed and the rest will not be executed, which mean the algorithm will work fine when the number of the jobs is less than the number of the resources and it will work better if the number of the jobs is double the number of the resources and it will have a problem if the number of the jobs is more than the double of the resources. In the implementation it is observed also that the increases in the number of the resources will result in a good throughput and high performance but at the cost of the security and resource scheduling. To solve the problem of the security and resource scheduling, we recommend to enhance this algorithm or designing new ones that consider these two issues.
Description:
A Dissertation
Submitted to the University of Gezira in Partial Fulfillment of the Requirements for the Award of the Degree of Master of Science
in Computer Science
Department of Computer Science
Faculty of Mathematical and Computer Sciences
May , 2015