Scheduling and Resource Management in Grids

Similar documents
February 14, 2006 GSA-WG at GGF16 Athens, Greece. Ignacio Martín Llorente GridWay Project

A Dynamic Co-Allocation Service in Multicluster Systems

An Evaluation of Economy-based Resource Trading and Scheduling on Computational Power Grids for Parameter Sweep Applications

Processor Co-Allocation Enabling Advanced Reservation of Jobs using Priorities in MultiCluster Systems

QoS-based Scheduling for Task Management in Grid Computing

Decentralized Scheduling of Bursty Workload on Computing Grids

Task Resource Allocation in Grid using Swift Scheduler

Workload Management WP Status Report

Failure Recovery in Distributed Environments with Advance Reservation Management Systems

Communication-Aware Job Placement Policies for the KOALA Grid Scheduler

Enhancing Resource Reservation by Applying Defer Time in FCFS Scheme for Grid Computing Environments

InfoSphere DataStage Grid Solution

UAB Condor Pilot UAB IT Research Comptuing June 2012

Cluster Workload Management

A Flexible Resource Co-Allocation Model based on Advance Reservations with Rescheduling Support

Australian Journal of Basic and Applied Sciences. LB Scheduling for Advanced Reservation and Queuing Using TBRA in Grid Computing Environments

Economic Scheduling in Grid Computing

Experiences with the KOALA Co-Allocating Scheduler in Multiclusters

The Design and Implementation of the KOALA Grid Resource Management System. Hashim H. Mohamed

DIET: New Developments and Recent Results

Condor services for the Global Grid: Interoperability between Condor and OGSA *

Enhanced Algorithms for Multi-Site Scheduling

Job co-allocation strategies for multiple high performance computing clusters

Trust Based Grid Scheduling Algorithm for Commercial Grids

A case for cooperative and incentive-based federation of distributed clusters

A case for cooperative and incentive-based federation of distributed clusters

AN ENERGY EFFICIENT SCHEME FOR CLOUD RESOURCE PROVISIONING USING TASK SCHEDULING STRATEGY BASED ON VACATION QUEUING THEORY

Backfilling Scheduling Jobs Based on Priority Using in Grid Computing

LOAD SHARING IN HETEROGENEOUS DISTRIBUTED SYSTEMS

A standards-based Grid resource brokering service supporting advance reservations, coallocation and cross-grid interoperability

Resource Management for Future Generation Grids

JOB AND APPLICATION-LEVEL SCHEDULING IN DISTRIBUTED COMPUTING

Condor Birdbath* Web Service interfaces to condor

This is an author produced version of Introducing risk management into the grid.

Optimizing Grid-Based Workflow Execution

Job Invocation Interoperability between NAREGI Middleware Beta and. glite

A standards-based Grid resource brokering service supporting advance reservations, coallocation and cross-grid interoperability

INTERNATIONAL JOURNAL OF RESEARCH IN COMPUTER APPLICATIONS AND ROBOTICS ISSN

American Journal of Engineering Research (AJER) Implementing Short Term Scheduler and Preemptive Algorithm in Grid Computing Scheduling

CHAPTER 6 DYNAMIC SERVICE LEVEL AGREEMENT FOR GRID RESOURCE ALLOCATION

Services Guide April The following is a description of the services offered by PriorIT Consulting, LLC.

Gang Scheduling Performance on a Cluster of Non-Dedicated Workstations

Predictive Resource Scheduling in Computational Grids

Clairvoyant Site Allocation of Jobs with Highly Variable Service Demands in a Computational Grid

OPERATING SYSTEMS. Systems and Models. CS 3502 Spring Chapter 03

Priority-enabled Scheduling for Resizable Parallel Applications

Towards Modelling-Based Self-adaptive Resource Allocation in Multi-tiers Cloud Systems

Build-and-Test Workloads for Grid Middleware Problem, Analysis, and Applications

Resource Allocation Strategies in a 2-level Hierarchical Grid System

Dynamic Fractional Resource Scheduling for HPC Workloads

Resource Scheduling in Hybrid Grid Environment

A Proactive Fault Tolerant Strategy for Desktop Grid

The EPIKH Project (Exchange Programme to advance e-infrastructure Know-How) Introduction to glite Grid Services

HTCaaS: Leveraging Distributed Supercomputing Infrastructures for Large- Scale Scientific Computing

ICIMTR International Conference on Innovation, Management and Technology Research, Malaysia, September, 2013

Decision Resource Management and Scheduling on the Grid

Graph Optimization Algorithms for Sun Grid Engine. Lev Markov

The Owner Share scheduler for a distributed system

