Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Flexible Data Placement Mechanisms in Condor.

Slides:



Advertisements
Similar presentations
Pharos Uniprint 8.3.
Advertisements

CERN LCG Overview & Scaling challenges David Smith For LCG Deployment Group CERN HEPiX 2003, Vancouver.
Blackbird: Accelerated Course Archives Using Condor with Blackboard Sam Hoover, IT Systems Architect Matt Garrett, System Administrator.
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
Efficiently Sharing Common Data HTCondor Week 2015 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Condor Project Computer Sciences Department University of Wisconsin-Madison Security in Condor.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machine Universe in.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Derek Wright Computer Sciences Department, UW-Madison Lawrence Berkeley National Labs (LBNL)
Minerva Infrastructure Meeting – October 04, 2011.
Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Securing Your Condor Pool With SSL.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
Zach Miller Computer Sciences Department University of Wisconsin-Madison What’s New in Condor.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Infrastructure Provision for Users at CamGrid Mark Calleja Cambridge eScience Centre
High Throughput Parallel Computing (HTPC) Dan Fraser, UChicago Greg Thain, Uwisc.
Reading Data in Web Pages tMyn1 Reading Data in Web Pages A very common application of PHP is to have an HTML form gather information from a website's.
JavaScript & jQuery the missing manual Chapter 11
Rsv-control Marco Mambelli – Site Coordination meeting October 1, 2009.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Condor Tugba Taskaya-Temizel 6 March What is Condor Technology? Condor is a high-throughput distributed batch computing system that provides facilities.
1 HawkEye A Monitoring and Management Tool for Distributed Systems Todd Tannenbaum Department of Computer Sciences University of.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Bonrix SMPP Client. Index Introduction Software and Hardware Requirements Architecture Set Up Installation HTTP API Features Screen-shots.
Compiled Matlab on Condor: a recipe 30 th October 2007 Clare Giacomantonio.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
3-2.1 Topics Grid Computing Meta-schedulers –Condor-G –Gridway Distributed Resource Management Application (DRMAA) © 2010 B. Wilkinson/Clayton Ferner.
6 th Annual Focus Users’ Conference Manage Integrations Presented by: Mike Morris.
1 The Roadmap to New Releases Todd Tannenbaum Department of Computer Sciences University of Wisconsin-Madison
Zach Miller Computer Sciences Department University of Wisconsin-Madison Bioinformatics Applications.
Condor Project Computer Sciences Department University of Wisconsin-Madison Condor-G Operations.
INFSO-RI Enabling Grids for E-sciencE DAGs with data placement nodes: the “shish-kebab” jobs Francesco Prelz Enzo Martelli INFN.
Grid job submission using HTCondor Andrew Lahiff.
Giuseppe Codispoti INFN - Bologna Egee User ForumMarch 2th BOSS: the CMS interface for job summission, monitoring and bookkeeping W. Bacchi, P.
Privilege separation in Condor Bruce Beckles University of Cambridge Computing Service.
Communicating Security Assertions over the GridFTP Control Channel Rajkumar Kettimuthu 1,2, Liu Wantao 3,4, Frank Siebenlist 1,2 and Ian Foster 1,2,3 1.
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.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
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
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Condor Project Computer Sciences Department University of Wisconsin-Madison Grids and Condor Barcelona,
Derek Wright Computer Sciences Department University of Wisconsin-Madison Condor and MPI Paradyn/Condor.
Nick LeRoy Computer Sciences Department University of Wisconsin-Madison Hawkeye.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison What’s New in Condor-G.
Matthew Farrellee Computer Sciences Department University of Wisconsin-Madison Condor and Web Services.
STAR Scheduling status Gabriele Carcassi 9 September 2002.
Condor Project Computer Sciences Department University of Wisconsin-Madison Condor Job Router.
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.
ECHO Technical Interchange Meeting 2013 Timothy Goff 1 Raytheon EED Program | ECHO Technical Interchange 2013.
HTCondor’s Grid Universe Jaime Frey Center for High Throughput Computing Department of Computer Sciences University of Wisconsin-Madison.
HTCondor Security Basics HTCondor Week, Madison 2016 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
Five todos when moving an application to distributed HTC.
Parag Mhashilkar (Fermi National Accelerator Laboratory)
University of Kansas Department of Electrical Engineering and Computer Science Dr. Susan Gauch April 21, 2005 I T T C Introduction to Web Technologies.
HTCondor Security Basics
Node.js Express Web Applications
HTCondor Security Basics HTCondor Week, Madison 2016
The Condor JobRouter.
Credential Management in HTCondor
Presentation transcript:

Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Flexible Data Placement Mechanisms in Condor

› What existed in 2010 › What's new in 2011 › Problems, Solutions, and Future Work Overview

File Transfer Basics › Condor will transfer your input files for you if ask nicely in your submit file universe = vanilla should_transfer_files = ALWAYS when_to_transfer_output = ON_EXIT_OR_EVICT transfer_input_files = input_file_1, input_file_2 executable = myexe arguments = 30 queue

› These files are transferred from the submit machine to the execute machine when the job starts up › Starting many jobs simultaneously can place a lot of demand for bandwidth on the submit machine › Throttles were added to counteract File Transfer Basics

› Wouldn't it be nice if the data didn't have to come from the submit machine? › Especially if it's the same input file for each job, e.g. a reference database of genomes? › That would be great! Third Party Transfer

› File contents sent by submit machine Normal File Transfer input_file_1 input_file_2

› Only URL sent by submit machine Third Party Transfer URL of input_file_1 HTTP GET input_file_1

› urltype › :// › Anything else › Everything after the last slash is used as the downloaded filename › Example: URL Format Assumptions

