pbs job management and taskfarming

23
PBS Job Management and Taskfarming Joachim Wagner 2008-07-24

Upload: lewis

Post on 08-Jan-2016

29 views

Category:

Documents


1 download

DESCRIPTION

PBS Job Management and Taskfarming. Joachim Wagner 2008-07-24. Outline. Why do we need a cluster? Architecture Machines Software Job Management Running jobs Commands PBS Job discriptions Taskfarming Plans. Why do we need a cluster?. Resource conflicts - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PBS Job Management and Taskfarming

PBS Job Management and Taskfarming

Joachim Wagner 2008-07-24

Page 2: PBS Job Management and Taskfarming

Outline

Why do we need a cluster?

ArchitectureMachines

Software

Job Management

Running jobsCommands

PBS Job discriptions

Taskfarming

Plans

Page 3: PBS Job Management and Taskfarming

Why do we need a cluster?

Resource conflictsWaiting for colleague’s job to finish

Trouble, e.g. disk full

Medium-size jobsToo big for desktop PC

Too small for ICHEC

Preparation of ICHEC runs

Learning

Page 4: PBS Job Management and Taskfarming

Cluster Architecture

SchoolNetwork

maia.computing.dcu.ie Separate

NetworkLoginsHomeSoftware

Job Queue

Nodes

Page 5: PBS Job Management and Taskfarming

Installed Software

OpenMPI

SRILM

MaTrEx, Moses, GIZA++

XLE, Sicstus

Johnson & Charniak’s reranking parser

In progress:LFG AA, incl. function labeller

Page 6: PBS Job Management and Taskfarming

PBS Job Management

Job Queue

Job SubmissionUser: JobDescription

Job Execution

Job SchedulerNodes are allocatedjob-exclusive for theduration of the job

Page 7: PBS Job Management and Taskfarming

PBS Job Management Commands

qsub myjob.pbssubmits a job

PBS description: shell script with #PBS commands(ignored by shell, see next slide)

qstat, qstat –f jobnumber

qdel jobnumber

pbsnodes –alist all nodes with status and properties

Page 8: PBS Job Management and Taskfarming

PBS Job Description

Number of nodesCPUs/node

Notification: end,begin and abort

Maximum runtime

Page 9: PBS Job Management and Taskfarming

Example: Memory-Intensive Job

Page 10: PBS Job Management and Taskfarming

Node Properties

min4GB, min8GB: at least this much

mem4GB, mem8GB: exactly this much

long: please use this property for long jobswill leave nodes that do not have this property available for other jobs

no limit enforced, but 24 h seems reasonable

Future:16 and 32 GB

CPU

local disk space (/tmp and swap)

Page 11: PBS Job Management and Taskfarming

CPU-Intensive Jobs

Parallelisable, for example Sentence by sentence processing

Cross-validation runs

Parameter search

Split into parts Run each part on a different CPU

Page 12: PBS Job Management and Taskfarming

Taskfarming

PBS JobDescription

TaskfarmingExecutable

(n instances)

1 Master n-1 Worker

Task file(.tfm):one taskper line

reading

MPICommunication

Taskexecution

childprocess

Page 13: PBS Job Management and Taskfarming

Taskfarming Executable

If Instance ID == 0Run master code loop:

Read .tfm file (arg 1)

Send lines to worker

Exit if no more task and all worker finished

ElseRun worker loop:

Ask master for a task

Execute task

Exit if master has no more tasks

Page 14: PBS Job Management and Taskfarming

Example: Taskfarming PBS File

Page 15: PBS Job Management and Taskfarming

Example: Taskfarming TFM File

Page 16: PBS Job Management and Taskfarming

Example: Taskfarming Helper Script

run-package.sh

Page 17: PBS Job Management and Taskfarming

Example: Taskfarming in Action

000CPU 1

001

002

Master: reads .tfm and distributes tasks

CPU 2

CPU 3

CPU 4

003

005

004

006

time

008

007

009

010

011

012

idle

Page 18: PBS Job Management and Taskfarming

Example: Non-Terminating Task

000CPU 1

001

002

Master: reads .tfm and distributes tasks

CPU 2

CPU 3

CPU 4

003

005

004

006 (does not terminate)

Killed at

Walltime

Limit

008

007

009

010

011

012

idle

idle

Page 19: PBS Job Management and Taskfarming

Estimating the PBS Walltime Parameter

Collect durations from test run

Usually high variance of execution timeLong sentences

Parameters

Don’t use #packages x avg. time per packageHigh risk (~50 %) that more time is needed

Instead: Random sampling with observed package durations: /home/jwagner/tools/walltime.py

Page 20: PBS Job Management and Taskfarming

Effect of Task Size

Job will wait for last task to finish (or be killed when walltime limit is reached)

What if a task crashes?Results are incomplete

Next tasks is executed

What if a task does not terminate?Results are incomplete

Fewer CPUs available for remaining tasks

Overhead of starting tasks

Page 21: PBS Job Management and Taskfarming

Considering Multiple CPUs per Node

4 CPU cores per node

8 GB node -> 2 GB per core

CPUs compete for RAMSwapping of one task effects the 3 other tasks

Relatively slow CPUs in nodesCompared to new desktop PCs

Optimise throughput of cluster / EURNot: throughput of node or CPU

Depends on application

Page 22: PBS Job Management and Taskfarming

Plans

Fix sporadic errors of taskfarm.pyre-implentation in C

XML-RPC-based taskfarminghttp-based

Run master on maia

Run workers also outside the cluster

Set parameters at runtime

Add more nodes (CNGL)

Install additional software

Page 23: PBS Job Management and Taskfarming

Questions

?Contact:Joachim WagnerCNGL System [email protected](01) 700 6915