• No results found

The Quality of Service on the Grid with User Level Scheduling

N/A
N/A
Protected

Academic year: 2022

Share "The Quality of Service on the Grid with User Level Scheduling"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

Enabling Grids for E­sciencE

www.eu­egee.org

The Quality of Service on the Grid with  User­Level Scheduling

Jakub T. Moscicki CERN / IT

Informatics Institute Seminar, UvA, Amsterdam, September 1st 2006

Q/A: answers to some of the questions during the seminar

(2)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

Q/A: answers to some of the questions during the seminar

(3)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability, efficiency

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

(4)

Enabling Grids for E­sciencE

Context

ARDA Project 

– enabling applications and users on the Grid

Users

– High Energy Physics: LHC experiments – EGEE:  biomed, special acitvities

Grid

– LCG and EGEE Grid

the largest Grid infrastructure to date

over 200 sites

over 20K worker nodes

over 5 Pb of storage

(5)

Enabling Grids for E­sciencE

(6)

Enabling Grids for E­sciencE

Main Grid Characteristics

Grid

– federation of heterogeneous computing and storage resources

effects of scale:

efficiency

o far less efficient than in the local, optimized, smaller systems

reliability and failures

o brokering 

o site/application configuration

user view point

looks like a large batch system

jobs are monolithic and mostly unrelated

o Q/A: this is NOT application assumption: currently LCG resource brokers do not support  any dependencies between jobs, in new gLite middleware support bulk­job submission  for optimizing submission of jobs which share common sandbox

o some CEs however (such as Condor­based) support DAGs

(7)

Enabling Grids for E­sciencE

Grid job submission chain

– UI ­> RB ­> CE ­> BS ­> WN

– scheduling decisions based on the monitoring system  – simple failure recovery: JDL retry count

Grid Job Submission Chain

(8)

Enabling Grids for E­sciencE

Submission performance

Credits to H.C.Lee and ARDA team

(9)

Enabling Grids for E­sciencE

Reliability and Failures: Brokering

Example:

Reliability and Failures

brokering and info system

sites instability

...

Credits to P.Saiz and ARDA team

(10)

Enabling Grids for E­sciencE

Configuration/application errors

configuration/application errors

compiler,tools,... version mismatch

wrong environment

missing application files

installed application software not up­to­date

– Example: 5 sites, 5 different problems

Problems related to a Geant­4 application on WNs

grid­ce0.desy.de:2119/jobmanager­lcgpbs­geant 

problem with setenv DIANE_PYTHON_INCLUDE_DIR /usr/include/python2.2  tbn20.nikhef.nl:2119/jobmanager­pbs­qlong 

problem of aida­config: Operating system version 'CentOS release 3.7 (Final)' is not supported, sorry. 

grid109.kfki.hu:2119/jobmanager­lcgpbs­geant4 

g++: Internal error: Segmentation fault (program cc1plus)  ce102.cern.ch:2119/jobmanager­lcglsf­grid_gea 

GNUmakefile:28: /afs/cern.ch/project/gd/apps/geant4/dirInstallations/dirGeant4­7.1.p01/config/binmake.gmk: No such file or directory  The problem is that at CERN version 4.7.1.p01 is NOT available. 

lcg­ce0.ifh.de:2119/jobmanager­lcgpbs­geant4 

swig: error while loading shared libraries: libstdc++­libc6.2­2.so.3: cannot open shared object file: No such file or directory

(11)

Enabling Grids for E­sciencE

Applications

Some applications from our work environment data analysis

extraction of (statistical) parameters from data: event loop

(quasi­)interactivity

you may want to see the evolution of the parameter (e.g. histogram) and take a  decision to change input cuts,....

Monte Carlo simulation

obtaining parameters or building images by generating large number of independent  events

radiotherapy example:

you may want to see the energy deposits in the tissues  given geometry approximation, radioactive dose etc. 

testing activities: geant 4 regression test

running a large number of jobs in various configurations (parameter sweep) avian flu : check a number of drug candidates for by docking (­> details later) special activities: ITU frequency analysis (­> detail later)

