Alain Roy Computer Sciences Department University of Wisconsin-Madison I/O Access in Condor and Grid.

Slides:



Advertisements
Similar presentations
Current methods for negotiating firewalls for the Condor ® system Bruce Beckles (University of Cambridge Computing Service) Se-Chang Son (University of.
Advertisements

Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
1 Using Stork Barcelona, 2006 Condor Project Computer Sciences Department University of Wisconsin-Madison
Condor Project Computer Sciences Department University of Wisconsin-Madison Stork An Introduction Condor Week 2006 Milan.
A Computation Management Agent for Multi-Institutional Grids
Intermediate Condor: DAGMan Monday, 1:15pm Alain Roy OSG Software Coordinator University of Wisconsin-Madison.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison Condor-G: A Case in Distributed.
GRID workload management system and CMS fall production Massimo Sgaravatto INFN Padova.
GRID Workload Management System Massimo Sgaravatto INFN Padova.
The Condor Data Access Framework GridFTP / NeST Day 31 July 2001 Douglas Thain.
Efficiently Sharing Common Data HTCondor Week 2015 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
First steps implementing a High Throughput workload management system Massimo Sgaravatto INFN Padova
The Difficulties of Distributed Data Douglas Thain Condor Project University of Wisconsin
Evaluation of the Globus GRAM Service Massimo Sgaravatto INFN Padova.
Intermediate HTCondor: Workflows Monday pm Greg Thain Center For High Throughput Computing University of Wisconsin-Madison.
Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Flexible Data Placement Mechanisms in Condor.
Zach Miller Computer Sciences Department University of Wisconsin-Madison What’s New in Condor.
CONDOR DAGMan and Pegasus Selim Kalayci Florida International University 07/28/2009 Note: Slides are compiled from various TeraGrid Documentations.
Grid Computing, B. Wilkinson, 20046d.1 Schedulers and Resource Brokers.
6d.1 Schedulers and Resource Brokers ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson.
Workflow Management in Condor Gökay Gökçay. DAGMan Meta-Scheduler The Directed Acyclic Graph Manager (DAGMan) is a meta-scheduler for Condor jobs. DAGMan.
High Throughput Computing with Condor at Purdue XSEDE ECSS Monthly Symposium Condor.
Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.2: Cluster and Grid Computing: Case studies Condor introduction August 9, 2006 Nadya.
Condor Tugba Taskaya-Temizel 6 March What is Condor Technology? Condor is a high-throughput distributed batch computing system that provides facilities.
Networked Storage Technologies Douglas Thain University of Wisconsin GriPhyN NSF Project Review January 2003 Chicago.
BaBar MC production BaBar MC production software VU (Amsterdam University) A lot of computers EDG testbed (NIKHEF) Jobs Results The simple question:
Job Submission Condor, Globus, Java CoG Kit Young Suk Moon.
Grid Computing I CONDOR.
Grid Workload Management & Condor Massimo Sgaravatto INFN Padova.
Part 6: (Local) Condor A: What is Condor? B: Using (Local) Condor C: Laboratory: Condor.
Intermediate Condor Rob Quick Open Science Grid HTC - Indiana University.
1 The Roadmap to New Releases Todd Tannenbaum Department of Computer Sciences University of Wisconsin-Madison
Miron Livny Computer Sciences Department University of Wisconsin-Madison Welcome and Condor Project Overview.
INFSO-RI Enabling Grids for E-sciencE DAGs with data placement nodes: the “shish-kebab” jobs Francesco Prelz Enzo Martelli INFN.
Condor: High-throughput Computing From Clusters to Grid Computing P. Kacsuk – M. Livny MTA SYTAKI – Univ. of Wisconsin-Madison
Grid Compute Resources and Job Management. 2 Local Resource Managers (LRM)‏ Compute resources have a local resource manager (LRM) that controls:  Who.
Workflows: from development to Production Thursday morning, 10:00 am Greg Thain University of Wisconsin - Madison.
Nick LeRoy & Jeff Weber Computer Sciences Department University of Wisconsin-Madison Managing.
Peter F. Couvares (based on material from Tevfik Kosar, Nick LeRoy, and Jeff Weber) Associate Researcher, Condor Team Computer Sciences Department University.
Turning science problems into HTC jobs Wednesday, July 29, 2011 Zach Miller Condor Team University of Wisconsin-Madison.
Douglas Thain, John Bent Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau, Miron Livny Computer Sciences Department, UW-Madison Gathering at the Well: Creating.
Report from USA Massimo Sgaravatto INFN Padova. Introduction Workload management system for productions Monte Carlo productions, data reconstructions.
1 The Roadmap to New Releases Todd Tannenbaum Department of Computer Sciences University of Wisconsin-Madison
The Roadmap to New Releases Derek Wright Computer Sciences Department University of Wisconsin-Madison
Derek Wright Computer Sciences Department University of Wisconsin-Madison MPI Scheduling in Condor: An.
Intermediate Condor: Workflows Rob Quick Open Science Grid Indiana University.
July 11-15, 2005Lecture3: Grid Job Management1 Grid Compute Resources and Job Management.
Tevfik Kosar Computer Sciences Department University of Wisconsin-Madison Managing and Scheduling Data.
Review of Condor,SGE,LSF,PBS
Intermediate Condor: Workflows Monday, 1:15pm Alain Roy OSG Software Coordinator University of Wisconsin-Madison.
Pilot Factory using Schedd Glidein Barnett Chiu BNL
Grid Compute Resources and Job Management. 2 How do we access the grid ?  Command line with tools that you'll use  Specialised applications Ex: Write.
Peter F. Couvares Computer Sciences Department University of Wisconsin-Madison Condor DAGMan: Managing Job.
A Fully Automated Fault- tolerant System for Distributed Video Processing and Off­site Replication George Kola, Tevfik Kosar and Miron Livny University.
Grid Compute Resources and Job Management. 2 Job and compute resource management This module is about running jobs on remote compute resources.
Peter Couvares Computer Sciences Department University of Wisconsin-Madison Condor DAGMan: Introduction &
Bulk Data Transfer Activities We regard data transfers as “first class citizens,” just like computational jobs. We have transferred ~3 TB of DPOSS data.
Grid Compute Resources and Job Management. 2 Grid middleware - “glues” all pieces together Offers services that couple users with remote resources through.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison What’s New in Condor-G.
Miron Livny Computer Sciences Department University of Wisconsin-Madison Condor and (the) Grid (one of.
Managing Network Resources in Condor Jim Basney Computer Sciences Department University of Wisconsin-Madison
Douglas Thain, John Bent Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau, Miron Livny Computer Sciences Department, UW-Madison Gathering at the Well: Creating.
Todd Tannenbaum Computer Sciences Department University of Wisconsin-Madison Condor NT Condor ported.
Condor Project Computer Sciences Department University of Wisconsin-Madison Running Interpreted Jobs.
Five todos when moving an application to distributed HTC.
Condor on Dedicated Clusters Peter Couvares and Derek Wright Computer Sciences Department University of Wisconsin-Madison
Intermediate Condor Monday morning, 10:45am Alain Roy OSG Software Coordinator University of Wisconsin-Madison.
Condor DAGMan: Managing Job Dependencies with Condor
Using Stork An Introduction Condor Week 2006
Condor-G Making Condor Grid Enabled
Presentation transcript:

Alain Roy Computer Sciences Department University of Wisconsin-Madison I/O Access in Condor and Grid

2 What is Condor? › Condor is a batch job system › Goal: High throughput computing  Different than high-performance › Goal: High reliability › Goal: Support distributed ownership

3 High Throughput Computing › Worry about FLOPS/year, not FLOPS/second › Use all resources effectively  Dedicated clusters  Non-dedicated computers (desktop)

4 Effective resource use › Requires high reliability Computers come and go, your jobs shouldn’t.  Checkpointing  Be prepared for everything breaking › Requires distributed ownership › Requires distributed access  Must deal with lack of shared filesystem

5 Jobs in Condor › Standard Universe  Checkpointing & Migration  Remote I/O  Available to many (not all) jobs › Vanilla Universe  Any job you want  No checkpointing, No remote I/O › Other Universes MPI PVM Java

6 Machines in Condor › Distributed ownership  Your desktop can be in a Condor pool  You choose how it is used  You choose when it is used › Dedicated computers or non-dedicated

7 Notable Users › UW-Madison Condor pool  900+ CPUs, millions of CPU hours/year › INFN  150 CPUs? › Oracle  CPUs, worldwide › Hundreds of pools worldwide

8 Working with files in Condor › Today  Shared file systems  Transferring files  Remote I/O › Tomorrow  Pluggable File System  NeST  Stork

9 Review: Submitting a job › Write a submit file: Executable= dowork Input= dowork.in Output= dowork.out Arguments= 1 alpha beta Universe= vanilla Log= dowork.log Queue › Give it to Condor: condor_submit › Watch it run: condor_q } Files: on shared fs

10 What happens when it runs? › Condor requires a shared filesystem for this job. Why?  You have a vanilla job  You did not tell it to transfer any files › Therefore, Condor adds a requirement:  (TARGET.FileSystemDomain == MY.FileSystemDomain) › What does this mean?

11 What happens when it runs? Matchmaker Job Submit computer Job Executable = … Input = … Req = (TARGET.FileSystemDomain == MY.FileSystemDomain) FileSystemDomain = “bo.infn.it” …. Machine Name = “condor.pd.infn.it” Req = (TARGET.ImageSize < 1000) FileSystemDomain = “pd.infn.it” …. Computer 1 condor.pd.infn.it Machine Name = “lnxi.bo.infn.it” Req = (TARGET.ImageSize < 1000) FileSystemDomain = “bo.infn.it” …. Computer 2 lnxi.bo.infn.it

12 No shared filesystem › Tell Condor to transfer files: Executable= “dowork” Input= dowork.in Output= dowork.out Arguments= 1 alpha beta Universe= vanilla Log= dowork.log Transfer_Files= ONEXIT Transfer_Input_Files = dataset Queue › Job can run in Padova or Bologna  Files are always transferred } Automatically transferred