GangSim: A Simulator for Grid Scheduling Studies

Multi-Level Job Flow Cyclic Scheduling in Grid Virtual Organizations

A Case for Cooperative and Incentive-Based Coupling of Distributed Clusters

A Scalability and Performance Evaluation of a Distributed Usage SLA-based Broker in Large Grid Environments

A self-optimized job scheduler for heterogeneous server clusters

RISK MANAGEMENT OF RESOURCE ALLOCATION IN GRID COMPUTING

Predictive Resource Scheduling in Computational Grids

Co-allocation with Communication Considerations in Multi-cluster Systems

Exploiting Big Data in Engineering Adaptive Cloud Services. Patrick Martin Database Systems Laboratory School of Computing, Queen s University

Dynamic grid scheduling with job migration and rescheduling in the GridLab resource management system

Advance. Nodes. Nodes. Reservation. Time. Time. job to be placed. job to be placed. a) no advance reservations. b) with an advance reservation

A Multilevel Scheduler for Batch Jobs on Large-scale Grids

Introduction to glite Middleware

WORKFLOW SCHEDULING FOR SERVICE ORIENTED CLOUD COMPUTING. A Thesis Submitted to the College of. Graduate Studies and Research

Get The Best Out Of Oracle Scheduler

IBM Tivoli Monitoring

A Dynamic Job Grouping-Based Scheduling for Deploying Applications with Fine-Grained Tasks on Global Grids

COST ESTIMATION OF ADVANCE RESERVATIONS OVER QUEUED JOBS: A QUANTITATIVE STUDY

Application of Min-Min and Max-Min Algorithm for Task Scheduling in Cloud Environment Under Time Shared and Space Shared VM Models *

Grid 2.0 : Entering the new age of Grid in Financial Services

The Grid Economy RAJKUMAR BUYYA, DAVID ABRAMSON, AND SRIKUMAR VENUGOPAL. Invited Paper

AN OVERVIEW OF THE SCHEDULING POLICIES AND ALGORITHMS IN GRID COMPUTING

An Agent Based Dynamic Resource Scheduling Model with FCFS-Job Grouping Strategy in Grid Computing

IBM Grid Offering for Analytics Acceleration: Customer Insight in Banking

Service Oriented grid Architecture for Geosciences Community

PRIORITY BASED SCHEDULING IN CLOUD COMPUTING BASED ON TASK AWARE TECHNIQUE

AN OVERVIEW OF THE SCHEDULING POLICIES AND ALGORITHMS IN GRID COMPUTING

Superlink-online and BOINC

The Portable Batch Scheduler and the Maui Scheduler on Linux Clusters*

Study and Comparison of VM Scheduling Algorithm in Cloud Computing Using CloudSim Simulator

An Economic Allocation of Resources for Divisible Workloads in Grid Computing Paradigm

CPU scheduling. CPU Scheduling

IBM ICE (Innovation Centre for Education) Welcome to: Unit 1 Overview of delivery models in Cloud Computing. Copyright IBM Corporation

NSF {Program (NSF ) first announced on August 20, 2004} Program Officers: Frederica Darema Helen Gill Brett Fleisch

Building a Multi-Tenant Infrastructure for Diverse Application Workloads

Chapter 1. Introduction. 1.1 Inspiration for Computational Grids

CHAPTER 6 RESULTS AND DISCUSSION

AGORA: An Architecture for Strategyproof Computing in Grids

A Dynamic Optimization Algorithm for Task Scheduling in Cloud Computing With Resource Utilization

Goya Deep Learning Inference Platform. Rev. 1.2 November 2018

Grid Computing Scheduling Jobs Based on Priority Using Backfilling

Applications of Intelligent Agent Technology to the Grid

Transcription:

Scheduling and Resource Management in Grids ASCI Course A14: Advanced Grid Programming Models Ozan Sonmez and Dick Epema may 13, 2009 1

Outline Resource Management Introduction A framework for resource management Grid Scheduling Problems in grid scheduling Stages in grid scheduling Service level agreements Grid economics Scheduling policies Examples of Grid Resource Management Systems may 13, 2009 2

Resource Management (1) Resource management refers to the operations used to control how capabilities provided by grid resources and services are made available to other entities, whether users, applications or services (Czajkowski, Foster, Kesselman) may 13, 2009 3

Resource Management (2) Main goal: establish a mutual agreement between resource providers and resource consumers Grid Resource Consumers Execute jobs for solving problems of various size and complexity Benefit by judicious selection and aggregation of resources Grid Resource Providers Contribute ( idle ) resources for executing consumer jobs Benefit by maximizing resource utilization may 13, 2009 4