(12)

Enabling Grids for E­sciencE

Class of Applications

Class of Applications

– loose to moderate coupling

no or few synchronization points

e.g.: computing intensive

e.g.: data intensive if data movements not considered

assumed that data is available locally

o either by policy (eg. LHCb computing model for analysis assumes all data replicated in  Tier1 sites) ­> the data management tends to be simplified with time in HEP...

o or on demand, before the job starts 

– low communication to computing ratio

more real work than communication

Type of parallelism

– iterative decomposition (including parameter sweep) – embarrassingly parallel applications

(13)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

(14)

Enabling Grids for E­sciencE

Existing Quality of Service Concepts

• QoS concepts 

QoS historically refers to networking: latency, throughput, jitter, package loss 

QoS efforts in parallel/distributed computing seem to be focused on the network  issues as well ­> communication intensive (not surprising)

 example: MPICH­GQ, GARA 

• QoS types

Hard QoS

you have a guarantee that QoS requirements will be met

Soft QoS

statistically your QoS requirements will be met

on average the QoS parameters will be improved

what QoS is from a Grid user point of view for our class of 

applications?

(15)

Enabling Grids for E­sciencE

Definition of the Quality of Service

the computing system provides an appropriate QoS if it responds in an  acceptable way to the user and is capable of automatically maintaining the 

processing goals defined by the user (measured by metrics) 

• keep in mind:

• in the Grid the basic interaction of a user is sending jobs

either directly or indirectly via a portal

• response 

(depends on the nature of the application: interactive, batch, mixed)

• obtaining (maybe partial) results of the processing

• e.g. for the on­the­fly analysis

• estimation/prediction of how the processing will evolve  

(16)

Enabling Grids for E­sciencE

QoS Metrics

•QoS metrics (measure of user­defined goals)

• turnaround time (typically minimize the total execution time of the job) 

• response latency (time for the first N partial results to arrive) 

•the feedback curve (e.g. filling histograms with events ­> significance of individual  partial results decreases with time) 

• response order 

•i.e. order of arrival of the partial results (application specific) 

• output rate stability

• make sure that partial results arrive at predictable intervals (jiiter) 

• failure rate

•automatic and efficient coping with failures

recall data analysis

recall MC simulation

(17)

Enabling Grids for E­sciencE

Mechanisms for better QoS 

In general QoS in NOT implemented on the Grid

Techniques for performance related metrics

– dedication of resources (wasteful) – advanced reservations

difficult for some users who do not plan ahead interactive work

– better scheduling: fast/slow queues (site configuration) – preemption: suspend lower priority job

– migration: suspend and migrate elsewhere

– better brokering: forecasting using monitoring systems (e.g. NWS)

Techniques for failure related metrics

– metascheduling (JDL retry count, Condor)

Techniques for application­specific metrics

– metascheduling (not generally implemented, e.g. out of scope of DAGs)

(18)

Enabling Grids for E­sciencE

QoS Implementation Choices

QoS implementation

– site service modifications

faster queues, scheduler modifications e.g. virtualization schemes with MAUI

– middleware modification

checkpointing/migration, special services (e.g. GARA), Virtual Machines

– system level modifications (unix kernel modules, special I/O) – user­level overlay schedulers (plot jobs, agents,...)

Boundary conditions

– acceptance/deployment of middleware changes (very slow due organizational  constraints)

– resource providers' constraints (site changes)

many sites cannot freely change their software (serving also non­grid users)

sysadmins do not like sudo­like programs

– interfacing applications

including legacy ones

(19)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

(20)

Enabling Grids for E­sciencE

Related Work

User level (Grid Overlays)

– production systems of LHCb experiments:

DIRAC, AliEn: pilot jobs with central task queue

permanent, VO­specific services, VO­Boxes on the sites,...

– specialized schedulers embedded into the applications

gPTM3D: interactive medical analysis application (DICOM images)

– AppLeS APST: parameter sweep templates

brokering based on NWS

– Condor M/W

System level

– VRes: time sharing with virtual reservations with MAUI scheduler – SLAs

