Design of prediction module for resource scheduling in grid environment - Maleeha Kiran (Kulliyyah of Engineering, International Islamic University Malaysia, 2009)
A grid computing environment allows sharing and aggregation of a wide variety of geographically distributed computational resources and present them as a single, unified resource for solving large-scale and data-intensive computing applications. The efficient functioning of such an environment requires a resource manager to monitor and identify the idling resources and to schedule users' submitted jobs (or programs) accordingly. A common problem arising in grid computing is to select the most efficient resource on which to run a particular program. Also users are required to reserve in advance the resources needed to run their program on the grid. Hence during job submission users are required to provide the specifications of requirements for the computational resources needed including the wall time (real running time) of their programs. Currently, the run time provided by the users is based on guesswork, in which a user estimates a rough run time based on their knowledge and personal experience. The inaccuracy of guesswork leads to inefficient resource usage, incurring extra operational costs such as idling queues or machines. Thus a prediction module is developed to aid the user. The module will function as a standalone unit where its services will be offered to users as part of a grid portal. The module estimates the execution time of a program by using aspects of static analysis, analytical benchmarking and compiler based approach. An incoming program is categorized accordingly, parsed and then broken down into smaller units known as tokens. The complexity and relationship amongst these tokens are then analyzed and finally the execution time is estimated for the entire program that was submitted. The prediction module is only able to predict execution time of R! scripts, which are computer programs written using the R! software. Finally the experimental results (from the sampled test cases) and the developed prototype show that the technique is successful in achieving a prediction accuracy of at least 80% which is comparable to similar prediction accuracy achieved by other techniques.