Example Submit File universe = vanilla should_transfer_files = ALWAYS when_to_transfer_output = ON_EXIT_OR_EVICT transfer_input_files = input_file_1, executable = myexe arguments = 30 queue

› If an input file name matches the format of the URL described, Condor assumes it should be transferred with a plugin › Normal files and third party transfers can be mixed, as well as different types of plugins Submit File

Another Submit File universe = vanilla should_transfer_files = ALWAYS when_to_transfer_output = ON_EXIT_OR_EVICT transfer_input_files = input_file_1, data://;base64,iVBORw0KGgoAAAANSBlahBlah/input_file_4 executable = myexe arguments = 30 queue

How Does It Work? › Condor uses a general plugin architecture to support additional methods of file transfer › This allows Condor to be customized with whatever mechanisms you like › Also allows plugins to be created and updated out-of-band of Condor releases and stable series

› It's easy for users to add these URLs to their submit files › However, the URLs are meaningless unless they are interpreted by a plugin › Plugins must be installed by the administrator of the execute machine condor_config Settings

› Plugins are executables and can be written in C, perl, bash, whatever. › Fairly straightforward to configure: FILETRANSFER_PLUGINS = \ /path/to/curl_plugin, \ /path/to/data_plugin, \ /path/to/custom_plugin condor_config Settings

› How do the plugins work? › Query Mode – Describe what the plugin is capable of doing › Action Mode – Perform an actual transfer Plugin Behavior

› Query Mode – Condor invokes the plugin with the - classad option to ask for information % /unsup/condor/libexec/curl_plugin -classad PluginVersion = "0.1" PluginType = "FileTransfer" SupportedMethods = "http,ftp,file" Plugin Behavior

› Action Mode – Condor invokes the plugin with two parameters, source and destination, to actually perform the transfer. % /unsup/condor/libexec/curl_plugin \ \ /scratch/condor/exec.22356/file_1 Plugin Behavior

› All Condor functionality previously mentioned was available in Condor and later › Two major shortcomings – No ability to transfer job output – X.509 credentials are not available to the plugins Support in Condor

› In 7.6.0, better X.509 support › If your submit file specifies an X.509 credential, Condor will – Make sure the proxy is the first thing transferred to the job sandbox – Set the X509_USER_PROXY environment variable before invoking the transfer plugins Support in Condor

› This allows plugins to use your Globus credentials to do third party transfers – gridftp – globusonline – Your custom plugins Support in Condor

Example Submit File universe = vanilla should_transfer_files = ALWAYS when_to_transfer_output = ON_EXIT_OR_EVICT x509userproxy = /tmp/x509up_u24842 transfer_input_files = input_file_1, gridftp ://newbio.cs.wisc.edu/~zmiller/giant_protein_db executable = blast_wrapper queue

› As of 7.6.0, Condor can now move your output file using plugins › Relies on existing plugin architecture › Just add output_destination to your submit file › Condor will invoke the plugin to move your output files Another New Feature

Example Submit File universe = vanilla should_transfer_files = ALWAYS when_to_transfer_output = ON_EXIT_OR_EVICT transfer_input_files = input_query, ftp://ftp.ncbi.nih.gov/blast/db/FASTA/nr.gz output_destination = gridftp://newbio.cs.wisc.edu/zmiller/output/ executable = blast_wrap.sh x509userproxy = /tmp/x509up_u24842 queue

Notes on Using output_destination › The transfer_output_files parameter in the submit file can still be used to select a subset of files to transfer › If any of the plugins report failure, the job is placed on Hold › Nothing is transferred back to the submit node (including stdout and stderr)

Notes on Using output_destination › The plugins registered in the condor_config file must be able to handle both input and output: curl_plugin ftp://ftp.wisc.edu/remote/file /tmp/local/file curl_plugin /tmp/local/file ftp://ftp.wisc.edu/remote/file

globusonline and Condor Integration › There was significant effort put into integrating the Globus Online service with Condor using this plugin architecture › Was a driving force for some of the modifications made to Condor, in particular X.509 support › Was also a driving force for modifications made to the globusonline API

Assumptions about using globusonline › In order to work, some things must already be in place: – User must have a valid X.509 proxy – User must already have a globusonline account – There must be an endpoint registered and activated that you will transfer to or from

The globusonline Plugin › Starts a “personal” gridftp server using the user's proxy › Registers the new server as a new globusonline endpoint › Activates the endpoint with the user's proxy › Performs the transfer to/from job sandbox › Removes the endpoint › Shuts down the gridftp server

Some Limitations › By default, when Condor performs credential delegation, it creates “limited” proxies › However, creating a dynamic endpoint requires delegating the credential again to the globusonline service › This is not allowed with limited proxies › You need to instruct Condor not to create limited proxies if you plan to use globusonline

Some Limitations › Currently, input files can come from several different places, using different plugins › All output files that are transferred must go to the same URL › It would be great to be able to send different files using different plugins

Some Limitations › Condor currently invokes file transfer plugins once for each file › This creates more overhead than necessary because of standing up, registering, activating, and removing endpoints › Particularly when using globusonline, Condor could batch all files into one transfer › This would require modification to Condor's plugin API

Some Limitations › Error propagation needs improvement – You get status codes, but no text › Condor currently relies on the plugin to do what it's told, and does not verify it did the correct thing › Plugins should have a heartbeat so we know if they are still working or if they have become stuck

Some Ideas › You can use the plugins to fetch a Virtual Machine image for VM universe, allowing the images to be cached at the execute site instead of being transferred for each job › You could use plugins to always fetch your files via http, allowing squid caches to save on bandwidth

Some Ideas › Plugins can (/should/will) be written for: – chirp – hdfs – bittorrent – Anything new under the sun?

Questions? › › me: