SlideShare a Scribd company logo
1 of 53
Improving the Functionality and Customization of 
Scheduling Services for Grid Computing
Submitted in partial fulfilment of the requirements for the Master degree
in Computer Science
by 
Jingjing Sun
Supervised by
Dr. Paul Coddington
Dr. Andrew Wendelborn
School of Computer Science
The University of Adelaide
June 2007
Table of Contents
• Abstract..................................................................................................................................................1
• 1 Introduction.........................................................................................................................................1
• 2 Background.........................................................................................................................................4
2.1 Grid Computing and Grid Service...................................................................................................4
2.2 Resource Sharing on the Grid..........................................................................................................5
2.2.1 Definition of Resource on the Grid...........................................................................................6
2.2.2 Virtual Organization on the Grid..............................................................................................6
2.3 Grid Information Services................................................................................................................6
2.3.1 Concept of Discovery and Monitoring......................................................................................7
2.3.2 MDS Information Services.......................................................................................................7
Overview................................................................................................................................7
Dynamic Resource Discovery................................................................................................8
GLUE Schema........................................................................................................................8
ANG­Extended GLUE Schema..............................................................................................9
2.4 Meta­scheduling on the Grid..........................................................................................................10
• 3 Motivations........................................................................................................................................12
• 4 A Survey of Current Meta­schedulers...............................................................................................15
4.1 Motivation......................................................................................................................................15
4.2 Current Condition of ANG............................................................................................................15
4.3 Survey of Current Open­source Mate­Schedulers.........................................................................15
4.3.1 Scheduling Functionality........................................................................................................16
4.3.2 Fault Detection and Recovery Capabilities.............................................................................18
4.3.3 User Interface Functionality....................................................................................................19
4.3.4 Application Support................................................................................................................19
4.3.5 Features and Limitations.........................................................................................................20
4.4 Conclusion.....................................................................................................................................21
• 5 Implementation..................................................................................................................................22
5.1 GridWay.........................................................................................................................................22
5.1.1 GridWay Modular Architecture..............................................................................................22
5.1.2 Working Mechanisms.............................................................................................................24
5.2 Resource Information Representation............................................................................................25
5.2.1 Problem Statement..................................................................................................................25
5.2.2 A Usage Example....................................................................................................................26
5.2.3 Solution: ANG Resource Information Model.........................................................................27
5.2.4 Identifying Heterogeneous Resources.....................................................................................29
5.3 Software Requirements..................................................................................................................30
5.3.1 New Variables Supporting Software Requirement.................................................................31
5.3.2 Matchmaking Algorithm: Problem and Solution....................................................................32
5.3.3 Customization for RSL Generation and Job Submission........................................................35
5.4 VOView Requirements..................................................................................................................37
5.5 Software Preference on the Queue.................................................................................................40
5.5.1 Problem Statement..................................................................................................................40
5.5.2 Solution...................................................................................................................................41
5.6 Queue Failure Handling Enhancement..........................................................................................43
5.6.1 The Default Job Failure Handling Policies.............................................................................43
5.6.2 Resource Failure Analysis......................................................................................................43
5.6.3 Solution...................................................................................................................................45
• 6 Conclusion and Future Work............................................................................................................46
• 7 Acknowledgement  ...........................................................................................................................47
• References............................................................................................................................................48
Abstract
    Over the last few years, the Grid Computing technologies has rapidly evolved towards 
a service­oriented architecture based on standards developed within the Web Services 
and open Grid computing communities, however, few of the current large scale and 
national grid projects have utilized the latest WS­based grid middlewares and standards 
for constructing a service­oriented grid, consequently, most of the current grid job 
scheduling systems just provide support for the old grid middlewares and standards, 
rather than the latest WS­based grid technologies. Furthermore, no matter what 
standards or middlewares these meta­schedulers support, none of them offer the 
capabilities for advanced scheduling which are very important to build a completely 
virtualized working environment for domain experts, thus enabling them fully focus 
problem solving rather than any specific technical details. All of these problems have 
become serious obstacles to fully deliver the potential of a WS­based grid system.
    This project aims to make up the gap between the latest WS­based grid middlewares 
and information standards and the functionalities provided by current grid job 
scheduling systems. Our major work is to customize and deploy a powerful scheduling 
system which fully supports forefront service­oriented grid middlewares and standards, 
thus enabling it to fully virtualize the high performance computing resources across a 
service­oriented Grid, and provide the grid users with an easy­to­use, intelligent job 
submission and execution environment. Our implementation initially focuses on the 
Australian Nation Grid, a large scale and national grid which is using the latest web­
based grid middlewares and standards. Our major contribution will be providing 
important information and related experience for virtualizing computing resources across 
and deploying a meta­scheduling system on a service­oriented Grid, based on the latest 
WS­based grid technologies.
1 Introduction
    By aggregating computing power, software tools, data storage systems and scientific 
instruments that are distributed in heterogeneous systems across multiple locations, 
1
Grid Computing promises a global virtual supercomputer where users at different 
physical locations can cooperate for a specific problem in a high performance, secure, 
reliable and cost­effective way. As a promising distributed and high performance 
computing area, grid computing is receiving more and more attention from academic 
researchers and IT industry and has been considered as a key technology of the next­
generation internet infrastructure.
    Grid computing promises the end­users a single virtual supercomputer. Via resource 
virtualization, Grid hides all the details about the underlying computing resources such 
as the complexity of how these resources are organized and how computation jobs are 
scheduled, thus providing the end­users with a single and unified system perspective, i.e., 
a single yet powerful virtual computer. The ideal usage scenario is that a user just needs 
to “tell” the grid what he or she wants to do and what kind of resources (software tools, 
data storage, instruments, etc.) are required, the Grid takes care of everything such as 
user identity authentication, requirements matchmaking, job submission, scheduling and 
execution, failure handling and usage policy control, etc. The implementation of the grid 
resource virtualization needs a wide range of distributed computing middlewares, such as 
Grid File Transfer (GridFTP) [1], Grid Information Service (GIS) [2], Grid Security 
Infrastructure (GSI) [3], etc., among which Grid Information Service plays a key role in 
virtualizing the resources on the Grid. Grid Information Services provide a set of 
mechanisms for describing, discovering and monitoring resources and services on the 
Grid, thus providing the higher level grid middlewares and applications with an 
information source of the whole Grid and enabling Grid users to access the Grid in a 
seamless and transparent manner. 
    As we all know, using standards is extremely important for building large­scale, stable 
and scalable grid infrastructure which in turn can provide collaborative context for 
partners to work together, and only in this way can we fully deliver the potential of the 
Grid. From version 1.0 in 1998 to now the latest version 4.0 based on Web Service 
Resource Framework (WSRF) [4], Globus Toolkit (GT) [5] has rapidly evolved to the de 
facto standard for Grid computing.  The relevant standards such as Globus API, 
Monitoring and Discovery Service (MDS), Grid Laboratory Uniform Environment Schema 
(GLUE Schema, a de facto standard used for grid resource information modelling) [7] 
have also stepped to a new development phase, which will undoubtedly accelerate the 
process of national and global computing resource virtualization.
    Although the latest version of grid middlewares and standards (i.e., GT4, MDS4, 
GLUE1.2) have already been released as the guidelines of building a WS (Web Service)­
based Grid, which in turn can  share the same benefits with the service­oriented 
architecture(SOA), most of the current national Grids and the major grid applications 
still have not utilized these forefront grid technologies for constructing a service­oriented 
grid, instead, they are still using non­WS­based grid middlewares (e.g., GT2,  gLite[24]) 
and old information standards such as MDS2 and BDII [26] based on LDAP, 
consequently, most of the current grid job scheduling middlewares lack the support for 
2
the latest grid middlewares and information standards, which becomes an obstacle to 
fully deliver the potential of the WS­base grid systems.
    As a promising and continually increasing national grid program, the Australian 
National Grid (ANG) [8] Program is building a national grid infrastructure using the 
latest version of grid middlewares and information standards (i.e., GT4, MDS4, 
GLUE1.2, etc.). To the best of our knowledge, the ANG grid is first large scale national 
grid using the latest WS­based grid middlewares, which makes it a good testbed for grid 
applications like job scheduling that can exploit the new features provided by all these 
new standards and middlewares.
    In order to more accurately describe the resources on the grid, such as providing extra 
information entity to describe the available softwares, and the relationship between the 
cluster and the queues it manages, which is not supported by current GLUE Schema 
(1.2), the ANG Grid is using an extended version of GLUE Schema [7] to describe the 
heterogeneous computing resources across the ANG Grid. However, although a number of 
meta­schedulers (such as Condor/G[9], Nimrod/G[10], GridBus Broker[11] and 
GridWay[12], etc) have been developed over the last few years to achieve the goal of 
resource virtualization across the grid and provide the end­users with a single entry point 
to the grid, none of them support the latest version of GLUE (1.2) (see section 4. Survey 
on Current Meta­schedulers for details), which is suitable for modelling heterogeneous 
resources with various domain policies (such as access control, usage quota and resource 
usage priority allocation for a specific user group) on the grid. Furthermore, based on 
such heterogeneous resource information model, a fully virtualized Grid needs more 
advanced scheduling functionalities such as automatic software requirement 
matchmaking, VOView requirement matchmaking, resource allocation policy 
enforcement, etc., thus creating a completely virtualized computing environment across 
the grid, and enabling the end­users (i.e., domain experts) to fully focus on problem 
solving rather than any underlying technical details.
    Our project is aimed at customizing and deploying a meta­scheduling system on a 