– GARA (General Purpose Architecture for Reservation and Allocation)

attempt to create a middleware standard (not deployed on the Grid)

– Virtual Machines (PlanetLab,...)

(21)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

(22)

Enabling Grids for E­sciencE

DIANE ­ User Level Scheduling Tool

DIANE – DIstributed ANalysis Environment

– User Level Scheduling tool

– provide improved QoS characteristics 

Design goals

– easy to interface to existing applications – customizable on per­application basis

failure recovery algorithm

scheduling algorithm

– very easy to deploy ­> no modifications to the middleware, services, ...

– flexible: mix grid and non­grid resources

important for many users

(23)

Enabling Grids for E­sciencE

Overlay virtual cluster

User level scheduler for fine­grained task control

add­on application­oriented optimization layer in Master/Worker model

– Overlay virtual cluster

worker agents are sent as regular Grid jobs

master agent is run locally (e.g. Grid UI)

all agents exist for the time of a single run only

all agents run with user credentials

– Brokering of worker agents is done externally

“virtual cluster”

Q/A: no queueing at worker agents  is done in  the current implementation

(24)

Enabling Grids for E­sciencE

Parametric task model

parametric tasks

– automatic job splitting into (parametrized) tasks – master sends task parameters to the workers

– migration and checkpointing may be emulated easily – at the granularity of atomic tasks

– master may take scheduling decisions

Master

Worker A Worker B Worker C

 (a2,b2,c2) (a3,b3,c3)  

ErrorRecoveryPolicy TaskDispatchingPolicy

task parameter list    (a1,b1,c1)    done

   (a2,b2,c2)    assigned C    (a3,b3,c3)    assigned A    (a4,b4,c4)    failed

(25)

Enabling Grids for E­sciencE

“original” 

application

distributed component framework

transparent to applications

behind the scenes: message passing, synchronization, heart­beat checks... 

application components loaded in a plugin style and called back only when needed

very easy application integration via python adapter classes

DIANE Application Interfacing

“original” 

application

(26)

Enabling Grids for E­sciencE

Runtime Policies

Customizable algorithms

– Master behaviour may be modified on per­application or per­job basis: 

insert python functions into the “JDL”

application specific error recovery

task dispatching (e.g. for data access, 

redundant scheduling, time synchronization)

other synchronization patterns

divide­and­conquer

pipeline

master serves as a  synchronization point

def failRecoveryIgnore(self): 

  for t in self.master.tasks.failed():

    t.ignore()   return 1

def failRecoveryThreshold(self):

       failure_no = reduce

(add_failures,self.master.tasks.failed,0)        for t in self.master.tasks.failed:

      t.retry()

       return failure_no < 

self.master.tasks.number*0.1

(27)

Enabling Grids for E­sciencE

 

task was  reassigned  to other  nodes

Policy example: backup tasks

def matchTasksToWorkers(self):

    unassigned = self.master.tasks.unassigned[:]

    if len(self.master.workers.ready) > len(self.master.tasks.unassigned):

      unassigned += self.master.tasks.unfinished()     return zip(unassigned,ready)

policy function inserted into “JDL”

similar strategy used by  Google to improve

performance of search  and indexing algorithms (MapReduce)

(28)

Enabling Grids for E­sciencE

Performance Profile

startup overhead (submission)

transient network problem  or worker crash

tail effects: CPU / task length differences

(29)

Enabling Grids for E­sciencE

Operation modes

Operation modes

on­the­fly virtual M/W network for each job

fair­share, default

only soft QoS

preallocation of resources

have many workers available at once at certain moment of time (peak­performance)

currently blocking the resources

but hard QoS possible if you are willing to “pay” for it

(30)

Enabling Grids for E­sciencE

Achieved goals

Achieved goals

– improved soft QoS characteristics

automatic load balancing at a very fine­grained level

shorter turnaround time (avoiding brokering overhead)

more stable and predictable job output rate

faster error recovery

– used by several applications ­> details later

easy to interface to existing applications

– customizable on per­application basis

– self­contained running within single user Grid jobs

