54
www.eu-eela.org E-infrastructure shared between Europe and Latin America 12th EELA Tutorial for Users and System Administrators Architecture of gLite WMS (Workload Management System) Yubiryn Ramírez ULA - Mérida 12th EELA Tutorial Users Lima, 25.09.2007

Architecture of gLite WMS (Workload Management System)

Embed Size (px)

DESCRIPTION

Architecture of gLite WMS (Workload Management System). Yubiryn Ramírez ULA - Mérida 12th EELA Tutorial Users Lima, 25.09.2007. This presentation is based on previous gLite presentations. Outline. Overview of WMS Architecture Job Description Languaje Overview WMProxy overview - PowerPoint PPT Presentation

Citation preview

Page 1: Architecture of gLite WMS (Workload Management System)

www.eu-eela.org

E-infrastructure shared between Europe and Latin America

12th EELA Tutorial for Users and System Administrators

Architecture of gLite WMS (Workload Management System)

Yubiryn Ramírez

ULA - Mérida

12th EELA Tutorial Users

Lima, 25.09.2007

Page 2: Architecture of gLite WMS (Workload Management System)

2

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

This presentation is based on previous

gLite presentations

Page 3: Architecture of gLite WMS (Workload Management System)

3

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• Overview of WMS Architecture

• Job Description Languaje Overview

• WMProxy overview

• References

Outline

Page 4: Architecture of gLite WMS (Workload Management System)

4

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Architecture of the gLite WMS

Page 5: Architecture of gLite WMS (Workload Management System)

5

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Overview of gLite Middleware

Overview of gLite Middleware

Page 6: Architecture of gLite WMS (Workload Management System)

6

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Workload Management System

• The The Workload Management SystemWorkload Management System (WMS) comprises a set of Grid middleware components responsible for distribution and management of tasks across Grid resources.

• The purpose of the Workload Manager (WM) is accept and satisfy requests for job management coming from its clients– meaning of the submission request is to pass the

responsibility of the job to the WM. WM will pass the job to an appropriate CE for execution

• taking into account requirements and the preferences expressed in the job description file

• The decision of which resource should be used is the outcome of a matchmakingmatchmaking process.

Page 7: Architecture of gLite WMS (Workload Management System)

7

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Job managementJob managementrequests (submission, requests (submission, cancellation) expressedcancellation) expressed

via a Job Descriptionvia a Job DescriptionLanguage (JDL)Language (JDL)

New! New!

New!

WMS Overall Architecture

Page 8: Architecture of gLite WMS (Workload Management System)

8

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Job managementJob managementrequests (submission, requests (submission, cancellation) expressedcancellation) expressed

via a Job Descriptionvia a Job DescriptionLanguage (JDL)Language (JDL)

Finds an appropriateFinds an appropriateCE for each submission CE for each submission

request, taking into account request, taking into account job requests and preferences, job requests and preferences, Grid status, utilization policies Grid status, utilization policies

on resourceson resources

New! New!

New!

WMS Overall Architecture

Page 9: Architecture of gLite WMS (Workload Management System)

9

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Job managementJob managementrequests (submission, requests (submission, cancellation) expressedcancellation) expressed

via a Job Descriptionvia a Job DescriptionLanguage (JDL)Language (JDL)

Keeps submission Keeps submission requestsrequests

Requests are keptRequests are kept for a whilefor a while

if no resources are if no resources are immediately availableimmediately available

New! New!

New!

WMS Overall Architecture

Page 10: Architecture of gLite WMS (Workload Management System)

10

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Job managementJob managementrequests (submission, requests (submission, cancellation) expressedcancellation) expressed

via a Job Descriptionvia a Job DescriptionLanguage (JDL)Language (JDL)

Keeps submission Keeps submission requestsrequests

Requests are keptRequests are kept for a whilefor a while

if no resources are if no resources are immediately availableimmediately available

Repository of resourceRepository of resource informationinformation

available to matchmakeravailable to matchmaker

Updated via notifications Updated via notifications and/or active and/or active