computational Grid which uses the latest Grid middlewares and standards, our 
scheduling system will be customized to completely virtualize the computing resources 
across the Grid, thus providing domain experts an easy­to­use, automatic and intelligent 
job execution environment. Our major contribution is to provide important and valuable 
information and related experience about utilizing the latest grid middlewares (GT4) and 
information standard (GLUE1.2), and virtualizing the computing resources across a 
service­oriented Grid which is using these forefront WS­based grid technologies. Our 
decision of choosing GridWay as the basic platform of our scheduling system is based on 
the survey conducted in Section 4. Based on GridWay's basic scheduling framework, we 
added very important features (i.e., supports for GLUE1.2 resource information model, 
software requirement, VOView requirement, software priority and advanced failure 
handling) to achieve the real virtualization of the grid resources (see Section 4 
Implementation for details). By using the GridWay modified and customized for the 
3
Australian National Grid (i.e., ANG­GridWay), the end user just needs to specify the 
input data (what I have), the required resources (What I need) and optionally the user's 
VO group (i.e., Virtual Organization) identity (Who I am), the scheduler then 
appropriately schedules the tasks through ANG grid and hides all the technical details 
such as requirements matchmaking, VOView checking, and failure handling. Our 
scheduling policies also offer the ability to enable the grid administrator to enforce 
advanced Virtual Organization policies which does not exist in current latest GLUE 
specification, such as allowing the scheduler to choose a “preferred” queue for specific 
software.
    The rest of the thesis is organized as follows. Section 2 briefly introduces the 
background information about the Grid Computing technologies, mainly focusing on the 
grid information service and meta­scheduling on the grid. Based on the problems of 
current grid middlewares and information standards, Section 3 describes the motivation 
of our project. In Section 4, according to the criteria needed by a fully virtualized Grid, we 
present a general survey on current major open­source metaschedulers, which helps us 
make a decision on choosing an appropriate scheduler as the basic framework of our 
customized scheduling system, which is described in Section 5. Section 6 concludes the 
thesis.
2 Background
2.1 Grid Computing and Grid Service
    Grid computing was proposed ten years ago as a new approach of distributed 
computing which enables large­scale scientific and engineering applications to access 
supercomputing power, data storage, software tools and scientific instruments that are 
distributed in heterogeneous systems across multiple locations.
    A common description of Grid Computing compares it with an electric power grid, 
through which we consume the electrical power on demand, without knowing where and 
how the energy is generated. Similarly, Grid Computing technologies hide the details of 
the underlying computing resources and the complexity of how these resources are 
organized and how computation jobs are scheduled, thus creating a single and unified 
system image, as a result, end­users are able to perform resource­intensive or compute­
intensive tasks on the Grid as if they were using a single yet powerful virtual computer.
    According to W3C (World Wide Wed Consortium) [27] and OASIS (Organization for the 
Advancement of Structured Information Standards) [13], Web Service (WS) is a software 
system which lets applications share data and interact irrespective of how those 
applications were implemented, what operating system or platform they run on, and 
what devices are used to access them. Web service achieved this by using a set of 
platform­independent protocols and standards based on XML (Extensible Markup 
4
Language), a universal structure language used by different web service applications to 
exchange information. The core specifications of Web Service mainly include Simple 
Object Access Protocol (SOAP), Web Services Description Language (WSDL) [28] and 
Universal Description, Discovery and Integration (UDDI) [16]. As Web Services 
Architecture is common, standard, and open, such a standardized approach enables us to 
efficiently develop a distributed service system with lots of desirable advantages such as 
interoperability, increased capacity and flexibility. It is naturally considered as the best 
choice for grid­based applications. To adapt grid computing technology to a service­
oriented architecture, OASIS [13] published the specification of WSRF (Web Service 
Resource Framework) [14], a generic and open framework for modeling and accessing 
stateful resources using Web services. WSRF defines standard means by which web 
services can be associated with one or more stateful resources. A grid­enabled web service 
is so­called grid service. By encapsulating stateful resources, grid services enable service 
requestors to indirectly access state in a standard, consistent and interoperable manner.
    By constructing using a variety of technologies and open standards such as Open Grid 
Service Architecture (OGSA) [15], grid­enabled network provides highly scalable, secure, 
and high­performance mechanisms for discovering, and negotiating access to remote 
computing resources in a seamless manner. This makes it possible for scientific 
organizations to share computing resources on an unprecedented scale, and for 
distributed groups to collaborate in ways that were previously impossible. 
    The fourth edition of Globus Toolkit (GT4) [5], is the major implementation of WSRF. 
Globus Toolkit is the de facto standard for open grid computing, it is a component­based 
system including software for security, information infrastructure, resource management, 
data management, communication and fault detection, etc. These components can be 
used either independently or together to construct grid­based system. Today, especially 
with the release of GT4, which fully supports the key Web Service standards and WSRF 
specification, Globus Toolkit has rapidly become the most popular middleware for grid 
system development.
    It's noteworthy to mention here that although most of the latest grid middlewares and 
standards (i.e., GT4, MDS4, GLUE1.2, etc.) and related grid applications are moving 
towards the service­oriented architecture (SOA), most of the current national grids still 
have not utilized these front­end grid technologies, instead, most of them are still using 
old version of grid middlewares and standards such as GT2, MDS2, BDII [26] and gLite 
[24]. To the best of our knowledge, the Australian National Grid (ANG) is the first large 
scale national grid using the latest and WS­based grid middlewares and standards, thus 
providing us with a good testbed for these forefront grid technologies.
2.2 Resource Sharing on the Grid
    Resource sharing is one of the most important topics of Grid computing. To some 
extent, the process of solving a computational problem on the Grid is the process of 
negotiating access and using various resources distributed across the Grid, under the 
5
restrictions of usage polices enforced by the global and local system administrators. In 
this sub­section, we give a brief description of the resources on the Grid, and an 
important concept that is used to describe a group of individuals and organizations that 
share the same interests and have the common goals that need to share resources on the 
Grid, i.e., Virtual Organization.
2.2.1 Definition of Resource on the Grid
    Generally speaking, anything on the Grid that can be shared and used by users across 
geographically dispersed locations and/or different administrative domains can be 
considered as a resource, therefore, computing power, software programs, bandwidth 
connection, data storage systems, scientific instruments and even human beings can fall 
into the category of “Grid resource”. Although these resources vary on different 
characteristics and may be used in various purposes, they all have the commonplace that 
they can be shared across the Grid network under certain Grid protocols. and therefore in 
order to interoperatively discover, monitor and use these resources, a set of standards 
must be agreed across multiple Grid sites. Currently the de facto standards for describing 
and publishing resources on the Grid are GLUE Schema and MDS, respectively, which 
will be discussed in the subsequent sections.
2.2.2 Virtual Organization on the Grid
    Virtual Organisation (VO) is formed by a group of geographically dispersed individuals, 
institutions and organisations that have the common interests and objectives which need 
to share various resources across the Grid under the restriction of a set of administrative 
policies. Usually members of a VO have shared responsibilities, shared control, shared 
access to computing resources and services. 
    In GLUE Schema Specification1.2, the information of VO is contained in the VOView 
entity, which describes the status of resources specific to a particular VO. Therefore by 
making use of the VOView information, more advanced meta­scheduling can be achieved, 
such as access control, resource usage quota control and lots of potential customizable 
resource allocation policies, like the software priority discussed in Section 5.5.
2.3 Grid Information Services
    Grid Information Services (GIS) are a vital part of any Grid software infrastructure 
because they provide fundamental mechanisms for discovering and monitoring, and thus 
planning and adapting application behaviour [25], such as appropriately scheduling a 
computational job according to the resource information provided by the GIS services. 
This section gives us a high­level overview of the GIS working mechanisms and related 
concepts, mainly focusing on Globus's latest implementation (i.e. MDS4 [2]).
6
2.3.1 Concept of Discovery and Monitoring
• Discovery: In the context of Grid computing, discovery is the process for 
discovering available resources on which a task can be performed. For example, 
a meta­scheduler (i.e., a global scheduler which dispatches computational tasks 
to the local schedulers like PBS [19], SGE [44], etc.) might use the discovery 
service to locate all the available hosts on the Grid for future job submission 
and execution.
• Monitoring: The grid resource monitoring service provides the functionality 
that monitors the status of the resources on the Grid. For example, after 
obtaining a list of available hosts on the Grid, the meta­scheduler might use the 
monitoring service to locate a subset of the discovered hosts which satisfies 
certain criteria specified by the grid end­user as a part of user requirement and 
a set of scheduling policies specified by the grid administrator.
2.3.2 MDS Information Services
    This sub­section gives us an overview of the Monitoring and Discovery Service (MDS), 