very easy to deploy ­> no modifications to the middleware, services, ...

– worker brokering done externally

flexible: possible to mix grid and non­grid resources

– resource conservation in on­the­fly mode

fair­share in multi­user environment

(31)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

(32)

Enabling Grids for E­sciencE

QoS Metric: output rate stability

 Comparison of G4 Production on LCG: DIANE and direct submission

• 6 sites / 173 CPUs / 100 VO­shared, 70 VO­dedicated

• 207 tasks, direct: 1 task = 1 job, DIANE workers: 1/3 of shared CPUs, ½ of dedicated CPUs

Credits to P. Mendez and ARDA team

(33)

Enabling Grids for E­sciencE

Performance

Scalability/performance of current implementation

– turnaround time: 40K ultrashort jobs (tasks) in 1 hour – failure rate: < 3*e­04 (mostly 0)

– max number of simultaneous workers: 400 (for occupancy > 99%) – in/out task rate 110Hz

equivalent to 4 seconds task length for 400 workers

– longest sustained processing period: 3 weeks – max number of registered workers: ~1000

(34)

Enabling Grids for E­sciencE

Task lenght overhead

Test environment:16 CPU hours, cluster

max: 289 workers

data msg test (next slide)

(35)

Enabling Grids for E­sciencE

Message Size Overhead (1)

10Kb

100Kb

200Kb

~100 WNs,  30 s / task, 1000 tasks

(36)

Enabling Grids for E­sciencE

Message Size Overhead (2)

<=10Kb

100Kb

200Kb

~100 WNs,  30 s / task, 1000 tasks

(37)

Enabling Grids for E­sciencE

ITU RRC06

International Telecommunication Union – ITU: oldest UN agency (17 May 1865)

– ITU/BR: Radio­communication Sector

 “management of the radio­frequency spectrum and satellite orbits for fixed,  mobile, broadcasting and other communication services“

RRC­06 (15 May–16 June 2006)

120 countries (~1200 delegates) negotiated the new  digital frequency plan

a part of a new international agreement introduction of digital broadcasting

UHF (470­862 Mhz)

VHF (174­230 Mhz)

preceded by RRC­04 and other international  meetings

(38)

Enabling Grids for E­sciencE

Frequency Planning

Goal: validate the frequency plan

– around 200K “requirements” (corresponding to “jobs”/”events”)

individual transmitters, service areas in all countries

both digital and analogue

Planning cycle during the conference

– compatibility analysis

detect frequency clashes between requirements

in the scope of our activity using distributed resources

– 4 major iterations for global plan (weekends)

few minor cycles for certain regions (mid­week)

Computing requirements

– each run ~500 CPU hours – 12h hard time limit

– dependability: correctness (cross­checking numerical results), availability

(39)

Enabling Grids for E­sciencE

Computation Structure 

– Total plan: max 425 CPUh (was 750CPUh) – Hard time limit: 12 h

– Unbalanced execution time of the requirements

from seconds to 1.5 hours

unpredictably changing with every planning iteration

shape of the country makes a  difference to spatial complexity of  the frequency optimization

execution time of tasks (first iteration)

(40)

Enabling Grids for E­sciencE

Operations: major iterations

Summary of major iterations

 run #req   #task  time start          stop         CPUh  #WN       comment

 1 243K  26K    6.40h 21:20 04:00 425h   190    lost <10 tasks (3*e­04)  2 237K  23K    6.30h 19:10 01:25 332h   125    lost 1 task   (4*e­05)  3 224K  40K    3.05h 22:50 00:26 192h   210    OK

 4 218K  39K    1.05h 22:18 23:23 151h   320    OK Some observations:

 CPUh and req decreasing:

 subsequent plans have less    clashes

 3,4 high granularity splitting

 variable #WN 

 high­reliability

 late Friday afternoon ;­)

variable #WN example: iteration 4

(41)

Enabling Grids for E­sciencE

Example of ITU run

ITU job example:

 116 LCG workers

 3470 tasks

 ~130 CPU h large span of task  length

not a priori known!

27%