polling on resourcespolling on resources

New! New!

New!

WMS Overall Architecture

Page 11: Architecture of gLite WMS (Workload Management System)

11

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Performs the actual Performs the actual job submission job submission and monitoringand monitoring

New! New!

New!

WMS Overall Architecture

Page 12: Architecture of gLite WMS (Workload Management System)

12

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

WMS Scheduling policies

• A WM can adopt different policies to schedule a job:

– Eager scheduling: a job is bound to a resource as soon as possible once the decision has been taken, the job is passed to the

selected resource for execution

– Lazy scheduling: a job is held by the WM until a resource becomes available when this happen, the resource is matched against the submitted

jobs

– Intermediate approches are possible

Page 13: Architecture of gLite WMS (Workload Management System)

13

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• The Network Server (NS) is a generic network daemon that provides support for the job control functionality. It is responsible for accepting incoming requests from the WMS-UI (e.g. job submission, job removal), which, if valid, are then passed to the Workload Manager.

WMS Components - Network Server

Page 14: Architecture of gLite WMS (Workload Management System)

14

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

WMS Components

• Workload Manager (WM)

It is the core of WMS

Given a valid request the WM take appropriate action to satisfy it.

It need support from other components.

• Resource Broker(MatchMaker) RB

It provides a matchmaking service.

It finds the resources that best match the request.

Page 15: Architecture of gLite WMS (Workload Management System)

15

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

WMS - WMProxy

• Workload Manager Proxy (WMProxy):

It is a service providing access to WMS functionality through Web Services based interface

– Each job submitted to a WMProxy Service is given the delegated credentials of the user who submitted it.

– These credentials can then be used to perform operation that require interaction with other services

– WMProxy advantages:Web service, SOAPJob collections, DAG jobs, shared and compressedSandboxes

– WMProxy caveat:Needs delegated credentialsDelegate once,submit many

New!

Page 16: Architecture of gLite WMS (Workload Management System)

16

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

WMS Information Supermarket (ISM)

• ISM represents one of the most notable improvements in the WM

• The ISM basically consists of a repository of resource information that is available in read only mode to the matchmaking engine

– the update is the result of the arrival of notifications active polling of resources some arbitrary combination of both

Page 17: Architecture of gLite WMS (Workload Management System)

17

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

WMS Task Queue

• The Task Queue represents the second most notable improvement in the WM internal design

– possibility to keep a submission request for a while if no resources are immediately available that match the job requirements technique used by the AliEn and Condor systems

• Non-matching requests – will be retried either periodically

eager scheduling approach– or as soon as notifications of available resources appear in the

ISM lazy scheduling approach

Page 18: Architecture of gLite WMS (Workload Management System)

18

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• Job Adapter (JA)is responsible for

making the final touches to the JDL expression for a job, before it is passed to CondorC for the actual submission

creating the job wrapper script that creates the appropriate execution environment in the CE worker node

• transfer of the input and of the output sandboxes

• CondorC Is responsible for

performing the actual job management operations • job submission, job removal

WMS Job Submission Servive

Page 19: Architecture of gLite WMS (Workload Management System)

19

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• DAG Manager (DAGMan)– meta-scheduler from Condor

purpose is to navigate the graph determine which nodes are free of dependencies follow the execution of the corresponding jobs

WMS Job Submission Servive

New!

Page 20: Architecture of gLite WMS (Workload Management System)

20

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• Log Monitor (LM)is responsible for

watching the CondorC log file intercepting interesting events concerning active jobs

• Proxy Renewal Serviceis responsible for assuring that,

for all the lifetime of a job, a valid user proxy exists within the WMS

MyProxy Server is contacted in order to renew the user's credential

WMS Job Submission Servive

Page 21: Architecture of gLite WMS (Workload Management System)

21

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• Logging & Bookkeeping (LB)is responsible for

Storing events generated by the various components of the WMS

Delivering to the user information about the job‘s status

WMS Job Submission Servive