which is Globus project's implementation of GIS. We will mainly discuss the latest 
version of MDS, i.e., MDS4, which is WS­based and used buy current ANG, but it is 
noteworthy that the old version of MDS (i.e., MDS2) and Berkeley Database Information 
Index (BDII) [26], which are based on LDAP rather than Web Services, are still the most 
commonly used implementations of GIS.
Overview
    As a key component of GT4, Monitoring and Discovery System (MDS4) [2] provides a 
set of web services which streamlines the tasks of discovering, publishing, aggregating 
and monitoring the configuration and status information of resources and services 
distributed across multiple locations. MDS plays a key role in meta­scheduling because 
the meta­scheduler (which uses MDS as the source of the resource information) heavily 
depends on the resource information provided by the MDS service to make appropriate 
scheduling decisions. Generally, MDS service consists of the following two sub­services:
• Index Service
The index service is a WSRF­based service provided by MDS4 to collect grid 
resource information from registered information sources, publish the 
information as WSRF resource properties and provide query/subscription 
interface to the resource information. In the context of grid, an information 
source can be any kind of entity (e.g. a file, a program, a web service, or another 
network­enabled service), from which the index service can obtain resource 
information. The index service is similar to UDDI [16] service but with more 
flexibilities. Index service is self­cleaning, which means each registered index 
entry has specified lifetime and will be removed if it is not refreshed before it 
7
expires. Moreover, index services can be registered with each other in a 
hierarchical fashion with the upper lever index services being from the lower 
level index services.
• Trigger Service
Trigger service is another MDS service which is designed to collect resource 
information and take action according to the available data.
The index service and trigger service are built on the MDS Aggregator Framework 
[17], which is a software framework designed for constructing higher­level services 
collecting, aggregating resource information and providing notification 
mechanisms based on the change of the status of the resources. Because the index 
service and trigger service are built on the aggregation framework, they are also 
known as aggregator services.
Dynamic Resource Discovery
The following is a brief description of how MDS4 service is used to perform dynamic 
resource discovery.
• Step 1 Registration: Each information source is registered with an aggregator 
service so that it can collect the information of the local resources. One aggregator 
service can be registered to another higher­level aggregator services, in a 
hierarchical fashion. 
• Step 2 Collection: Each aggregator service collects the status information of its 
underlying resources, such as available job slots, memory, disk space, software 
tools, etc.
• Step 3 Publish: Each aggregator service publishes the resource information 
• Step 4 Aggregation: The aggregation program collects the up­to­date information 
from the information sources and consolidates the information from the MDS 
hierarchy to a central location, making it available via aggregator­specific Web 
interfaces, thus providing the outside entities (e.g. the end­user, a meta­scheduler 
or any other entity that needs to discover and access the resource information of 
the Grid) with a complete description of the Grid resources.
    Note that Step 2, 3 and 4 are periodically performed so that the resource information 
published to outside entity can be kept up­to­date; besides, each registered services has a 
lifetime and will automatically disappear if it is not renewed periodically within the 
lifetime.
GLUE Schema
    As we can see in the previous section, the Globus MDS services provide a standardized 
approach for grid resource discovery and monitoring, thus playing a key role in 
computing resource virtualization. In more detail, Grid Laboratory Uniform Environment 
8
(GLUE) Schema [6][7], the de facto standard for abstracting the real world computing 
resources into constructs which can be represented in computer systems. MDS services 
use GLUE Schema to describe the grid resources in a precise and systematic manner, 
thus enabling them to be discovered for subsequent management or use such as MDS 
aggregation services and meta­scheduling. The key GLUE (1.2) elements for meta­
scheduling are listed as follows:
• Site: An administrative concept used to aggregate a set of services and 
resources that are managed by the same organization
• Cluster: A set of physical resources managed by a local management system 
(e.g, PBS, Condor, LSF, SGE, etc). The resources managed by a cluster can be 
heterogeneous or homogeneous.
• SubCluster: Provides information about a homogeneous set of hosts. A Cluster 
can be considered as a set of SubClusers.
• ComputingElement: The common Grid abstraction for a queue of a system 
managing computing resources.
• VOView: Provides a mechanism to describe different viewpoints related to 
local policies on the same resources assigned to a queue.
• SoftwarePackage(Added by ANG) [18]: An entity that describes the 
characteristics of an installed software, such as software name, version and 
module name.
• StorageElement: The core concept of the model for abstracting storage 
resources
ANG­Extended GLUE Schema
    Although GLUE 1.2 is the latest grid information standard, it provides little support in 
terms of advanced meta­scheduling (i.e., global scheduling, see Section 2.4 for details), 
which plays a very important role in fully virtualizing computing resources on the Grid. 
For example, current GLUE schema does not provide description of software tools, it also 
does not describe the relationship between a particular computing resource (i.e. a queue 
or a ComputingElement in the GLUE1.2 Schema) and the environment (i.e., the 
SubCluster element in the GLUE1.2 Schema) to which it belongs. Consequently, in order 
to correctly submit and execute a job, the user has to priorly know the location of the 
desired resource and what software tools it is providing. To some extent, this is not real 
Grid resource virtualization, although we are using the resources provided by the Grid. 
Further more, as the underlying grid infrastructure is becoming more and more complex 
and dynamic, it is becoming irrealistic to expect that our user has sufficient knowledge 
about the required resources. Therefore, current GLUE schema still cannot satisfy the 
needs for the meta­scheduling system to fully virtualized the resources across the Grid.
    To make up the gap between the latest information standard and the needs for 
complete resource virtualization on the Grid, ANG has extended GLUE 1.2 to provide 
extra information entities describing software tools, mapping between queues and 
9
SubClusters and VO resource usage control policies, etc [18], which makes it capable of 
modelling the complete information of a Grid, including computing power, storage 
systems, software tools, the relationship between these resources, and VO policies (usage 
quota control) enforced on them. Therefore, based on the extended GLUE Schema, it is 
possible for us to build a meta­scheduling system which fully supports user requirements. 
That means end­uses do not need to have any prior knowledge about where the required 
resources are located, instead, they just need to “tell” the scheduler what they need at an 
abstract level, such as the name and version of the desired software or softwares, then 
the meta­scheduler automatically locates the resources according to user requirements. 
The GLUE extension made by ANG has been proposed to OGF [29] as a part of the future 
release of GLUE standard.
2.4 Meta­scheduling on the Grid
    One important goal of grid computing is resource utilization and virtualization, while 
grid meta­scheduler plays the key role in achieving this goal.
    From the viewpoint of resources, a grid is composed of a set of resources and resource 
managers. Each of the resource managers such as PBS[19], Condor[9], SGE[20] and 
LSF[21], coordinates and controls its local resources, the basic function of such local 
resource managers is load balancing, i.e., allocating a specific job to a suitable local 
resource.
    Currently many users directly submit jobs to the local scheduler or indirectly do the 
same thing via Globus grid interfaces (e.g., Globus command lines or Globus APIs). Users 
have to make decisions on their own about what kind of resource is suitable for their jobs, 
the responsibility of monitoring the job execution also falls onto the shoulders of end­
users. If a job fails, they have to manually resubmit it. Also, the end­ user has to log into 
different environments with different accounts if they want to use multiple resource 
managers.
    Obviously, in a large­scale, dynamic and heterogeneous grid environment where 
various types of resource managers exist for managing their local computing resources, 
this is not an efficient way to manage job execution.  Obviously a global resource 
manager/scheduler is needed to manage these local schedulers and appropriately 
negotiate access to different resource managed by different local schedulers, thus 
releasing the burden of job execution management from the end­users. This is the goal of 
the grid meta­scheduler.
    In the grid environment, a meta­scheduler is also known as a global scheduler, which 
is aimed at achieving the goal of grid resource utilization and virtualization. The meta­
scheduler provides the end­user with a single entry point to the grid computing 
environment. It coordinates communications between multiple heterogeneous local 
schedulers that operate at the local or cluster level. To schedule an individual job, the 
meta­scheduler typically queries information about available compute resources and 
their status from Grid Information Services (e.g. Globus MDS), after determining which 
10
resource is suitable for the job, the meta­scheduler dispatches the job to the desired 
resource or resources, where the job will be rescheduled by the local scheduler to a 
specific compute node within that resource.   
    By utilizing the Grid Information Services, which abstract the information of all the 
available resources on the grid into a single resource perspective, the grid meta­scheduler 
presents the end user a single virtual resource pool, which hides all the details of 
scheduling and monitoring jobs on the dynamic and heterogeneous grid. 
    An ideal grid meta­scheduler should have the following capabilities:
• Virtualizing the resources on the grid to the most extent, which means:
 Hiding all the details about job and resource management
 Enabling the end user to submit jobs without any grid­specific knowledge
• Utilizing the resource on the grid, which means:
 Using any possible/available resource to the most extent
• Appropriately executing the job on a suitable resource according  to the user's 
requirements and domain policies
    With regard to the easy of use, a good meta­scheduler which is capable of fully 