64%

(42)

Enabling Grids for E­sciencE

Operations: EGEE Grid

Usage of the sites – Example: iteration 2

– CERN largest contributor (38%)  – 62% from the Grid

(43)

Enabling Grids for E­sciencE

Sucesses

Main goal

– provide enough computing power to ensure the successful achievement of the  international broadcasting agreement ­ fully accomplished!

talk of IT department head on RRC06 plenary session

Other goals:

– enabled new user community on the EGEE Grid

users trained to be autonomous (despite extended consultancy)

in short time and relatively easy

– demonstrated that with User Level Scheduling EGEE Grid may be used for  applications with QoS requirements

– we have learned a lot!

(44)

Enabling Grids for E­sciencE

(45)

Enabling Grids for E­sciencE

(46)

Enabling Grids for E­sciencE

(47)

Enabling Grids for E­sciencE

(48)

Enabling Grids for E­sciencE

Contents

Motivation

– Context: between Grid users/applications and middleware providers – Grid characteristics: submission chain, reliability

– Applications: examples, relevant class

Research Objectives

– QoS: metrics, techniques and implementation choices, boundary conditions

Related Work

User­level scheduling system

– architecture principles: parametric tasks, policy functions – interaction with the Grid and application interfacing

Experimental Results

– QoS metrics improvement examples – success stories

Research Outlook

(49)

Enabling Grids for E­sciencE

Performance Model

Formalize the performance model

– resources are available in time slots (latency, duration) – failure rate

Check how share­fairness is affected

– user­level scheduling tends to monopolize the resources – use shorter slots? startup overhead (submission)

transient network problem  or worker crash

tail effects: CPU / task length differences

(50)

Enabling Grids for E­sciencE

QoS Enforcement

Formalize the QoS metrics

– fuzzy metrics (specify the range of acceptable values)

improve the QoS runtime support

– dynamic decomposition (vary the splitting granularity at runtime)

example: to reduce the message impact rate, allocate bunches of tasks which  then may be decomposed if needed (“simulated checkpointing”)

more autonomous workers

– measurements of the runtime performance 

do application benchmarking on small samples

apply static application performance knowledge

– forecasting of the QoS accomplishment with the defined metrics 

(51)

Enabling Grids for E­sciencE

Other directions

hard QoS requirements

– floating pool of workers shared by users

– each user contributes part of the resources to the pool – workers may be drawn from the pool for minimal latency

framework as the general processing control vehicle

– workflows and pipelines (maybe) – muti­masters (master tree)

mapping naturally to the Grid structure (CEs)...

multiple task synchronization points

should scale better

sub­masters could be more autonomous

(52)

Enabling Grids for E­sciencE

Feedback

DIANE download and more information:

http://cern.ch/diane

Contact: Jakub.Moscicki AT cern.ch

...please do not hesitate to get in touch if you have questions or ideas...

References

Related documents

Figure 14A and B indicates that the serum ALT and AST of healthy ICR mice treated with 20,000 nmol/ kg of HMCEF are at the same level as that of healthy ICR

- Comparative qualitative analysis of essential oils in species Satureja subspicata showed similarities with other species from Lamiaceae family such as Th ymus L. In fact,

The operational definition is the model you can test for reliability and validity using the tools of science.. Once validated at some level, the operational definition could then

A Semiotic Approach to Conflict Transformation: Can Signs and Symbols Help Make Peace.. Samuel

The psychological reactions of the young population to the ischemic stroke were depression, anxiety, somatization, interpersonal sensitivity, phobic anxiety, and psychoticism

Program Database Toolkit (PDT) Application / Library C / C++ parser Fortran parser F77/90/95 C / C++ IL analyzer Fortran IL analyzer Program Database Files IL IL DUCTAPE PDBhtml

The defendants are variously charged with enterprise corruption, first- and second-degree identity theft, third- and fourth-degree grand larceny, second-degree criminal possession of

[This list is not exhaustive] – Please contact the laboratory if confirmation of a positive result is required EDDP ( cut-off conc. 100ng/mL) Drugs producing positive