A prediction module to optimize scheduling in a grid computing environment - Maleeha, Kiran; Hassan Abdalla Hashim, Aisha; Yap Yee, Jiun; Lim Mei, Kuan (IEEE, 2008)
Heterogeneous computing environment such as grid computing allows sharing and aggregation of a wide variety of geographically distributed computational resources (such as supercomputers, clusters, data sources, people and storage systems) and present them as a single, unified resource for solving large-scale and data-intensive computing applications. A common problem arising in grid computing is to select the most efficient resource to run a particular program. Also users are required to reserve in advance the resources needed to run their program on the grid. At present the execution time of any program submission depends on guesswork by the user. This leads to inefficient use of resources, incurring extra operation costs such as idling queues or machines. Thus a prediction module was designed and developed to aid the user. This module estimates the execution time of a program by using aspects of static analysis, analytical benchmarking and compiler based approach. It consists of 4 main stages; each with its own functionality. 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.