virtualizing all the resources across the grid and concealing the heterogeneous and 
dynamic nature of the grid should only ask the end­users three questions, under the 
assumption that the end­users have no any grid­specific knowledge:
• What do you need? (Requirements) This usually involves requirement 
matchmaking between known resources on the grid and the resources required by 
the end user, such as a particular operating system, a specified queue, free job 
slots, desired disk space, a particular software with a specified version, and the 
forth.
• What do you have? (Input) This usually needs the end user to specify the input 
of the job, such as input files on the local or remote machine, or the arguments of 
the executable, or both.
• Who are you? (VO Identity) A grid user's VO identity is used for authentication 
or authorization in terms of job submission, data access, accounting, etc. In the 
context of meta­scheduling, the user's VO identity is used to retrieve user­specific 
resource information like the accessible free CUPs, disk space and software tools. 
In GLUE Schema Specification (1.2), the grid user's VO information is contained in 
the VOView entity, thus by making use of the VOView information, it is possible 
for the meta­scheduler to provide the end­user with a “personalized” resource 
perspective of the Grid.
    The three questions mentioned above indicate the basic requirements for complete 
resource virtualization from the viewpoint of end­user. An ideal meta­scheduler is 
supposed to enable the end user to just answer the three questions in an efficient way in 
order to automatically submit, schedule, execute and manage a computational job.
11
3 Motivations
    As mentioned in previous sections, most of the current national grids and the major 
grid applications still have not utilized the forefront WS­based grid technologies for 
constructing a service­oriented grid, instead, they are still using old and non­WS­based 
grid middlewares (e.g., GT2,  gLite [24]) and old information standards such as MDS2 
and BDII [26] which are based on LDAP, consequently, most of the current grid job 
scheduling middlewares lack the support for the latest grid middlewares and information 
standards. Furthermore, no matter what standards or middlewares these meta­
schedulers support, according to our survey (see Section 4), none of them offer the 
capabilities for advanced scheduling such as automatic software matchmaking according 
to user requirements and VO­based resource usage policy enforcement, which are very 
important to build a completely virtualized working environment for domain experts, and 
enable them fully focus problem solving rather than any specific technical details. All of 
these problems have become serious obstacles to fully deliver the potential of a WS­based 
grid system.
    On the other side, to the best of our knowledge, the Australian National Grid (ANG) is 
the first large scale national grid which is using the latest WS­based grid middlewares 
and standards (i.e., GT4, MDS4, GLUE1.2) to build a grid infrastructure to support e­
Research in Australia, this makes it a good testbed for resource virtualization via the 
12
meta­scheduling system which is based on all these forefront grid technologies.
    Therefore, the motivations behind this project can be mainly summarized to the task of 
virtualizing the high performance computing resources across a service­oriented Grid, 
thus creating a unified system image and providing the grid users with a single entry 
point to the service­oriented grid computing environment and an easy­to­use, intelligent 
job submission and execution environment. Such a scheduling system should also offer 
the functionality that allows the grid administrator to appropriately enforce various local 
domain policies. Our main contribution will be providing important information and 
related experience for virtualizing computing resources across and deploying a full­
featured meta­scheduling system on a service­oriented Grid, based on the latest WS­
based grid middlewares and standards.
• Job Scheduling Automation
For a large scale and continuously increasing computational grid like ANG, it is no 
longer suitable and efficient for its end­users to manually submit and monitor jobs 
in a dynamic grid environment. It is cumbersome and inconvenient for the user to 
select a suitable resource and manually submit the job to the target resource, and 
repeat the process if the job fails. Therefore, an automatic and intelligent job 
scheduling system is highly desirable for the Grid to enable its end­users (i.e., 
domain experts) to fully focus on problem solving rather than any underlying grid­
specific technical details.
• Supporting the Latest Information Standard
As mentioned in Section 2.3.2, GLUE Schema [6] is the de facto standard for 
modelling the status and characteristics of various heterogeneous resources on the 
Grid. Especially with the release of GLUE 1.2 [7], the latest GLUE schema 
specification, the improvements and newly added information entities provided by 
GLUE 1.2 enable it to describe the information of the resources, the relationship 
between the resources and various VO usage policies enforced on them in a more 
precise way, which brings a lots of potential usages for advanced job scheduling. 
However, according to our survey (see Section 4), none of the current major meta­
schedulers have utilized the latest information standard, therefore adapting the 
our meta­scheduling system to smoothly cooperate with the latest grid information 
standard, i.e., GLUE1.2, will be one of our main tasks.
• Fully Supporting User Requirements
As mentioned in Section 2.3.2, by using ANG­extended GLUE resource information 
model, which provides the information of softwares running on remote resources, it 
becomes possible for the meta­scheduling system to fully support user 
requirements, including normal requirements, software requirements and VO­
based requirements, which are not supported by any of current meta­schedulers. 
Our meta­scheduling system will be the first scheduling system which utilises the 
latest grid standards and fully supports user requirements, and our work will 
provide valuable information about using these standards and related 
13
virtualization technologies.
• VO Resource Usage Policy Control
As we know, the VOView entity in GLUE (1.2) schema describes the resource's 
status information from a specific VO group's viewpoint. Such a new and special 
resource information entity makes it possible for the meta­scheduler to perform 
more fine­grained job scheduling according to the information subtracted from the 
VOView elements on each resource, such as access control and available quota for 
the given user group. By making full use of the VOView information, it is also 
possible for the meta­scheduler to present the end­user a “personalized” resource 
image of the grid. That means users from different VO will have different view on 
the same resources of the Grid, which will undoubtedly be a very attractive 
capability of the meta­scheduler in terms of deeper resource virtualization. 
Therefore, the anticipated scheduling system is supposed to provide basic 
functionality that is helpful to make appropriate scheduling decisions which 
involves VO usage control policies.
14
4 A Survey of Current Meta­schedulers
4.1 Motivation
    During the last decade a lots of meta­schedulers such as Condor/G[9], Community 
Scheduler Framework (CSF) [22], GridBus Broker [11], GridWay [12] and Nimrod/G [10], 
etc., have been developed to provide the grid users with a transparent job submission and 
execution environment. Although they differ from each other by different focuses, all of 
them provide the basic job submission and execution functionalities, therefore there is no 
need for us to develop a completely new meta­scheduler for ANG, instead, we conducted a 
general survey on current major open­source meta­schedulers to help us choose an 
appropriate meta­scheduler as the basic framework of our customized meta­scheduling 
system.
4.2 Current Condition of ANG
• ANG is using the latest WS­based grid middlewares (GT4) as its core grid 
middleware, and the latest version of information standard (GLUE 1.2) to describe 
the status and characteristics of resources.
• ANG extended GLUE (1.2) in order to more completely and precisely describe the 
resources, the relationship between these resources and the various VO policies 
enforced on them [18].
• As a Grid using the latest WS­based grid middlewares and information standards, 
ANG needs a meta­scheduling system which fully supports these forefront grid 
technologies; meanwhile such system needs to be customized to satisfy the 
extended information model, thus making it possible for building a fully virtualized 
job submission and execution environment for end­users
• We do not need to start from scratch since there are already several open­source 
meta­schedulers available for basic job scheduling on the grid
4.3 Survey of Current Open­source Mate­Schedulers
    This section presents our survey on current major open­source grid meta­schedulers, 
based on the aim of fully virtualizing computing resources on a service­oriented Grid 
which is using the latest WS­based grid middlewares and information standards, and the 
needs of cooperating with ANG's GLUE extension [18]. We considered five criteria when 
conducting the survey: Scheduling Functionality, Fault Detection and Recovery 
Capabilities, User Interfaces Functionality, Application Support, Features and 
Limitations. Details of these survey criteria and the corresponding survey content are 
15
given in each sub­section.
4.3.1 Scheduling Functionality
• Dynamic Resource Discovery
Undoubtedly the scheduler is supposed to offer the ability of dynamically discovering 
resources across the Grid in order for the scheduler to make right decisions based on 
the latest status of the resources on the Grid.
• MDS4 and GLUE1.2 Support
The scheduler heavily depends on the grid resource information service to make 
appropriate scheduling decision, therefore supporting the latest grid resource 
information service standards (i.e., MDS4 and GLUE Schema 1.2) will be a highly 
desirable feature.
• Basic Job Requirement Support
The scheduler should provide the basic  mechanism to support ordinary job 
requirement such as a specific host name, queue name, available memory, free job 
slots, etc. 
As for job description, the scheduler should accept job described using Resource 
Specification Language (RSL) [30], which is used by current Globus middleware to 
describe the requirements of computational jobs for submission to the Grid. 
A more attractive feature of the expected meta­scheduler is the support for Job 
Submission Description Language (JSDL) [31], which is a new OGF [29] standard 
used for describing the requirements of computational jobs. JSDL will be supported 
in the next release of Globus Toolkit.
• Support for Auto­Software Searching and Matchmaking According to 
User Requirements
A highly desirable feature is enabling the end­user to specify what kind of software 
tools they need to use without the need to know where the software or softwares are 
located on the Grid. Although all of the schedulers allow the user to specify the 
executable they need to run, all of them assume that either the executable needs to 
be copied to the target resource or the executable already exists on the target 
resource. Therefore providing automatic software searching and matchmaking 
functionality will undoubtedly be a considerable progress towards the compute 
resource virtualization of the Grid base on the latest grid technologies.
• Scheduling Policy Support
Another very desirable feature of the expected scheduler is enforcing scheduling 
policies based on users' VO information, which can be extracted from the VOView 
element of GLUE 1.2. Such functionality enables the scheduler to perform advanced 
scheduling based on user­specific information rather than the general resource 
information. Therefore, we expect that the desired scheduler should have basic 
scheduling policy enforcement functionality that is easy to be integrated with the 
latest resource information standard (i.e., GLUE1.2).
16
    The following table (Table 4.1) lists the comparisons between current major open­
