20
HPCL HPCL High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing HPCL HPCL

High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

Embed Size (px)

Citation preview

Page 1: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Overview: Job Submission in EDG & Globus

November 2002

Wei Xing

HPCHPCLL

Page 2: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Outline

1. Job Submission User Interface Architecture

2. Job Status

3. Job Submission Procedure

4. Interaction with RB, CE, LB

5. Job Submission in Globus

6. Pro-prototype of GB Portal Design

HPCHPCLL

Page 3: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

EDG: Job Submission User Interface Architecture (1)

● Motivation

Providing basic access functionality to WMS (Workload Management System) services.

● 4 interacting components of WMS

– the User Interface (UI), – the Resource Broker (RB), – the Job Submission Service (JSS), – and the Logging and Booking (LB) service.

Page 4: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

EDG: Job Submission User Interface Architecture (2)

UI

RB

L&B

JSSGlobus

GRAM

Here we are

list

dg-jobId

JSS-jobId

local Q

Page 5: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job submission: Job Status

● Job Status : During its lifetime, a job may go through following states, and triggered by 10 events.

User

Submitted Waiting Ready Scheduled

Cleared

Chkpt

Done

Aborted

Running

Page 6: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

A Job Submission Example

UIJDL

ResourceBroker

Job SubmissionService

StorageElement

ComputeComputeElementElement

Information Service

Job Status

ReplicaCatalogue

Job SubmitEvent

Input Sandbox

submitted

waiting

Ready

Brokerinfo

Scheduled

Input Sandbox

running

Output Sandbox

done

Job Status

Output Sandbox

cleared

Page 7: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (UI)

● User client– Describe their jobs.– Submit their jobs.– Control the submitted jobs.– Monitor the status of the submitted jobs.– Get the output results.

Page 8: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (UI)

● Job description with JDL. The general JDL format:

attribute = value;values can be of different types: numeric, string, booleans, timestamps etc.

➢ Some attributes are used to describe the tecnical characteristics of the job.

Executable = ''sim.exe'';StdInput = ''dataset.in''

➢ Others are used to specify requirements for a CE.Requirements = other.OpSys == ''RH 6.2'' && other Arch == ''INTEL'';

Page 9: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (UI)

●Example of Hello World JDL file :

Executable = "/bin/echo";

Arguments = "Hello World !";

StdOutput = "Messagge.txt";

StdError = "stderr.log";

OutputSandbox = "Message.txt";

●User submission : dg-job-submit HelloWorld.jdl

Page 10: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (UI)

● Job identifier (grid-wide unique identifier) among UI, RB, and LB.

<LBname>/<UIname>/<time>/<PID>/<RND>/<RBname>

http://evelyn.nas.nasa.gov:13196/ /**LB server name & port*/ firefox.esrlin.esa.it/ /** UI machine name */ 1234023967007/ /** 12340 UI machine time;

23967 UI process ID;

007 random number */

datagrid.esrin.esa.it /** RB hostname & port */

Page 11: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (RB)

● Main task: Find the best suitable CE.– Direct job submission;

● UI contains a CEId● RB checks JDL syntax● Pass to JSS

– Job submission without data-access requirements;● Checks JDL syntax● RB starts the actual matchmaking algorithm to find the suitable Grid

resources matches the job requirements.● Pass to JSS

– Job submission with data-access requirements.● Checks JDL syntax● Interacts with RM services to find suitable CE & SE.● Pass to JSS

Page 12: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (JSS)

● Job Submission Service (JSS) is responsible for the actual job management operations, in particular to manage the job submission and job removal requests, interacting with CE .– Job sumission:

● receives JDL sent to RB by UI.● builds a ''wrapper'' of the user job and assign a jss-

jobId to this wrapper job, insert it in a local quene. ● Performs the actual job submission to the chosen

remote CE.

Page 13: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission Procedure (JSS)

● Job Removal– the RB requires the removal of a job;– the JSS receives a dg-jobId, finds the

correspondent jss-jobId;– inform the remote CE;– when it has been removed from CE, it is then

removed from the local quene. At last step, RB is notified.

Page 14: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Interaction with RB, CE, LB

● JSS (server) listens the requests from RB (client) continously.

● JSS interact with CE to request submission/ removal of jobs, query the status of submitted jobs, be informed on the completion of jobs.

● JSS pushes some events to LB.– JobAcceptedEvent– JobRefusedEvent– ......

Page 15: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Job Submission in Globus: GRAM & Globus

Grid SecurityInfrastructure

Job Manager

MDS client API callsto locate resources

Query current statusof resource

Create

RSL Library

Parse

RequestAllocate &

create processes

Process

Process

Process

Monitor &control

Client MDS: Grid Index Info Server

Gatekeeper

MDS: Grid Resource Info Server

Local Resource Manager

MDS client API callsto get resource info

GRAM client API statechange callbacks

Page 16: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Pro-prototype of GB Portal Design

CG User

Portal Server

GB Request Servlet

GB Execute Servlet

Roaming AccessServernew GB request

history request

submitt job

cancel jobget GBparam

generateJDL

saveresult

generateHTML

GB XML Archives

Work Flow Diagram

JSS

Page 17: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Use Case Diagram

Page 18: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Class Definition & UML Diagram

● Waiting …. ---:)

Page 19: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

Thanks for Ur Patience

Page 20: High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing

HPCHPCLL

High-Performance Computing Lab

● GASS/RSL Example● &(executable=https://quad:1234/~/myexe)

(stdin=https://quad:1234/~/myin) (stdout=/home/bester/output) (stderr=https://quad:1234/dev/stdout)