Resource Characteristics in Grids (1) A resource denotes any capability that may be shared and exploited in a networked environment e.g., processor, data, disk space, bandwidth, telescope, etc. Autonomous Each resource has its own management policy or scheduling mechanism No central control/multi-organizational sets of resources Heterogeneous Hardware (processor architectures, disks, network) Basic software (OS, libraries) Grid software (middleware) Systems management (security set-up, runtime limits) Compute power is a complex utility!!! may 13, 2009 5

Resource Characteristics in Grids (2) Size (up to exascale computing!) Large numbers of nodes, providers, consumers Large amounts of data Varying Availability Resources can join or leave to the grid at any time due to maintenance, policy reasons, and failures Geographic distribution and different time zones Resources may be dispersed across continents Insecure and unreliable environment Prone to various types of attacks may 13, 2009 6

A General Resource Management Framework (1) may 13, 2009 7

A General Resource Management Framework (2) Local resource management system (Resource Level) Basic resource management unit Provides low level resource allocation and scheduling e.g., PBS, SGE, LSF Global resource management system (Grid Level) Coordinates all local resource management systems within multiple or distributed sites Provides high-level functionalities to efficiently use resources: Job submission Resource discovery and selection Authentication, authorization, accounting Scheduling (possibly including co-allocation) Job monitoring Fault tolerance may 13, 2009 8

A General Resource Management Framework (3) Functional Requirements Supporting adaptability, extensibility, and scalability Allowing systems with proprietary policies to inter-operate while preserving site autonomy Co-allocating resources Distributed monitoring Failure transparency Supporting Quality-of-Service may 13, 2009 9

Co-Allocation (1) In grids, jobs may use multiple types of resources in multiple sites: co-allocation or multi-site operation Reasons: To use available resources (e.g., processors) To access and/or process geographically spread data Application characteristics (e.g., simulation in one location, visualization in another) Resource possession in different sites can be: Simultaneous (e.g., parallel applications) Coordinated (e.g., workflows) may 13, 2009 10

Co-Allocation (2) Without co-allocation, a grid is just a big load-sharing device with a metascheduler or superscheduler: Find suitable candidate system for running a job If the candidate is not suitable anymore, migrate multiple separate jobs With co-allocation: Better utilization of resources Better response times More difficult resource-discovery process Need to coordinate allocations by autonomous resource managers (local schedulers) grid single co-allocated job may 13, 2009 11

Job types in Grids Sequential jobs/bags-of-tasks E.g., parameter sweep applications (PSAs) These account for the vast majority of jobs of grids Leads to high-throughput computing Parallel jobs Extension of high-performance computing In most grids, only a small fraction Workflows Multi-stage data filtering, etc Represented by directed (acyclic) graphs Miscellaneous Interactive simulations Data-intensive applications may 13, 2009

How to select resources in the grid? Grid scheduling is the process of assigning jobs to grid resources Grid Resource Broker/ Scheduler Job Job Job Local Resource Manager Local Resource Manager Local Resource Manager Clusters (Space Shared Allocation) Single CPU (Time Shared Allocation) Clusters (Space Shared Allocation) may 13, 2009 13

Different Levels of Scheduling Resource level scheduler a.k.a. low-level scheduler, local scheduler, local resource manager Scheduler controlling a supercomputer or cluster e.g.: Open PBS, PBS Pro, LSF, SGE Enterprise level scheduler Scheduling across multiple local schedulers belonging to the same organization e.g., PBS-Pro, LSF multi-cluster Grid level scheduler a.k.a. super-scheduler, broker, community scheduler Discovers resources that can meet a job s requirements Schedules across lower level schedulers System-level versus application-level scheduling may 13, 2009 14

Grid Level Scheduler Discovers and selects the appropriate resources for a job No ownership or control over resources Jobs are submitted to local resource managers Local resource managers take care of actual execution of jobs Architecture Centralized: all lower level schedulers are under the control of a single grid scheduler not realistic in global grids Distributed: lower level schedulers are under the control of several grid schedulers may 13, 2009 15

General Problems in Grid Scheduling 1. Grid schedulers do not own resources themselves they have to negotiate with autonomous local schedulers authentication/multi-organizational issues 2. Grid schedulers have to interface to different local schedulers some may have support for reservations, others are queuing-based some may support checkpointing, migration, etc 3. Structure of applications many different structures (parallel, PSAs, workflows, etc.) for co-allocation, optimized wide-area communications libraries are needed may 13, 2009 16