source meta­schedulers, in terms of their scheduling functionalities, note that static 
resource discovery is supported by all the schedulers listed in the table below.
  Dynamic Discovery  MDS4 and 
GLUE 1.2 
Support
Normal Resource 
Requirement 
Support
Support for 
Auto­Software 
searching and 
matchmaking
Scheduling Policies
MDS4 GLUE1.
2
Condor­
G(v6.8)
No direct support
• Resources can be 
added into the local 
Condor pool via 
Condor Glidein, 
which provides a 
mechanism to add a 
Globus resource to a 
local Condor resource 
pool. 
• A custom system is 
needed to achieve 
dynamic discovery
Yes No direct 
support
Expressed by 
ClassAd Boolean 
expressions (a list of 
key­value pairs that 
describe a job, a 
machine or a grid 
site [32])
• Supports RSL*
• No JSDL* 
support
No support No direct support for customizing 
scheduling algorithms, but can 
possibly be achieved by complex 
ClassAd expressions
CSF(v4.0.3) No support, resources 
need to be pre­
configured
Yes No direct 
support
• Supports RSL
• No JSDL support
No support Two built­in schedulers:
• simple round­robin scheduler
• Job throttle, which makes sure 
that each resource manager is 
not overloaded
Other schedulers can be developed 
via CSF java API
GridBus 
Broker(v3.0
)
No direct support.
Computing resources 
and data storages must 
be specified in a service 
description (xml) file.
Yes No direct 
support
Currently the job­
requirements feature 
works with only 
Globus. The 
supported 
parameters are the 
same as the ones 
supported in Globus 
RSL.
Supports GGF ­ 
JSDL (for non­
parametric jobs)
No support Five built­in schedulers are 
available: 
• DBDataScheduler: takes into 
account both data and network 
costs
• DBScheduler: a simple economy 
based scheduler for the broker, 
which does not take into account 
remote data files.
• GroupingParameterSweepSched
uler: a basic scheduler for the 
broker which implements a 
simple round­robin scheduling 
algorithm
• ParameterSweepScheduler
• simple round­robin scheduler
Other schedulers can be developed 
via Gridbus broker API
GridWay 
(v5.2)
• Needs to specify  the 
MDS server
• All the hosts and 
queues can be 
dynamically 
discovered
Yes No direct 
support
Expressed by a set of 
pre­defined variables
 Supports RSL
 Supports JSDL
No support Two built­in scheduling algorithms 
available:
• A default built­in scheduling 
algorithm using a weighted sum 
approach to select the candidate 
resource
• A Round­Robin scheduler is 
given as an example schedule
User priority and resource priority 
are supported. Other scheduling 
algorithm should be customized.
17
Nimrod­G 
(v3.x)
No support for dynamic 
resource discovery, the 
resources must be 
statically specified in 
Nimrod database
Yes No direct 
support
No direct support, 
user has to specify 
the resource for the 
given job through 
command line
No support • Resource needs to be allocated to 
the given job
• Two computational economy 
scheduling algorithms
• Deadline Scheduling
• Cost Minimization
* Resource Specification Language (RSL): The de facto standard used to describe the requirements of a computational job for 
submission to Globus execution system.
* Job Submission Description Language (JSDL): An OGF [29] recommended standard for computational job description and 
submission to resources, particularly Grid environments but not restricted to the latter [31]. 
Table 4.1 Scheduling Functionality
4.3.2 Fault Detection and Recovery Capabilities
• Job Cancellation
A good meta­scheduler should make the submitted jobs under control, the bottom 
line is allowing end­users to cancel the jobs they submitted through the scheduler.
• Fault Tolerance
Because of the dynamics of the grid environment and the network itself, the job 
can not be absolutely guaranteed to be finished successfully according to user 
requirements for some unpredictable reasons like local or remote system crash or 
network disconnection, therefore the meta­scheduler is supposed to offer basic 
mechanism which can friendly handle the job in case of failure, such as retry, 
rescheduling or recovery.
    Table 4.2 lists comparisons between these meta­schedulers’ functionalities regarding to 
job cancellation, resource and client fault tolerance, as we can see, all of these meta­
schedulers somehow support job cancellation and fault tolerance, like Command Line 
Interface(CLI), Application Programming Interface(API), job retry or resubmission and 
job recovery.
Job Cancellation Resource Fault Tolerance Client Fault Tolerance
Condor­G(v6.8) Users are allowed to cancel the 
job via CLI or API
• Achieved by retrying and restarting 
globus JobManager
• Provides enhanced tow­phase commit 
submit protocol
All relevant state for each 
submitted job is stored 
persistently in the Condor job 
queue for job recovery
CSF(v4.0.3) Users are allowed to cancel the 
job via Command Line Interface 
(CLI) and CSF API
No direct support but can be achieved by CSF job service API
Gridbus Broker 
(v3.1)
• No direct command for killing 
job via CLI
• Job can be reset by API
Persistence to enable failure management and recovery of an executing 
grid application
GridWay(v5.2) Users are allowed to cancel the 
job via CLI or API
• Job will be migrated if the job exit 
code is not specified
• Job is retried on the same resource in 
case of failure
• Job is rescheduled if the number of 
retries reaches a specified limit
• The host is banned for a specific time 
period if the resource on it fails
The state of GridWay running 
on the client host is 
periodically saved in order for 
job recovery
Nimrod­G(v3.x) Users are allowed to cancel the 
job via CLI
• Achieved by job resubmission Job statuses are recorded in 
Nimrod database for 
18
monitoring and recovery 
purpose
Table 4.2 Fault Detection and Recovery Capabilities
4.3.3 User Interface Functionality
• Application Scope
    As Globus is the de facto standard of Grid Computing, our meta­scheduler is 
supposed to fully work with Globus middleware.
• Command Line Interface (CLI)
Command line tool should provide the end­users with basic functionalities to 
submit and monitor the jobs and the status of the resources on the grid
• Application Programming Interface (API)
API support is an advantageous feature when developing advanced grid 
application based on the meta­scheduling system
    Table 4.3 lists the comparison of the major meta­schedulers' functionalities in terms of 
application scope, CLI and API.
Application Scope Command Line Interface Application Programming 
Interface
Condor­G(v6.8) Works as a part of Condor 
middleware
Rich command line interface No support
CSF(v4.0.3) Works on the top of Globus No special support Supported by a set of Java 
APIs
Gridbus 
Broker(v3.1)
Works with other 
Gridbus middlewares
No special support Supported by a set of Java 
APIs
GridWay(v5.2) Works on the top of 
Globus
• Similar to that found on 
resource management 
systems like PBS and 
SGE
• Supports job management 
and resource monitoring
• Supports multiple users
Full DRMAA* (OGF [29] 
standard) support for C 
and Java
Nimrod­G 
(v6.8.x)
Works independently No special support
Works independently
No support
* Distributed Resource Management Application API (DRMAA): A high­level OGF [29] API specification for the submission and 
control of jobs to one or more Distributed Resource Management (DRM) systems within a Grid architecture. The scope of the API 
covered all the high level functionality required for Grid applications to consign jobs to local Grid DRM systems, and it included 
common operations on jobs like termination or suspension.
Table 4.3 User Interface Functionality
4.3.4 Application Support
• Single Job 
Supporting single job scheduling is the basic functionality of the meta­scheduler
19
• Parameter Sweep Job
Support for parameter sweep job (an array of jobs that use the same execution 
program but with different input arguments) is a desirable feature when the jobs 
execute same executable with difference input parameters
• Workflow Job
A workflow consists of a serial of jobs restricted by dependencies. Support for basic 
workflow is helpful to develop advanced job scheduling system
    Table 4.4 lists the comparison of the major meta­schedulers' supports in terms of single 
job, parameter sweep job and workflow job.
Single Job  Parameter Sweep 
Job
Workflow Job
Condor­G(v6.8) Yes Yes Supported by Condor
DAGMan (Directed Acyclic 
Graph Manager) [33]
CSF(v4.0.3) Yes No direct support No direct support
Gridbus 
Broker(v3.1)
Yes Yes Supported via working with Gridbus 
workflow engine
GridWay(v5.2) Yes Yes Supports simple workflows by 
specifying job dependency 
relationship
Nimrod­
G(v6.8.x)
Yes Yes No support
Table 4.4 Application Support
4.3.5 Features and Limitations
    This section (Table 4.5) generally summarizes the features and limitations of the 
