Contents

1 Introduction
 1.1 Workflow Applications in Computational Grid Environments
 1.2 Research Goals and Contributions
 1.3 Dissertation Organization
2 Grid Computing
 2.1 Background
  2.1.1 Distributed Computing and High Performance Computing
  2.1.2 Big Science and Global Science
 2.2 Grid Problems and Grid Computing
  2.2.1 Grid Categories
 2.3 Grid Architecture and Middlewares
  2.3.1 Issues in Grid Computing
  2.3.2 Grid Layered Architecture and Middlewares
  2.3.3 The Globus Toolkit
 2.4 Resource Management in Grids
3 Scientific Workflow Applications
 3.1 Grid Scientific Workflow Applications
 3.2 Workflow Management Systems
  3.2.1 Workflow Specification
  3.2.2 Workflow Scheduling
4 Related Work and Motivation
 4.1 Related Work: Grid Workflow Description Languages
  4.1.1 Condor DAGMan
  4.1.2 The Chimera Virtual Data Language
  4.1.3 Taverna XScufl
  4.1.4 ASKALON and Karajan
  4.1.5 Triana
  4.1.6 Others
  4.1.7 Discussion
 4.2 Related Work: Workflow and Grid Application Scheduling
  4.2.1 ASKALON Workflow Scheduler
  4.2.2 Gridbus Workflow Scheduler
  4.2.3 Pegasus and GridFlow
  4.2.4 Grid Scheduling Related Work
  4.2.5 Discussion
 4.3 Motivation: The GRACCE Framework
5 Grid Application Modeling and Description Language
 5.1 GAMDL Capabilities and Features
 5.2 GAMDL Entities and Core Concepts
  5.2.1 Execution Specification
  5.2.2 Module and Job Specification
  5.2.3 Multi-Value Property and Entity Uid
 5.3 GAMDL Application and Workflow
  5.3.1 Application and Workflow Description
  5.3.2 Data-Flow Description
  5.3.3 Control-Flow Logic Description
 5.4 GAMDL’s Support for Resource Co-Allocations
  5.4.1 Resource Request Specification
  5.4.2 Job Execution Profile
 5.5 A GAMDL Example of a Workflow with Complex Control-Flow Logic
 5.6 Summary
6 Resource Allocation and Scheduling of Workflow Applications
 6.1 The GRACCE Workflow System Architecture
  6.1.1 The GRACCE Scheduler
  6.1.2 The GridDAG Workflow System
  6.1.3 The EPExec Runtime system
 6.2 Resource Allocation and Workflow Execution Planning
  6.2.1 Resource Allocation for a Workflow Task
  6.2.2 Workflow Execution Planning
 6.3 Summary
7 Experiment and Performance Evaluation
 7.1 Simulation Environment Setup
  7.1.1 Simulation of Grid Resources and the Local Schedulers
  7.1.2 Simulation of Job Execution
  7.1.3 Random Job Generator and Random Workflow Generator
 7.2 Performance Evaluation of Workflow Execution
  7.2.1 Task Execution Time
  7.2.2 Queue Waiting Time
  7.2.3 Data Transfer Time
 7.3 Simulation Results
  7.3.1 Performance Evaluation of a 7-Task Workflow
  7.3.2 Performance Evaluation of a 20-Task Workflow
  7.3.3 Summary
8 Conclusion
 8.1 Future Work
Bibliography