13 Shared Filesystem? › Even better: (Condor and later) … Input= dowork.in Output= dowork.out Universe= vanilla Should_Transfer_files = IF_NEEDED Transfer_Input_Files = dataset Rank= (MY.FileSystemDomain == TARGET.FileSystemDomain) › Job can run in Padova or Bologna  Files are transferred, for Padova, not Bo  We prefer avoiding transfer

14 Standard Universe › Standard universe provides:  Checkpointing  Remote I/O › Requires re-link of your program  No recompilation › Doesn’t work for all programs  No threads  No dynamic libraries on Linux  Limited networking

15 Remote I/O › All system calls are redirected to submission computer  No files are transferred  It looks “just like home” › Job runs as “nobody” on remote computer › Files should be read or write only, not both

16 Is remote I/O efficient? › If you read a file only once, yes › If you read less than a whole file, yes › If you read a file many time, it may be less efficient › We find it is not a problem for most jobs

17 How do you use it? › Compile your program gcc –c somejob.c  somejob.o › Link your program: condor_compile gcc –o somejob somejob.o › Use the standard universe: Executable = somejob Universe = standard …

18 What happens when it runs? › Condor does not require a shared filesystem  You used the standard universe  Files will not be transferred › Condor does not modify the requirements

19 What happens when it runs? Submit Computer Execute Computer Job Remote I/O library Shadow Remote I/O handler Disk