investigated meta­schedulers, thus giving us an overall perspective of their advantages 
and disadvantages.
Features Limitations in Current Release
Condor­
G(v6.8)
• Wide middleware support • No checkpoints
• No job exit codes. Job exit codes are not available
• Lacks  integration with grid information systems
CSF(v4.0.3) Mainly focuses on providing API for 
customization, including advanced  job 
execution management and resource 
reservation services
• No software requirement support
• No VO policy support
Gridbus 
Broker(v3.1)
• Can be hosted as a remote WRSF service
• Direct support SRB file protocol
• Direct support parameter sweep job
• Wide middleware support
• Only supports single job submission, job 
dependency are only supported via Gridbus 
workflow engine
• Needs to work with other Gridbus middlewares 
for higher level functionalities
GridWay(v5.2
)
• Flexible and dynamic resource discovery 
mechanism
• Rich options for resource selection and rank 
expressions
• Modular architecture, easy to modify and 
extend
• DRMAA API includes both C and Java 
implementations
• Supports multiple user mode
• Accepts jobs from GridGateWay*, a job 
• Current resource information parser is not  
suitable to describe the heterogeneous grid 
resource which is now supported by GLUE1.2 
Schema
• No software requirement support
• No VO policy support
20
submission interface that is similar to 
Globus Grid Resource Allocation Manager 
(GRAM)*
Nimrod­
G(v6.8.x)
Specially designed for parameter sweep 
applications
No scheduling functionalities
No software requirement support
No VO policy support
* Grid Resource Allocation Manager (GRAM) [35]: A part of Globus Toolkit, which provides a set of web services to submit, monitor 
and cancel jobs on Grid computing resources. It is not a resource scheduler but rather an interface which is used to communicate with 
various local resource managements (LRM). GRAM is the de facto protocol between the meta­scheduling system and the LRM.
* GridGateWay (GGW) [34]: A job submission interface which can be integrated with GRAM but can be used for job submission to 
GridWay meta­scheduling system. 
Table 4.5 Features and Limitations
4.4 Conclusion
    According to the survey we conducted, we came to the conclusions as following:
• None of the current major (open­source) schedulers can fully support the latest 
WS­based grid information service standards (i.e., Globus MDS4 with GLUE1.2).
• None of these meta­schedulers support automatic software searching and 
matchmaking according to user requirements, which is a highly desirable for 
automating and virtualizing end­user's job execution environment.
• As the resources across the grid are shared by multiple organizations, a usage 
control mechanism is very useful to appropriately allocate resources to users from 
different virtual organization; however, none of current meta­schedulers have such 
support. It is noteworthy that GridWay5.2 has similar support (see Table 4.1) but 
that is for the GridWay software user rather than the VO user.
• As a further consequence of the lack of support for the latest GLUE standard, none 
of current meta­schedulers can automatically enforce VO­specific resource usage 
polices.
    Considering the needs for fully virtualizing resources on the Grid and supporting the 
latest grid middlewares and information standards, we chose GridWay as the basic 
scheduling framework according to the survey. GridWay (5.2) has the following 
advantages when compared with other metaschedulers in the survey:
• Modular software architecture, which makes the scheduling system easy to 
customize and extend.
• Specially designed to work on top of Globus, which is used by most of the large 
scale grids. A noticeable advantage of GridWay is that it can be integrated with 
GridGateWay [34] which has the same interface with GT4 GRAM that accepts job 
submission described using RSL (and JSDL [31] in the future release), so by 
integrating GridWay and GridGateWay there is no need to make any modification 
to existing Grid applications that submit jobs to GT4.
• Already supports dynamic resource discovery, thus making sure that the meta­
scheduling system can use the up­to­date resource information.
• Provides basic automatic scheduling functionalities such as normal requirements 
declaration and failure handling.
• Supports both C and Java programming API, which is useful for more advanced 
21
development in the future.
• The built­in scheduling algorithm makes it easy to integrate with the new resource 
usage policies based on VO information.
• A very active project, easy to get technical support.
5 Implementation
    As discussed in the previously sections, our implementation aims to customize and 
deploy a meta­scheduling system on a service­oriented Grid which is using the latest WS­
based grid middlewares and standards (i.e., GT4, MDS4 and GLUE1.2), thus fully 
virtualizing the high performance computing resources on the Grid and providing domain 
experts with an easy­to­use, automatic and intelligent problem­solving environment. As 
few of the large scale national Grids around the world have utilized these service­oriented 
forefront grid technologies, our research and implementation on the Australian National 
Grid will provide valuable information and experience about using these new 
technologies on a real and large scale Grid computing environment.
5.1 GridWay
    Based on the survey mentioned in Section 4, we decided to use GridWay as the kernel 
of our scheduling system. The most desirable characteristic of GridWay is not only its 
ability of dynamic resource discovery, but also the extendable modular architecture, 
which makes it easy to customize according to our needs for building a meta­scheduling 
system on the service­oriented Grid. More favourable features were discussed in Section 
4. The latest version of GridWay is 5.2. As GridWay is the base of our scheduling system, 
it is necessary to make a brief introduction to the GridWay modular software architecture 
and its built­in scheduling policies. More details about GridWay modular architecture 
and scheduling policies can be obtained from GridWay's website [12].
5.1.1 GridWay Modular Architecture
This section briefly introduces different software modules of GridWay (see Figure 1). 
Please refer to GridWay user guide [23] for more details.
22
Figure 1. GridWay Modular Architecture [36]
Execution Manager (EM) is used to interact with Grid Execution Services, responsible 
for low­level job execution and management. GridWay distribution includes the following 
Execution Middleware Access Drivers (MADs):
• Pre­WS GRAM (Globus Toolkit 2.4 and above)
• WS GRAM (Globus Toolkit 4.0)
Transfer Manager (TM) is used to interface with Grid Data Management Services, 
responsible for file staging; remote working directory set­up and remote host clean up. 
GridWay distribution includes:
• GridFTP (Grid File Transfer Protocol) [37] server (version 1.1.2 and above)
Information Manager (IM) interfaces with Grid Monitoring Services, being responsible 
for host discovery and monitoring. The following Information Drivers are included in 
GridWay:
• Static host information data, which can be specified in a configuration file.
• Module for communicating with MDS2 with MDS schema (Globus Toolkit 2.4)
• Module for communicating with MDS2 with GLUE schema (Globus Toolkit 2.4 
and LCG [37] middleware)
• Module for communicating with MDS4 (Globus Toolkit 4.0)
Scheduler is used to schedule jobs on the available Grid resources. The following 
schedulers are included in GridWay:
• Round­Robin/Flooding: This is a very simple scheduling algorithm. It maximizes 
the number of jobs submitted to the Grid. Available resources are ordered by rank 
and flooded with user jobs in a round­robin fashion.
• Built­in Scheduling: The built­in scheduling policy uses a weighted sum approach 
to determine the priority of a given resource, the resource which has the highest 
sum value will be chosen as the final candidate of the job (if the user requirements 
can be satisfied with that resource). Current weighted approach includes the 
following sub­policies:
23
 Fixed Resource Priority Policy: Each resource discovered by the 
information manager can have a fixed priority assigned by the system 
administrator
 Rank Policy: Each resource can have a dynamic rank which is calculated 
via the RANK expression
 Usage Policy: The resources can be prioritiesed by current usage data 
and historical usage data recorded in the accounting database
Besides, the built­in scheduler uses the following Failure Rate Policy to handle 
resource failure: Resource with persistent failure will be discarded for a certain 
time period according to an exponential linear back­off strategy [23].
5.1.2 Working Mechanisms
    This section gives a brief description of the working mechanism of GridWay in terms of 
resource discovery and job submission. Please see Section 5.2­5.6 for details of our 
implementation for a fully virtualized job processing environment on the service­oriented 
Grid.
Step1. Dynamic Resource Discovery
• Information Manager (IM) periodically queries MDS information from the MDS4 
(GLUE) server and stores the result in a temporary file on the local machine
• IM parses the information and returns a list of available hosts
• According to the host list, IM queries available status information of the host and 
the queues it is managing.
• Finally all the hosts and queues managed by each grid site are ready for use.
Step2. Job Requirements Matchmaking and Ranking
• After the resource discovery stage, the job is now ready to submit. However, 
before the job submission, the job requirements matchmaking and ranking must 
be done if the user specifies any requirements and rank expressions in the job 
plan file or the application using GridWay API, otherwise, the job will be 
submitted in a default way by the scheduler.
• Matchmaking and ranking is done by our customized matchmaking and ranking 
algorithms, see Section 5.3.2 for descriptions of these algorithms
• All the queues that satisfy the requirements will be chosen as the execution 
candidates and will be assigned a rank according to the ranking expression. The 
final priority of the queue will be computed according to the scheduling policy, if 
the default built­in scheduler is enabled, the queue priority for the given job will 
be computed using a weighted sum approach described in Section 5.1.1.
Step3. Job Submission
• According to the job plan description and the scheduling algorithm, a temporary 
24
job description (RSL) file is generated, which specifies the name of the executable 
on the remote machine, the queue the scheduling algorithm determines to use, 
the input and output files that need to copied to and from the remote machine, 
and environment information.
• Finally, GridWay uses the Execution Manager module to submit the job.
5.2 Resource Information Representation
    As we know, the representation of resources on the Grid is extremely important for the 