Page 22: Architecture of gLite WMS (Workload Management System)

22

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (1/9)Submitted job is entered by the user to the User Interface but not yet transferred to Network Server for processing

WMS Job Submission Service

Page 23: Architecture of gLite WMS (Workload Management System)

23

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (2/9)

Waiting job accepted by NS and waiting for Workload Manager processing or being processed by WMHelper modules.

WMS Job Submission Servive

Page 24: Architecture of gLite WMS (Workload Management System)

24

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (3/9)Ready job processed by WM but not yet transferred to the CE (local batch system queue).

WMS Job Submission Servive

Page 25: Architecture of gLite WMS (Workload Management System)

25

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (4/9)Scheduled job waiting in the queue on the CE.

WMS Job Submission Servive

Page 26: Architecture of gLite WMS (Workload Management System)

26

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (5/9)

Running job is running.

WMS Job Submission Servive

Page 27: Architecture of gLite WMS (Workload Management System)

27

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (6/9)

Done job exited or considered to be in a terminal state by CondorC (e.g., submission to CE has failed in an unrecoverable way).

WMS Job Submission Servive

Page 28: Architecture of gLite WMS (Workload Management System)

28

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (7/9)

Aborted job processing was aborted by WMS (waiting in the WM queue or CE for too long, expiration of user credentials).

WMS Job Submission Servive

Page 29: Architecture of gLite WMS (Workload Management System)

29

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (8/9)Cancelled job has been successfully canceled on user request.

WMS Job Submission Servive

Page 30: Architecture of gLite WMS (Workload Management System)

30

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Jobs State Machine (9/9)

Cleared output sandbox was transferred to the user or removed due to the timeout.

WMS Job Submission Servive

Page 31: Architecture of gLite WMS (Workload Management System)

31

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

““User User interface”interface”

““possible possible operations”operations”

Find the list of resources suitable to run a specific job

Submit a job/DAG for execution on a remote Computing Element

Check the status of a submitted job/DAG

Cancel one or more submitted jobs/DAGs

Retrieve the output files of a completed job/DAG (output sandbox)

Retrieve and display bookkeeping information about submitted jobs/DAGs

Retrieve and display logging information about submitted jobs/DAGs

Retrieve checkpoint states of a submitted checkpointable job

Start a local listener for an interactive job

Service Architecture

Page 32: Architecture of gLite WMS (Workload Management System)

32

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• The most relevant commands to interact with the WMS (NS):– edg-job-submit <jdl_file>– edg-job-list-match <jdl_file>– edg-job-status <job_Id>– edg-job-get-output <job_Id>– edg-job-cancel <job_Id>

• In gLite 3.0:– glite-job-submit <jdl_file>– glite-job-list-match <jdl_file>– glite-job-status <job_Id>– glite-job-output <job_Id>– glite-job-cancel <job_Id>

Command Line Interface

Page 33: Architecture of gLite WMS (Workload Management System)

33

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Command Line Interface

• Job Submission– Perform the job submission to the Grid.

$ edg-job-submit [options] <jdl_file>

$ glite-job-submit [options] <jdl_file>

– where <jdl file> is a file containing the job description, usually with extension .jdl.

Command Line Interface

Page 34: Architecture of gLite WMS (Workload Management System)

34

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Job Description Language

Page 35: Architecture of gLite WMS (Workload Management System)

35

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• The JDL is used in gLite to specify the job’s characteristics and constrains, which are used during

the match-making processmatch-making process to select the best resources that satisfy job’s requirements.

Job Description Languaje

Page 36: Architecture of gLite WMS (Workload Management System)

36

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

The JDL syntax JDL syntax consists on statements like:• Attribute = value;Attribute = value;

Comments must be preceded by a sharp character

