# Presentation: 190061

## Grids and Grid Scheduling

- Jennifer M. Schopf
- Argonne National Lab
- UK National eScience Center (NeSC)

## Questions for you-

- How many people know what Grids and Grid computing are?
- How many people are familiar with Globus?
- How many have heard of OGSA/OGSI or WS-RF?

- Nov 12, 2004

## What is a Grid

- Resource sharing
- Computers, storage, sensors, networks, ...
- Sharing always conditional: issues of trust, policy, negotiation, payment, ...
- Coordinated problem solving
- Beyond client-server: distributed data analysis, computation, collaboration, ...
- Dynamic, multi-institutional virtual orgs
- Community overlays on classic org structures
- Large or small, static or dynamic

- Nov 12, 2004

## Not A New Idea

- Late 70’s – Networked operating systems
- Late 80’s – Distributed operating system
- Early 90’s – Heterogeneous computing
- Mid 90’s - Metacomputing
- Then the “Grid” – Foster and Kesselman, 1999
- Also called parallel distributed computing

- Nov 12, 2004

## Why is this hard/different?

- Lack of central control
- Where things run
- When they run
- Shared resources
- Contention, variability
- Communication
- Different sites implies different sys admins, users, institutional goals, and often “strong personalities”

- Nov 12, 2004

## So why do it?

- Computations that need to be done with a time limit
- Data that can’t fit on one site
- Data owned by multiple sites
- Applications that need to be run bigger, faster, more

- Nov 12, 2004

## Broader Context

- “Grid Computing” has much in common with major industrial thrusts
- Business-to-business, Peer-to-peer, Application Service Providers, Storage Service Providers, Distributed Computing, Internet Computing...
- Sharing issues not adequately addressed by existing technologies
- Complicated requirements: “run program X at site Y subject to community policy P, providing access to data at Z according to policy Q”
- High performance: unique demands of advanced & high-performance systems

- Nov 12, 2004

## Relation to Other Approaches

- Distributes computing
- Generally a client-server model
- Parallel computing
- Limited to one machine/site
- Peer-to-peer technologies
- Limited scope and mechanisms
- Enterprise-level distributed computing
- Limited cross-organizational support
- Web services
- Not dynamic

- Nov 12, 2004

## Grids: Pre-WS

- Before web services, all functionality was develped using different protocols, error systems, etc
- Job Submission
- GT2 GRAM
- Modified RPC protocol
- File Transfers
- GT2 GridFTP
- FTP protocol (wuftp server)
- Monitoring
- GT2 MDS2
- LDAP protocol

- Nov 12, 2004

## Web-Service Based Grids

- Use industry standards for internet interactions for distributed computing space
- NOT related to web browsers
- Protocol: SOAP
- Language/Schema: WSDL and XML
- All functionality shares protocols, error handling, etc
- For Globus Toolkit, underpinnings are now WS-RF - the web service resource framework standard
- Oasis standard
- Support from IBM, HP, Sun, Microsoft, Axis, etc.

- Nov 12, 2004

## Grids for us

- We may want to start within one administrative domain
- Not really a Grid but a starting point
- We likely want to stick with old tech (GT2?) as tried-true technology
- Plan to move to WS-based Grid in next phase
- One first step will need to be decision about what resources we have, scope of problem

- Nov 12, 2004

## Any basic Grid questions?

- Nov 12, 2004

## Grid Scheduling

- Grid scheduling:
- Resources over multiple administrative domains
- Pick resource set (1 or co-scheduling)
- Assign tasks within that resource
- User is currently the most common “Grid Scheduler”
- GGF defined 10 steps currently performed by Grid-level schedulers

- Nov 12, 2004

## Context, cont.

- Grid schedulers aren’t Local Resource Managers (LRMS)
- no ownership or control over resources
- jobs get submitted to LRMS as user
- Grid scheduler doesn’t have control or often even info about job submitted at this level
- Some project one-off solutions but nothing really production yet

- Nov 12, 2004

## In a nutshell...

- Nov 12, 2004

## Our interests...

**Our interests...**

- Nov 12, 2004

## 2. Application Definition