meta­scheduler to carry out correct, reliable and intelligent scheduling. However, current 
GridWay meta­scheduler does not support job scheduling based on GLUE1.2 resource 
information model, furthermore, the GLUE1.2 information model itself does not provide 
accurate description about the mapping between the queues and the computing 
environment they belong to, which is not suitable for accurate meta­scheduling according 
to user requirements. In this section, we discuss the details of the problem we are facing 
and propose a solution to this particular problem.
5.2.1 Problem Statement
Problem 1: The meta­scheduler (GridWay) assumes that one Grid site's GRAM (job 
submission interface [30]) is used to communicate with only one single/homogeneous 
computing resource, but according to GLUE1.2, a Grid site can be either homogeneous or 
heterogeneous, depending on how many homogeneous resources (i.e., the SubCluster 
elements in GLUE1.2) the Grid site's GRAM service is managing. A Grid site is 
homogeneous if it has only one SubCluster while it will become heterogeneous if it has 
two or more different SubClusters. Consequently, the default GridWay will not be able to 
appropriately parse the resource information of a Grid site which uses one GRAM service 
to manage its heterogeneous resources.
Problem 2: The latest GLUE Schema Specification (1.2) does not provide the mapping 
between ComputingElements (i.e., the queues) and SubClusters (i.e., the Host concept 
used by GridWay). According to GLUE1.2, a Grid site is a set of resources managed by 
the same organization. Within a Grid site, there can be one or more Cluster, which is a 
heterogeneous set of computing resources. The homogeneous environment is described 
with SubCluster. Current problem in such information model (GLUE 1.2) is that the 
queue (ComputingElement) has the parallel relationship with MORE THAN ONE 
SubCluster, as a consequence, the relationship between the queue and the SubCluster 
becomes indeterministic. This makes a meta­scheduler unreliable to do any advanced 
scheduling if the Grid user specifies any host­related requirements. Figure 2 illustrates 
the information model base on GLUE Schema (1.2) and the next subsection will show us 
a usage example based on such model.
25
Figure 2. Resource information model base on GLUE1.2, which does not provide the mapping between 
queues and SubClusters
5.2.2 A Usage Example
    Let's at first have a look at current representation of a grid site, an example is shown 
in Figure 3.
<Site UniqueID="SAPAC" …
   …
    <Cluster UniqueID="hydra.sapac.edu.au">
<ComputingElement UniqueID="hydra@hydra">
…
</ComputingElement>
<ComputingElement UniqueID="perseus@hydra">
…
</ComputingElement>
<SubCluster UniqueID="hydra.sapac.edu.au"…
…
             </ SubCluster >
<SubCluster UniqueID="perseus.sapac.edu.au"…
… runnning softeware X
</ SubCluster >
26
   </ Cluster > 
    …
                                      </ Site >     
Figure 3. A typical representation of a a grid site, using the GLUE Schema Specification (1.2)
    The example above describes the computing resources of Grid site SAPAC which is 
running three different execution environments represented by three SubClusters. As 
mentioned in Problem 1 in Section 5.2.1, the default GridWay assumes one site just has 
one SubCluster, this makes it unable to appropriately describe the resource information 
of a Grid site which has multiple SubClusters. i.e., the default meta­scheduler cannot 
appropriately work with heterogeneous resource represented by GLUE1.2
    Now, let’s suppose a usage scenario in which the scheduler can not work correctly 
using the resource information represented by GLUE1.2. In the job plan file (i.e., a file 
using a set of pre­defined variables to describe the requirements of a combinational task, 
like the name of the executable, the input and output, etc), the end­user specifies that the 
job must be run on host SAPAC and software X must be used for data processing (the 
support for software requirement is discussed in Section 5.3). The requirement 
expression is written as following: (Assume that only the second SubCluster is running 
the desired software and the user does not care which queue should be used)
REQUIREMENTS = HOST_NAME = “SAPAC” & SOFTWARE = “X”
After submission, the scheduler checks the MDS information, finds that a grid site named 
“SAPAC” definitely exists and this site also has the execution environment (SubCluster) 
which is running the desired software. Because there is no description about the 
relationship between the queues of this site and the execution environments (i.e., the 
SubClusters), all the queues will be chosen as the candidates for job execution. According 
to GridWay's default scheduling algorithm, the first queue (by order of appearance in the 
MDS information) will be chosen as the default candidate for the given job, however, the 
problem is that we cannot guarantee that the first queue belongs to the desired 
SubCluster (the seconde SubCluster in this example) which is running software “X”.
    Therefore, in order for the GridWay to perform more accurate scheduling, we need a 
customized information model which not only can describe the status and characteristics 
of the resources, but also has an appropriate way to indicate the relationships between 
these resources, especially the association between the ComputingElements and the 
SubClusters.
5.2.3 Solution: ANG Resource Information Model
    In order for the meta­scheduler to appropriately interpret the resource information of a 
heterogeneous Grid site represented by GLUE1.2 and correctly schedule a job on the Grid 
based on GLUE1.2 standard, our solution is extending current GLUE1.2 information 
model by establishing the corresponding relationship between the queues (i.e., 
ComputingElements) and their execution environment (i.e., SubClusters ). For example, 
adding a new attribute or child element to the queue (i.e., the ComputingElement) with 
27
its value pointing to the SubCluster the queue belongs to. Another idea is what SAPAC 
[41] is now using:
<Site UniqueID="SAPAC" …
   …
   <Cluster UniqueID="hydra.sapac.edu.au">
<ComputingElement UniqueID="hydra@hydra">
…
</ComputingElement>
<SubCluster UniqueID="hydra.sapac.edu.au"…
…
</ SubCluster >
   </ Cluster > 
   <Cluster UniqueID="perseus.sapac.edu.au">
<ComputingElement UniqueID="perseus@hydra">
…
</ComputingElement>
<SubCluster UniqueID="perseus.sapac.edu.au"…
…
</ SubCluster >
   </ Cluster > 
    …
</ Site > 
Figure 4. The representation of a Grid site using ANG­Extended GLUE schema
Figure 4 shows the representation of a Grid site using ANG­extended GLUE schema, we 
can see that each Cluster within the Grid site manages multiple queues but uses only one 
SubCluster to describe the execution environment on these queues, so that the 
relationship between queues and SubCluster can be clearly determined. This is very 
useful for job scheduling especially when the end user specifies any SubCluster­related 
requirements like the example described in Section 5.2.2.
    Our following work is based on the assumption that the relationship between the 
queues and the SubClusters has been clearly described by using the solution as 
mentioned above, or any other similar solutions. Most of the sites on current ANG Grid is 
already using such solution and thus provide us with a good environment to test our 
scheduling system. Figure 5 illustrates the resource information model used by current 
ANG Grid, where one Cluster has only one SubCluster, which is shared by multiple 
queues within that Cluster, and a Grid site may have multiple Clusters sharing the same 
storage information. Such information model is extremely useful for meta­scheduling 
because it provides accurate description of the computing resources on the Grid, it is the 
footstone of advanced meta­scheduling based on user requirements and resource manage 
policies, which will be discussed in the following sections.
28
Figure 5. The resource information model used by current ANG Grid
5.2.4 Identifying Heterogeneous Resources
    Based on the extended GLUE information model, it becomes possible for the meta­
scheduler to perform accurate job scheduling because the relationship between queues 
and SubClusters is deterministic. But further work needs to be done for the meta­
scheduler to correctly interpret the resource information of a heterogeneous Grid site 
whose GRAM service is used to communicate with multiple SubClusters. 
    As described in Problem 1 of Section 5.2.1, GridWay assumes that the GRAM service of 
a Grid site is used to submit jobs to a single SubCluster, therefore, from the default meta­
scheduler's point of view, a Grid site is equal to a Host, which has the same meaning as 
SubCluster (i.e., a set of homogeneous computing resources, the concept of Host and 
SubCluster is interchangeable in the rest of the thesis) in GLUE1.2, but based GLUE1.2 
standard, a Grid site may have multiple SubClusters, so from the default meta­
scheduler's point view, by using GLUE1.2 information model , a Grid site is not a Host 
any more, but a set of Hosts or SubClusters. Therefore, we need to change the way that 
how the default GridWay interprets resource information based on GLUE1.2 standard.
    As the solution, a new resource information parser was written to interpret the 
GLUE1.2­based resource information and convert the interpreted data into each Host or 
SubCluster unit which the meta­scheduler can understand. Furthermore, the default 
GridWay uses the name of GRAM to uniquely identify a host (see Figure 6 for an 
example), but now we can see that this is not appropriate in GLUE1.2 because a GRAM 
might be used to communicate with multiple Hosts, so simply using the name of GRAM is 
not suitable based on the GLUE1.2 information model, we need extra information to 
29
separate different SubClusters in a Grid site in order to make the meta­scheduling more 
accurate and more adaptable in a dynamic environment.
Figure 6. The default GridWay uses the GRAM (ng2.sapac.edu.au in this example) name to uniquely 
identify a homogeneous environment, which is not suitable when the host is heterogeneous
    To adapt the meta­scheduler to the GLUE1.2 information model, we use the GRAM 