Problems (1): system 1. Lack of a reservation mechanism but with such a mechanism we need good runtime estimates 2. Heterogeneity hardware (processor architecture, disk space, network) basic software (OS, libraries) grid software (cluster scheduler) systems management (security set-up, runtime limits) 3. Failures monitor the progress of applications/sanity of systems only thing we know to do upon failures: (move and) restart we may interface to fault-tolerance mechanisms in applications may 13, 2009

Problems (2): applications 4. Communication in wide-area applications may need an additional initialization step to allow applications to communicate across multiple subsystems 5. Structure of applications many different structures, can t deal with all of them introduce application adaptation modules Allow application-level scheduling may 13, 2009

Problems (3): testing/performance 6. Need for a suite of test applications for functionality and reliability testing for performance evaluation should run on all grids 7. Reproducibility of performance experiments never the same circumstances tools for mimicking same conditions may 13, 2009

Stages of the Grid Scheduling 1. Resource Discovery 2. System Selection 3. Job Execution www.mcs.anl.gov/~jms/pubs/sched.arch.2002.pdf may 13, 2009 20

Resource Discovery Describe jobs and resources: Job description files Classads Determine which resources are available to the user Authorization Filtering A list of machines or resources to which the user has access Application Requirement Definition Job requirements can be specified with job description languages (e.g., Condor ClassAd, GGF JSDL, Globus RSL) Minimal Requirement Filtering A reduced set of resources to investigate in more detail may 13, 2009 21

System Selection (1) Where to put the Grid job? Grid User Grid-Scheduler 15 jobs running 20 jobs queued 5 jobs running 2 jobs queued 40 jobs running 80 jobs queued Scheduler Scheduler Scheduler time time time Schedule Schedule Schedule Job-Queue Job-Queue Job-Queue Machine 1 Machine 2 Machine 3 From: Grid Resource Management and Scheduling, Ramin Yahyapour may 13, 2009 22

System Selection (2): Information Gathering Grid Information Service (GIS) Gathers information from individual local resources Access to static and dynamic information Dynamic information include data about planned or forecasted future events e.g., existing reservations, scheduled tasks, future availabilities Create a database for the GIS may 13, 2009 23

System Selection (3): Methods Predictive state estimation Consider current and historical information Heuristics Pricing Models Machine Learning Non-predictive state estimation Consider only the current job and resource status information No need to take into account the historical information Heuristics may 13, 2009 24

System Selection (4): Objectives Application Oriented Optimizing metrics such as job response time, job wait time, etc. e.g., average weighted response time AWRT = w j (t j r j ) j Jobs w j j Jobs r : submission time of a job t : completion time of a job w : weight/priority of a job System Oriented Maximizing throughput, utilization (minimizing idle time) Conflicting objectives!! The (main) scheduling criterion is usually static for an installation and implicitly given by the scheduling algorithm may 13, 2009 25

Job Execution (1) Advance Reservation Job Submission Preparation Tasks Monitoring Progress Job Completion Cleanup Tasks may 13, 2009 26

Job Execution (2): Advance Reservations Co-allocation and other applications require a priori information about the precise resource availability Resource provider guarantees a specified resource allocation two- or three-phase commit included for agreeing on the reservation Implementations GARA/DUROC provide interfaces for Globus to create advanced reservation Setup of a dedicated bandwidth between endpoints (e.g., DAS3/StarPlane) may 13, 2009 27

Job Execution (3): Job Submission It is the task of the resource management system to start a job on the allocated resources The user submits the job to the resource management system: qsub jobscript.pbs globus-submit-job job.rsl The user can control the job qsub: submit qstat: poll status information qdel: cancel job may 13, 2009 28

Job Execution (4): Other Phases Preparation Tasks File staging, claiming a reservation Monitoring Progress Resource conditions Agreements Schedules Program execution SLA conformance Job Completion Notification Cleanup Tasks File retrieval Removing temporary settings may 13, 2009 29

Service Level Agreements Old concept from the mainframe days The mapping of jobs to resources can be abstracted using the concept of Service Level Agreement (SLAs) SLA: Contract negotiated between resource provider, e.g., local scheduler, and resource consumer, e.g., grid scheduler, application SLAs provide a uniform approach for the client to specify resource and QoS requirements, while hiding from the client details about the resources, such as queue names and current workload may 13, 2009 30

Grid Economics (1) Market-oriented approaches are a possible way to implement the interaction of different scheduling layers agents in the Grid market can implement different policies and strategies negotiations and agreements link the different strategies participating sites stay autonomous Need for suitable scheduling algorithms and strategies for creating and selecting offers need for creating the Pareto-optimal scheduling solutions Performance depends highly on the available information negotiation can be hard if there are many potential providers may 13, 2009 31