- User:
- Generally user defined
- Often inaccurate, incomplete
- Ideally:
- Smart compilers or other tools to automatically generate information about application requirements and runtimes
- Today’s systems:
- User defined at the command line info or Condor ClassAds

- Nov 12, 2004

## Application Definition for Us

- Predict resource requirements for different algorithms
- We will need basic data about what should run where
- NOT flop counts – memory, disk, etc will also matter
- Basic benchmarks on known machines might work?
- How will we evaluate tradeoffs?

- Nov 12, 2004

## 4. Information Gathering

- Dynamic searches to match resources with application requirements
- User:
- Might use Grid Info System (GIS) like the Globus MDS or might just know

- Nov 12, 2004

## Information Gathering For Us

- What data do we need?
- What is the right way to collect it?
- How long will it remain valid (update rates)
- What are the dependencies?

- Nov 12, 2004

## 5. System Selection

- Matching between resources and application information
- May involve 2 steps – choosing resource(s) and then mapping tasks within that choice
- Closely tied to what data you have available
- Users:
- Best estimate
- What is needed:
- Matches based on current information, using variance information and other predictions
- Today’s systems:
- Condor - matchmaking
- PBS - heuristic algorithms
- Maui/Silver - submit to local sites, evaluate

- Nov 12, 2004

## System Selection For Us

- What data do we have
- Selection of resources vs mapping within a resource
- Tradeoffs between algorithm complexity and resource “strength”
- Optimization function is completion time? Cost? Level of detail with a deadline?

- Nov 12, 2004

## Resources

- 2 intro papers by Foster et al.
- Anatomy of the Grid  &  Physiology of the Grid
- _[www.globus.org](http://www.globus.org/)_ -- then to publications
- Grid scheduling
- “Ten Actions When Grid Scheduling”, Jennifer M. Schopf, Chapter 2 in **Grid Resource Management for Grid Computing**, Kluwer Publishing, October 2003.
- “Ten Actions When SuperScheduling”, Jennifer M. Schopf, Global Grid Forum Document GFD.04, 2003
- _[www.mcs.anl.gov/~jms/Pubs/sched.arch.2002.pdf](http://www.mcs.anl.gov/~jms/Pubs/sched.arch.2002.pdf)_
- This talk:
- _[www.](http://www.mcs.anl.gov/~jms/Talks)__[mcs](http://www.mcs.anl.gov/~jms/Talks)__[.](http://www.mcs.anl.gov/~jms/Talks)__[anl](http://www.mcs.anl.gov/~jms/Talks)__[.](http://www.mcs.anl.gov/~jms/Talks)__[gov](http://www.mcs.anl.gov/~jms/Talks)__[/~jms/Talks](http://www.mcs.anl.gov/~jms/Talks)_ (not there yet)

- Nov 12, 2004

## 1. Authorization Filtering

- Where do you have an account?
- User:
- List in a drawer
- Ideally:
- A “wallet” of credentials, smart enough to remember my username at different sites as well

- Nov 12, 2004

## 3. Minimum Requirement Filtering

- Use static data to limit the search space
- Used to cut down dynamic queries needed
- Can be combined with dynamic search (4)
- User:
- I know I need Linux, don’t consider running on other machines

- Nov 12, 2004

## 6. Advance Reservation (Optional)

- Reserve resources in a guaranteed way
- Users:
- Call up sys admins and friends (call, on the phone...)
- Ideally:
- Automatically done when you submit a job based on user requirements
- Current systems
- Enabled in PBSPro and Maui

- Nov 12, 2004

## 7. Job Submission

- Run the job on the resources selected
- User
- Qsub
- Ideally
- “Make it so”
- Current systems
- Each has it’s own API

- Nov 12, 2004

## 8. Preparation tasks(11. Clean-up tasks)

- File transfers, directory set ups
- Users
- Scp, ftp, mkdir
- Ideally
- Automatically done as part of job submission
- Current systems
- Condor/DagMan can do file staging

- Nov 12, 2004

## 9. Monitoring Progress

- How is my job doing?
- Should I move it somewhere else?
- Users:
- qstat
- Moving is hard to do, so generally not done
- Ideally:
- System takes care of it based on intuitive knowledge of user requirements, and good prediction techniques
- Current Systems:
- Every LRMS has a stat command

- Nov 12, 2004