Workflow Scheduling
7.4 Workflow Scheduling
Workflows consist of several tasks bound together by data/functional dependencies that need to be executed in a specific order for achieving the goal of the problem. They are used especially in cases where the problem can be divided into smaller steps each of them being executed by a distinct solver, or in our case WS. In a cloud environment users usually submit their workflows to a service which orchestrates the execution and returns the result. Whatever happens beyond the service interface is out of reach and invisible to the client. The workflows can be created either by using graphical tools (Wolniewicz et al., 2007 ) or by directly writing the code in
a supported format such as BPEL (WS-BPEL, 2010 ), YAWL (Van der Aalst & ter Hofstede, 2005 ), Scufl (Greenwood, 2010 ), etc. Once the workflow is submitted an enactment engine is responsible for executing the tasks by sending them to corre- sponding WSs. In our case these WSs are replaced by scheduling agents that try to schedule the tasks on the best available service through negotiation with other agents. Once a task is completed its result is sent back to the enactment engine which can proceed to the next task and so forth.
An important problem in this communication chain is the return of the result to the workflow engine. To solve this problem the address of the agent responsible for the VO in which the engine is located in is attached to each submitted task. In this way once the execution is completed the result is sent straight back to the agent that initially received the task. This task is usually achieved by messages and will be
detailed in Section 7.5.2 . It can be noticed that no prior scheduling decisions are made, and that tasks are scheduled one by one as they become ready for scheduling. This is necessary due to the dynamism and unpredictability of the environment. In paper (Frincu, Macariu, & Carstea, 2009 ) a unified scheduling model for independent and
7 Scheduling Service Oriented Workflows Inside Clouds 169 dependent tasks has been discussed. The goal was to allow SA for independent tasks
to be applied to workflows when dynamic environments and online scheduling were considered.
Although this approach is suited when global scheduling decisions are needed there are cases where the workflow engine cannot easily achieve task-to-resource mappings (Active BPEL, 2010 ) during runtime. Instead workflow SAs such as HEFT (Sakellariou & Zhao, 2003 ), Hybrid (Sakellariou & Zhao, 2004 ) or CPA (Radulescu & van Gemund, 2001 ) could be used. However they only consider the tasks in the current workflow when scheduling or rescheduling decisions are needed. These algorithms provide strategies to schedule workflow tasks on heterogeneous resources based on the analysis of the entire task graph. Every time a workflow is submitted tasks would first be assigned to resources and only then would the workflow execution begin. The negotiation for resources thus takes place prior to runtime. This static approach however is not suited for highly dynamic environments (for example clouds) where: resource availability cannot be predicted; reservations are difficult to achieve; a global perspective needs to be obtained; and deadline constraints require permanent rescheduling negotiations.
In what follows we present an agent-based solution for scheduling workflows. So called scheduling agents are used to negotiate, to schedule tasks and to send the answer back to the workflow engine. Its aim is to provide a platform for online workflow scheduling where tasks get scheduled only when they become ready for execution. This means that a task whose predecessors have not completed their execution is not considered to be submitted for execution.
Parts
» Cloud Computing Model Application Methodology
» Cloud Computing in Development/Test
» Cloud-Based High Performance Computing Clusters
» Case Study: Cloud as Infrastructure for an Internet Data Center (IDC)
» Case Study – Cloud Computing for Software Parks
» Case Study – an Enterprise with Multiple Data Centers
» Service-Management Integration
» Cloud Deployment Models and the Network
» Latency, Bandwidth, and Scale – The Span
» Security, Resiliency, and Service Management – The Superstructure
» Network Architecture for Hybrid Cloud Deployments
» Characteristics of Data-Intensive Computing Systems
» Related Work on DS Scheduling
» Scheduling Issues Inside Service Oriented Environments
» Scheduling Through Negotiation
» Prototype Implementation Details
» Basics of Grid and Cloud Computing
» Service Orientation and Web Services
» Scheduling, Metascheduling, and Resource Provisioning
» Interoperability in Grids and Clouds
» Security and User Management
» Modeling and Simulation of Clouds and Grids
» Enterprise Knowledge Cloud Technologies
» NC State University Cloud Computing Implementation
» Computational/Data Node Network
» Integrating High-Performance Computing into the VCL
» Large Scale Workflow Applications
» Overview of SwinDeW-G Environment
» SwinDeW-C System Architecture
» History on Enterprise IT Services
» Remote Sensing Geo-Reprojection
» Singular Value Decomposition
» System Model for Auction in CACM
» Multi-objective Genetic Algorithm
» Anagram Based GrADS Data Distribution Service
» Hyrax Based Five Dimension Distribution Data Service
» Design and Implementation of an Instrument Service for NetCDF Data Acquisition
» A Weather Forecast Quality Evaluation Scenario
» Implementation of the Grid Application
» Overview of Amazon EC2 Setup
» DGEMM Single Node Evaluation
» Data Clouds: Emerging Technologies
» Cloud Architecture as Foundation of Cloud-Based Scientific Applications
» Emergence of Cloud-Based Scientific Computational
» Setup and Experiment on Tiny Cloud Infrastructure
» On Economical Use of the Enterprise Cloud
» Toward Integration Of Private and Public Enterprise Cloud Environment
» Brief Discussion of Medical Standards
» Objective 1: A Service Oriented Architecture for Interfacing Medical Messages
» Objective 4: A Globally Distributed Dynamically Scalable Cloud Based Application Architecture
» Distributing Multidimensional Environmental Data
» Enabling the NetCDF Java Interface to S3
» The NetCDF Service Architecture
» NetCDF Service Deployment Scenarios
» Evaluation of S3- and EBS-Enabled NetCDF Java Interfaces
Show more