Grid Economics (2) Several possibilities for market models: Auctions of resources/services Auctions of jobs Possible mechanisms: Cost models, price determination mechanisms Individual objective/utility functions for optimization goals Market-oriented algorithms are considered to be: Robust Flexible in case of errors Simple to adapt, and to have unforeseeable dynamics may 13, 2009 32

Scheduling and Replication Algorithms (1) Random A randomly selected site Each site has an equal or a different probability of getting selected LeastLoaded The site that currently has the least load A possible load definition: smallest number of waiting jobs RandLeastLoaded A site randomly selected from a number of the least-loaded sites DataPresent A site that already has the required data Local The site where the job originated may 13, 2009 33

Scheduling and Replication Algorithms (2) DataCaching Datasets are pre-assigned to different sites No dynamic replication is in place DataRandom Sites keep track of the popularity of the datasets they contain When a site s load exceeds a threshold, popular datasets are replicated to a random site on the grid DataLeastLoaded Sites keep track of dataset popularity and choose the least loaded site as a new host for a popular dataset DataRandLeastLoaded A random site is picked from a number of the least loaded sites may 13, 2009 34

Scheduling and Replication Algorithms (3) Scheduling in grids resembles scheduling in distributed systems (1980s and 1990s) Differences with grids: In distributed systems, usually, a centralized approach was assumed In distributed systems, the system was usually assumed to be homogeneous Important research issues in scheduling in distributed systems: Amount of state information used (global FCFS, global SJF, ) Staleness of state information used Main lessons from distributed systems: Use simple policies Use policies that don t use much state information may 13, 2009 35

Example 1: The Globus Toolkit Widely used grid middleware Negotiate and control access to resources GRAM component for control of local execution The Globus toolkit includes software services and libraries for: resource monitoring resource discovery and management security file management GT2 GT3 Web/GridService-based GT4 WSRF-based may 13, 2009 36

Example 2: Condor (1) Specialized high-throughput scheduling system Started around 1986 as one of many batch queuing systems for clusters (of desktop machines) Provides a queuing mechanism, scheduling policies, priority scheme, resource monitoring Cycle scavenging: can be set to use idle time on machines Condor introduced the notion of classads Cross-platform: UNIX/Linux, MacOS X, Windows Condor-G(lide-in): used for submitting, queuing and monitoring jobs on Globusmanaged resources makes a Globus-managed resource appear as part of a Condor pool may 13, 2009 37

Example 2: Condor (2) Basic operation of Condor: jobs send a classad to the matchmaker machines send a classad to the matchmaker the matchmaker matches jobs and machines, and notifies the submission machine, which contacts the execution machine on the submission machine, a shadow process is started, which represents the remote job on the execution machine on the execution machine, the actual remote user job is started may 13, 2009 38

Example 2: Condor Flocking submission pool MM execution pool MM submission machine execution machine may 13, 2009 39

References (2) Grid Resource Management: State of the Art and Future Trends, Jarek Nabrzyski, Jennifer M. Schopf, and Jan Weglarz (eds.), Kluwer Publishing, 2004 A Taxonomy and Survey of Grid Resource Management Systems, Rajkumar Buyya et al., Software Practice and Experience, Vol. 32(2), 2002 Grid Resource Management and Scheduling - Current State and Future, Ramin Yahyapour, Tutorial at Euro-Par 2004 Douglas Thain, Todd Tannenbaum, Miron Livny, Distributed computing in practice: the Condor experience, Concurrency and Computation - Practice and Experience 17(2-4): 323-356, 2005 Y-T. Wang and R.J.T. Morris, Load Sharing in Distributed Systems, IEEE Trans. on Comp., Vol. C-34, 204-217, 1985. D.H.J. Epema, M. Livny, R. van Dantzig, X. Evers, J. Pruyne, A Worldwide Flock of Condors: Load Sharing among Workstation Clusters, Future Generation Computer Systems, Vol. 12, pp. 53-65, 1996. may 13, 2009 40

References (2) H.H. Mohamed and D.H.J. Epema, "KOALA: A Co-Allocating Grid Scheduler," Concurrency and Computation: Practice and Experience, Vol. 20, 1851-1876, 2008. TUD grid group publications: see publications database on www.pds.ewi.tudelft.nl KOALA: www.st.ewi.tudelft.nl/koala Globus: www.globus.org Condor: www.cs.wisc.edu/condor Open Grid Forum: www.ogf.org See the CCGrid, Grid, and HPDC conferences for current research may 13, 2009 41