( ## ) or have to follow the C++ syntax

• WARNING: The JDL is sensitive to blank

• characters and tabs. No blank characters• or tabs should follow the

• semicolon at the end of a line.

JDL syntax

Page 37: Architecture of gLite WMS (Workload Management System)

E-infrastructure shared between Europe and Latin America

In a JDL, some attributes are mandatory while others are optional.

An “essential” JDL is the following:

Executable = “test.sh”;

StdOutput = “std.out”;

StdError = “std.err”;

InputSandbox = {“test.sh”};

OutputSandbox = {“std.out”,”std.err”};

If needed, arguments to the executable can be passed:

Arguments = “Hello World!”;

JDL Syntax

Page 38: Architecture of gLite WMS (Workload Management System)

38

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

If the argument contains quoted strings, the quotes must be escaped with a backslash

e.g. Arguments = “\”Hello World!\“ 10”;

Special characters such as &, |, >, < are only allowed if specified inside a quoted string or preceded by triple \

e.g. Arguments = "-f file1\\\&file2";

JDL syntax

Page 39: Architecture of gLite WMS (Workload Management System)

39

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• The JDL allows the description of the following request types supported by the WMS:

– Job: a simple application

– DAG: a direct acyclic graph of dependent jobs With WMProxy

– Collection: a set of independent jobs With WMProxy

Workload Manager Service

Page 40: Architecture of gLite WMS (Workload Management System)

40

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• The Workload Management System currently supports the following types for Jobs :

– Normal: a simple batch, a set of commands to be processed as single unit

– Interactive: a job whose standard streams are forwarded to the submitting client

– MPICH: a parallel application using MPICH-P4 implementation of MPI

– Partitionable: a job which is composed by a set of independent steps/iterations

Jobs

Page 41: Architecture of gLite WMS (Workload Management System)

41

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

– Checkpointable: a job able to save its state

– Parametric: a job whose JDL contains parametric attributes (e.g. Arguments, StdInput etc.) whose values can be made vary in order to obtain submission of several instances of similar jobs only differing for the value of the parameterized attributes.

Support for parametric jobs is only available when the submission to the WMS is done through the WMProxy service

Jobs

Page 42: Architecture of gLite WMS (Workload Management System)

42

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

JobTypeJobType (optional) Normal (simple, sequential job), Interactive, MPICH, Checkpointable, Partitionable, Parametric

Or combination of them

Checkpointable, Interactive

Checkpointable, MPI

• E.g.:– JobType = “Interactive”; JobType = “Interactive”; – JobType = {“Interactive”,”Checkpointable”};JobType = {“Interactive”,”Checkpointable”};

• ““Interactive” + “MPI” not yet permittedInteractive” + “MPI” not yet permitted

JDL Relevant Attributes

Page 43: Architecture of gLite WMS (Workload Management System)

43

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

ExecutableExecutable (mandatory)

This is a string representing the executable/command name.The user can specify an executable which is already on the remote CE

Executable = {“/opt/EGEODE/GCT/egeode.sh”};Executable = {“/opt/EGEODE/GCT/egeode.sh”};

The user can provide a local executable name, which will be staged from the UI to the WN.

Executable = {“egeode.sh”};Executable = {“egeode.sh”};InputSandbox = {“/home/larocca/egeode/egeode.sh”};InputSandbox = {“/home/larocca/egeode/egeode.sh”};

JDL Relevant Attributes

Page 44: Architecture of gLite WMS (Workload Management System)

44

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

ArgumentsArguments (optional)• This is a string containing all the job command

line arguments.

• E.g.: If your executable sum has to be started as:

$ sum N1 N2 –out result.out

Executable = “sum”;Executable = “sum”;

Arguments = “N1 N2 –out result.out”;Arguments = “N1 N2 –out result.out”;

JDL Relevant Attributes

Page 45: Architecture of gLite WMS (Workload Management System)

45

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

EnvironmentEnvironment (optional)

List of environment settings needed by the job to run properly

E.g. Environment = Environment = {“JAVA_HOME=/usr/java/j2sdk1.4.2_08”};{“JAVA_HOME=/usr/java/j2sdk1.4.2_08”};

InputSandboxInputSandbox (optional)

List of files on the UI local disk needed by the job for proper running

The listed files will be automatically staged to the remote resource

E.g. InputSandbox ={“myscript.sh”,”/tmp/cc.sh”};InputSandbox ={“myscript.sh”,”/tmp/cc.sh”};

JDL Relevant Attributes

Page 46: Architecture of gLite WMS (Workload Management System)

46

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

OutputSandboxOutputSandbox (optional)

List of files, generated by the job, which have to be retrieved from the CE

E.g. OutputSandbox ={ “std.out”,”std.err”, OutputSandbox ={ “std.out”,”std.err”, “image.png”};“image.png”};

JDL Relevant Attributes

Page 47: Architecture of gLite WMS (Workload Management System)

47

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

RequirementsRequirements (optional)Job requirements on computing resources Specified using attributes of resources published in the Information ServiceIf not specified, default value defined in UI configuration file is considered

Default. Requirements = Requirements = other.GlueCEStateStatus == other.GlueCEStateStatus == "Production“;"Production“;

Requirements=other.GlueCEUniqueID == “adc006.cern.ch:2119/jobmanager-pbs-infinite”

Requirements=Member(“ALICE-3.07.01”, other.GlueHostApplicationSoftwareRunTimeEnvironment);

JDL Relevant Attributes

Page 48: Architecture of gLite WMS (Workload Management System)

48

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Workload Manager Proxy

Page 49: Architecture of gLite WMS (Workload Management System)

49

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• WMProxy (Workload Manager Proxy)

– is a new service providing access to the gLite Workload Management System (WMS) functionality through a simple Web Services based interface.

– has been designed to handle a large number of requests for job submission

gLite 1.5 => ~180 secs for 500 jobs

goal is to get in the short term to ~60 secs for 1000 jobs

– it provides additional features such as bulk submission and the support for shared and compressed sandboxes for compound jobs.

– It’s the natural replacement of the NS in the passage to the SOA approach.

WMProxy

Page 50: Architecture of gLite WMS (Workload Management System)

50

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• Support for new types strongly relies on newly developed JDL converters and on the DAG submission support– all JDL conversions are performed on the server– a single submission for several jobs

• All new request types can be monitored and controlled through a single handle (the request id)– each sub-jobs can be however followed-up and

controlled independently through its own id• “Smarter” WMS client commands/API

– allow submission of DAGs, collections and parametric jobs exploiting the concept of “shared sandbox”

– allow automatic generation and submission of collections and DAGs from sets of JDL files located in user specified directories on the UI

New request types

Page 51: Architecture of gLite WMS (Workload Management System)

51

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• The commands to interact with WMProxy Service are:

glite-wms-job-submit <jdl_file>

glite-wms-job-list-match <jdl_file>

glite-wms-job-cancel <job_Ids>

glite-wms-job-output <job_Ids>

WMProxy C++ clients commands

Page 52: Architecture of gLite WMS (Workload Management System)

52

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• JDL Attributes:– http://server11.infn.it/workload-grid/docs/DataGrid-01-TE

N-0142-0_2.pdf– https://edms.cern.ch/document/590869/1– http://egee-jra1-wm.mi.infn.it/egee-jra1-wm/api_doc/wms

_jdl/index.html

• LCG-2 User Guide Manual Series:– https://edms.cern.ch/file/454439/LCG-2-UserGuide.html

References

Page 53: Architecture of gLite WMS (Workload Management System)

53

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

• gLite 3.0 User Guide

– https://edms.cern.ch/file/722398/1.1/gLite-3-UserGuide.pdf

• JDL attributes specification for WM proxy

– https://edms.cern.ch/document/590869/1

• WMProxy quickstart

– http://egee-jra1-wm.mi.infn.it/egee-jra1-wm/wmproxy_client_quickstart.shtml

• WMS user guides

– https://edms.cern.ch/document/572489/1

References

Page 54: Architecture of gLite WMS (Workload Management System)

54

E-infrastructure shared between Europe and Latin America

Lima, 12th EELA Tutorial, 24.09.2007

Questions …