name plus the SubCluster ID to uniquely identify a SubCluster, i.e., a homogeneous 
environment in a Grid site:
HOSTNAME = GRAM Name / SubCluster ID
For example, the resource information of SAPAC will not be simply represented by a 
single host named ng2.sapac.edu.au, but two hosts named 
ng2.sapac.edu.au/hydra.sapac.edu.au and 
ng2.sapac.edu.au/perseus.sapac.edu.au, with each host managing its own queues and 
softwares.  The new host name is not only unique, but also expressive for us to identify 
different homogeneous computing environments managed by a heterogeneous Grid site. 
The following figure shows the ANG computing resources successfully parsed by our 
customized GLUE1.2 parser. Each entry in this figure represents a Host, which is 
identified by using the new naming format.
 Figure 7. The ANG computing resources discovered by the customized GridWay, by using GLUE1.2 
information parser and the new naming format
5.3 Software Requirements
    According to our survey, current GridWay and other major metaschedulers do not offer 
the capability which enables user to specify what kind of software is required without 
knowing where the software is located on the Grid. In order to make full use of the MDS4 
(GLUE1.2) resource information and support automatic software requirements 
matchmaking, we developed a new software requirements supporting mechanism, 
30
including the software requirement expression and the matchmaking algorithm which 
supports multiple software requirements in a single task. 
    It is noteworthy to mention that the entity SoftwarePackage is from the ANG­
Extended GLUE(1.2) schema [18] because current standard GLUE1.2 specification does 
not provide description of software resources on the Grid, therefore our work in terms of 
supporting user software requirements is currently ANG­specific, however, our endeavor 
on supporting meta­scheduling according to end­user's software requirement is still very 
important and does not lose the universality because providing software resource 
information of the Grid is an unavoidable trend to build an information model which is 
capable of describing the resource information of a complete Grid. The ANG­Extended 
GLUE has already been proposed to OGF [29] as part of the future release of GLUE 
standard.
5.3.1 New Variables Supporting Software Requirement
    Our MDS4 parser was customized to parse the software information (see Table 5.1) 
published by the ANG MDS resource information service. The software information 
parsed by our parser will be used for future software matchmaking if the user specifies 
any software requirements. Table 5.1 lists all the corresponding variables used in the job 
template file and the corresponding elements in MDS GLUE information.
Variables for Software 
Requirement
GLUE 1.2 Element Description
SW_REQ Indicates this is a software 
requirement expression
SW_NAME SoftwarePackage.Name The name of the software
SW_VERSION SoftwarePackage.Version Version, following the 
syntax adopted by that 
software
SW_PATH SoftwarePackage.Path The path on where the 
software is installed on 
the file system.
SW_MODULE SoftwarePackage .Module The name of the module 
that gets loaded (to set the 
environment) before the 
job runs, here are some 
example: java/1.5, 
repeatmasker/3.2, 
mrbayes/02­06­2007, etc.
SW_SERIAL_AVAIL SoftwarePackage.SerialAvail True if the software can 
run in serial mode
SW_PARALLEL_VAIL SoftwarePackage.ParalleAvail True if the software can 
run in parallel mode
SW_PARALLE_MAX_CPUS SoftwarePackage.ParallelMaxCp
us
Number of maximum 
parallel CPUs that can be 
used if this software is 
31
used in parallel mode
Table 5.1. The new variables supporting software requirements and the corresponding GLUE elements
5.3.2 Matchmaking Algorithm: Problem and Solution
    The problem we were faced when adding software requirement support to the meta­
scheduler is that the software requirements can not be simply added to GridWay's default 
requirement expression because the default matchmaking algorithm can not associate 
relevant software requirement components. For example, let’s suppose that we have 
specified the job requirements as shown below,
REQUIREMENTS = HOSTNAME = “ng2.sapac.edu.au/*” & SW_NAME = “java” & SW_VERSION = 
“1.5*”
Which means the user needs to run software “java” with any “1.5” edition on any 
SubCluster (represented by the wildcard *) of grid site “ng2.sapac.edu.au”
Let's also suppose the site “ng2.sapac.edu.au” is running software tools as shown in 
Figure 8.
 Figure 8. Software tools running in ng2.sapac.edu.au
    Based on the GridWay's default matchmaking algorithm, the requirements mentioned 
above will trigger three matchmaking operations, in the order they appear in the 
expression:
Matchmaking 1: HOSTNAME = “ng2.sapac.edu.au/*”, returns true
Matchmaking 2: SW_NAME = “java”, returns true because there is a software named 
“java”
Matchmaking 3: SW_VERSION = “1.5*”, ALSO RETURNS TRUE BECAUSE THERE IS 
A SOFTWARE VERSION ATTRIBUTE WITH THE VALUE BEING “1.5”
    Therefore the final result of the matchmaking is true, but actually as we can see the 
software requirements can not be satisfied because the desired version of Java is not 1.5 
as specified in the requirement expression. The problem is that when dealing with 
32
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007
Thesis-Submission-Final-28-06-2007

More Related Content

Similar to Thesis-Submission-Final-28-06-2007

Barry Madden thesis D08113175
Barry Madden thesis D08113175Barry Madden thesis D08113175
Barry Madden thesis D08113175Madden Barry
 
Supercoducting Cables in Grid
Supercoducting Cables in GridSupercoducting Cables in Grid
Supercoducting Cables in Gridprajesh88
 
M.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital LibrariesM.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital LibrariesLighton Phiri
 
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...Jason Cheung
 
Tensioned Building Construction - Testing and Validation
Tensioned Building Construction - Testing and ValidationTensioned Building Construction - Testing and Validation
Tensioned Building Construction - Testing and ValidationRobert Lewis
 
Comparative Implementation of AES-based Crypto-Cores
Comparative Implementation of AES-based Crypto-CoresComparative Implementation of AES-based Crypto-Cores
Comparative Implementation of AES-based Crypto-CoresMuhammad Asim Zahid
 
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _PiyushMaster Arbeit_Chand _Piyush
Master Arbeit_Chand _PiyushPiyush Chand
 
SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...
SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...
SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...Phil Carr
 
KurtPortelliMastersDissertation
KurtPortelliMastersDissertationKurtPortelliMastersDissertation
KurtPortelliMastersDissertationKurt Portelli
 
Building a Simple Network - Study Notes
Building a Simple Network - Study NotesBuilding a Simple Network - Study Notes
Building a Simple Network - Study NotesMarius FAILLOT DEVARRE
 
Disc 2015 program book 1102
Disc 2015 program book 1102Disc 2015 program book 1102
Disc 2015 program book 1102Han Woo PARK
 
ImplementationOFDMFPGA
ImplementationOFDMFPGAImplementationOFDMFPGA
ImplementationOFDMFPGANikita Pinto
 
Hyun wong thesis 2019 06_19_rev38_final
Hyun wong thesis 2019 06_19_rev38_finalHyun wong thesis 2019 06_19_rev38_final
Hyun wong thesis 2019 06_19_rev38_finalHyun Wong Choi
 

Similar to Thesis-Submission-Final-28-06-2007 (20)

Barry Madden thesis D08113175
Barry Madden thesis D08113175Barry Madden thesis D08113175
Barry Madden thesis D08113175
 
Examensarbete
ExamensarbeteExamensarbete
Examensarbete
 
Supercoducting Cables in Grid
Supercoducting Cables in GridSupercoducting Cables in Grid
Supercoducting Cables in Grid
 
M.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital LibrariesM.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital Libraries
 
32412865.pdf
32412865.pdf32412865.pdf
32412865.pdf
 
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
 
Tensioned Building Construction - Testing and Validation
Tensioned Building Construction - Testing and ValidationTensioned Building Construction - Testing and Validation
Tensioned Building Construction - Testing and Validation
 
fac_alahari001_planczhaov1
fac_alahari001_planczhaov1fac_alahari001_planczhaov1
fac_alahari001_planczhaov1
 
Comparative Implementation of AES-based Crypto-Cores
Comparative Implementation of AES-based Crypto-CoresComparative Implementation of AES-based Crypto-Cores
Comparative Implementation of AES-based Crypto-Cores
 
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _PiyushMaster Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
 
thesis
thesisthesis
thesis
 
thesis
thesisthesis
thesis
 
SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...
SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...
SSTRM - StrategicReviewGroup.ca - Workshop 2: Power/Energy and Sustainability...
 
KurtPortelliMastersDissertation
KurtPortelliMastersDissertationKurtPortelliMastersDissertation
KurtPortelliMastersDissertation
 
Final Report - v1.0
Final Report - v1.0Final Report - v1.0
Final Report - v1.0
 
Building a Simple Network - Study Notes
Building a Simple Network - Study NotesBuilding a Simple Network - Study Notes
Building a Simple Network - Study Notes
 
Disc 2015 program book 1102
Disc 2015 program book 1102Disc 2015 program book 1102
Disc 2015 program book 1102
 
ImplementationOFDMFPGA
ImplementationOFDMFPGAImplementationOFDMFPGA
ImplementationOFDMFPGA
 
Hyun wong thesis 2019 06_19_rev38_final
Hyun wong thesis 2019 06_19_rev38_finalHyun wong thesis 2019 06_19_rev38_final
Hyun wong thesis 2019 06_19_rev38_final
 
12.06.2014
12.06.201412.06.2014
12.06.2014
 

Thesis-Submission-Final-28-06-2007