20 Summary: Condor Today › Vanilla jobs works with:  Shared file system  Transferring files › Standard universe:  Remote I/O  Checkpointing

21 Pluggable File System (PFS) › Bypass: an interposition agent  Shared library squeezes into program  Intercepts calls to specific functions › PFS  Intercepts file access  Use FTP/GSI-FTP/HTTP/NeST › Like Condor remote I/O except:  No relinking  Usable outside of Condor

22 Bypass (Work by Doug Thain) › A tool for interposition agents › Uses dynamic library preload  setenv LD_PRELOAD /usr/lib/pfs.so › Just write replacement code: ssize_t read(int fd…) agent_action {{ //code to do something return read(…); // call real read }}

23 PFS (Doug Thain) › PFS uses Bypass: intercepts all file accesses › When you access a “URL”, it implements it.  /http/ › Just use pfsrun:  pfsrun vi /http/ › Warning: it mostly works

24 Live Demo › pfsrun vi /http/ › pfsrun tcsh –f › cd /anonftp/ftp.cs.wisc.edu/condor; › pwd › more R[Tab] › cd; › grep -i infom /http/

25 PFS Status › You can download it today  › It works well, but not all the time › Can give remote I/O in the vanilla universe › An alternative is being explored: ptrace

26 NeST › Network storage for the grid › A file server on steroids › A “work in progress” › Work by John Bent and Joseph Stanley

27 NeST as a file server › Any user, not just root—you do not need to be a system administrator › Multiple protocols: access however you like:  GridFTP, FTP, HTTP, NFS, and more

28 Lots › NeST supports storage allocations, or lots › You request “500MB for 10 hours” › You can rely on your storage being there  (Well, as much as you can rely on anything in a grid)

29 Nest as a Cache › Run one NeST as a “master”  Your home file server  Make it reliable: well-maintained machine, UPS… › Run other NeSTs as caches  Point to master NeST  Cache data locally  May be unreliable

30 Using a NeST cache › Use the NeST protocol to talk to the cache › If the cache disappears, you will talk to the master NeST › Is it inconvenient to use the NeST protocol?

31 PFS + NeST › PFS can speak to NeST › Your applications can speak to a NeST cache with no modification › You can work in a wide-area or grid environment with no modification › You get local data access for free  Recall question: is remote I/O a good idea?

32 Scenario 1 › Submit script as job. The script:  Runs NeST  Runs your job with PFS & file arguments pointing at NeST Submit MachineExecute Machine JobNeST Cache PFS NeST Master

33 Scenario 1 › When your job reads data, PFS redirects requests to NeST cache › If the data is not present it is requested from the NeST master › If the NeST cache fails, the NeST master is used

34 Scenario 2 › Submit one job that is the NeST cache › Submit many jobs that access this NeST cache Submit Machine NeST Master Execute Machine 1 NeST Cache Job PFS Job PFS Job PFS

35 Condor or a Grid? › These scenarios work in Condor & on a grid › Mostly useful across a wide-area, not a local Condor pool › Clever way to use it on a grid: Condor-G Glide-in

36 What is Condor-G? › Another Condor universe: the Globus universe › When you submit jobs, they are not run by Condor, but are given to Globus › Condor-G provides job persistence and reliability for Globus jobs

37 Condor-G Submit Machine Job Exec=… Args=… Universe = Globus … Globus Gatekeeper Cluster

38 Glide-in › Problem: You want the whole world to be your Condor pool › Solution: Create an overlay Condor pool  Run Condor daemons as a job on another pool  You have a larger Condor pool

39 Glide-in Globus Gatekeeper Remote Cluster Submit Machine Job Exec=condor Universe = Globus Local Cluster Job Exec = my job Universe = vanilla

40 Nest & Glide-in › Submit glide-in job that is Nest cache and Condor daemons › Your remote jobs access Nest cache › Your local jobs access Nest master › Everything looks like Condor › Good performance everywhere

41 NeST Status › In active development › You can download it today:  › Cache feature is experimental › Paper: Pipeline and Batch Sharing in Grid Workloads

42 Stork › Background: the job problem  Globus-job-run Unreliable: no persistent job queue No retries  Condor-G Reliable: persistent job queue Retry after failures Submit it and forget it!

43 Stork: the file problem › Background: the file transfer problem  Globus-url-copy (or wget, or…) Unreliable: no persistent queue No retries  Stork: Reliable: persistent queue of file transfers to be done Retries on failure

44 Why bother? › You could do Stork with Condor, but… › Stork understands file transfers  Local files  FTP  Nest › Stork understands space reservations › Stork recovers from failures › Just “submit & forget”  GSI-FTP  SRB  SRM

45 A Stork “job” [ dap_type = "transfer"; src_url = "srb://ghidorac.sdsc.edu/test1.txt"; dest_url = "nest://db18.cs.wisc.edu/test8.txt"; ] › stork_submit: queue transfer › stork_status: show progress

46 One job isn’t enough › Reserve space › Transfer files › Run job › Release space › How do we combine these?

47 Condor DAGMan › DAG = Directed Acyclic Graph › A DAG is the data structure used by DAGMan to represent these dependencies. › Each job is a “node” in the DAG. › Each node can have any number of “parent” or “children” nodes – as long as there are no loops! Job A Job BJob C Job D

48 DAGMan + Stork › A DAG can combine Condor jobs with Stork jobs › Useful in a grid › Can be used with a NeST or without Reserve Transfer Run TransferRelease

49 Summary › Condor Today:  Files on shared filesystems  Transfer files  Remote I/O › Condor & grids tomorrow:  Pluggable file system  Nest  Stork  Some combination of the above