Job scheduling algorithms are mainly classified into centralized, hierarchical and distributed algorithms (Hamscher et al., 2000). In a centralized scheduling approach, there will be a central coordinator that takes scheduling decision for each job in the grid. This is a simple strategy that suffers with single point failure and scalability.
In hierarchical scheduling (Yagoubi et al., 2007), the nodes are divided into regions/sites and there will a local scheduler for each site and a global scheduler for the entire grid. The advantage of this approach is different scheduling policies can be adapted by the local scheduler and the global scheduler.