Ganga A quick tutorial Asterios Katsifodimos Trainer, University of Cyprus Nicosia, Feb 16, 2009.

Slides:



Advertisements
Similar presentations
13/05/2004Janusz Martyniak Imperial College London 1 Using Ganga to Submit BaBar Jobs Development Status.
Advertisements

GANGA Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
Computing Lectures Introduction to Ganga 1 Ganga: Introduction Object Orientated Interactive Job Submission System –Written in python –Based on the concept.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik University of Manchester materials by Dr Katy Wolstencroft and Dr Aleksandra.
Microsoft ® Official Course Module XA Using Windows PowerShell ®
Python: An Introduction
Appendix A Starting Out with Windows PowerShell™ 2.0.
Winrunner Usage - Best Practices S.A.Christopher.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
K. Harrison CERN, 20th April 2004 AJDL interface and LCG submission - Overview of AJDL - Using AJDL from Python - LCG submission.
RISICO on the GRID architecture First implementation Mirko D'Andrea, Stefano Dal Pra.
INFSO-RI Enabling Grids for E-sciencE Logging and Bookkeeping and Job Provenance Services Ludek Matyska (CESNET) on behalf of the.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Introduction of Geoprocessing Topic 7a 4/10/2007.
INFSO-RI Module 01 ETICS Overview Etics Online Tutorial Marian ŻUREK Baltic Grid II Summer School Vilnius, 2-3 July 2009.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
DIRAC Review (13 th December 2005)Stuart K. Paterson1 DIRAC Review Exposing DIRAC Functionality.
Stuart Wakefield Imperial College London Evolution of BOSS, a tool for job submission and tracking W. Bacchi, G. Codispoti, C. Grandi, INFN Bologna D.
David Adams ATLAS ADA, ARDA and PPDG David Adams BNL June 28, 2004 PPDG Collaboration Meeting Williams Bay, Wisconsin.
Enabling Grids for E-sciencE EGEE-III INFSO-RI Using DIANE for astrophysics applications Ladislav Hluchy, Viet Tran Institute of Informatics Slovak.
Giuseppe Codispoti INFN - Bologna Egee User ForumMarch 2th BOSS: the CMS interface for job summission, monitoring and bookkeeping W. Bacchi, P.
Framework of Job Managing for MDC Reconstruction and Data Production Li Teng Zhang Yao Huang Xingtao SDU
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Introduction to Alexander Richards Thanks to Mike Williams, ICL for many of the slides content.
Introduction to Ganga Karl Harrison (University of Cambridge) ATLAS Distributed Analysis Tutorial Milano, 5-6 February 2007
Getting started DIRAC Project. Outline  DIRAC information system  Documentation sources  DIRAC users and groups  Registration with DIRAC  Getting.
Ganga Status Update Will Reece. Will Reece - Imperial College LondonPage 2 Outline User Statistics User Experiences New Features in Upcoming Features.
INFSO-RI Enabling Grids for E-sciencE Graphical User Interface. for Charon Extension Layer System. and Application Dashboards Jan.
Ganga 4 Basics - Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, November 2005.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
Distributed Analysis K. Harrison LHCb Collaboration Week, CERN, 1 June 2006.
Ganga 4 Basics - Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, September 2006.
April 27, 2006 The New GANGA GUI 26th LHCb Software Week C L Tan
1 Active Directory Administration Tasks And Tools Active Directory Administration Tasks Active Directory Administrative Tools Using Microsoft Management.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Ganga User Interface EGEE Review Jakub Moscicki.
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
Overview Background: the user’s skills and knowledge Purpose: what the user wanted to do Work: what the user did Impression: what the user think of Ganga.
Using Ganga for physics analysis Karl Harrison (University of Cambridge) ATLAS Distributed Analysis Tutorial Milano, 5-6 February 2007
2 June 20061/17 Getting started with Ganga K.Harrison University of Cambridge Tutorial on Distributed Analysis with Ganga CERN, 2.
Development of test suites for the certification of EGEE-II Grid middleware Task 2: The development of testing procedures focused on special details of.
ATLAS-specific functionality in Ganga - Requirements for distributed analysis - ATLAS considerations - DIAL submission from Ganga - Graphical interfaces.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Introduction of Geoprocessing Lecture 9 3/24/2008.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
K. Harrison CERN, 21st February 2005 GANGA: ADA USER INTERFACE - Ganga release Python client for ADA - ADA job builder - Ganga release Conclusions.
D.Spiga, L.Servoli, L.Faina INFN & University of Perugia CRAB WorkFlow : CRAB: CMS Remote Analysis Builder A CMS specific tool written in python and developed.
© Geodise Project, University of Southampton, Workflow Support for Advanced Grid-Enabled Computing Fenglian Xu *, M.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
Job Management Beijing, 13-15/11/2013. Overview Beijing, /11/2013 DIRAC Tutorial2  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you.
Seven things you should know about Ganga K. Harrison (University of Cambridge) Distributed Analysis Tutorial ATLAS Software & Computing Workshop, CERN,
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
Practical using C++ WMProxy API advanced job submission
IW2D migration to HTCondor
BOSS: the CMS interface for job summission, monitoring and bookkeeping
BOSS: the CMS interface for job summission, monitoring and bookkeeping
PYTHON: AN INTRODUCTION
BOSS: the CMS interface for job summission, monitoring and bookkeeping
The Ganga User Interface for Physics Analysis on Distributed Resources
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Module 01 ETICS Overview ETICS Online Tutorials
PowerShell Best Practices for SQL DBA’s
gLite Job Management Christos Theodosiou
Status and plans for bookkeeping system and production tools
Presentation transcript:

Ganga A quick tutorial Asterios Katsifodimos Trainer, University of Cyprus Nicosia, Feb 16, 2009

Outline A motivation example What is Ganga Basic Ganga Features Advanced Ganga features Demo Asterios Katsifodimos - Nicosia, 16 Feb 2009

Massive job submission Suppose that you have to send 5000 Jobs What would you use to send them? gEclipse  Pros: –Easy to use –Nice interface –Automatic job monitoring  Cons: –Many number of clicks per job submission –Manual configuration only –Cannot handle thousands of jobs! Scripts  Pros: –Automated tasks –Can handle massive job submissions  Cons: –Have to build own data structures –Fault tolerant –Too much debugging Asterios Katsifodimos - Nicosia, 16 Feb 2009

What do we need? We need a job submission system that is: Easy to use Quick Extensible Command line And of course “scriptable”! We have the solution Ganga is a system (and a framework at the same time) It allows really massive job manipulation It takes care of:  Monitoring  Submission  Resubmission  Input/output data retrieval  Is scriptable  And its a command line tool Nicosia, 16 Feb 2009

Object Orientated Interactive Job Submission System The Job Object Jobs are created, configured, submitted and when complete, examined. They are persistent  Saved automatically into a Registry Creation On creation each gets unique ID This is a serial number that can be used to access the job Configuration At any time can configure all aspects - executable, environment, input and output sandboxes, backend Cloning Having configured one job it can be cloned to create others Submission Job gets submitted to the configured backend(Local, PBS, gLite, EDG, LSF, Condor etc.) Pulling A job puller runs in the background and monitors submitted jobs When job is complete it retrieves output and places in the job’s output directory Resubmit If a job fails it can be resubmitted Removal Asterios Katsifodimos - Nicosia, 16 Feb 2009

The Job Object Nicosia, 16 Feb 2009

The Ganga solution Object Orientated Interactive Job Submission System Written in python Based on the concept of a job object Very easy automated install It just takes two commands and < 5 minutes! Multiple job submission backends Local, psub, condor, LSF, PBS and of course… gLite(glite-wms-*) You can also create your own! Both standalone and a framework Is a complete ready to run system for submitting jobs Also Python API on which additional features can be layered Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga basics Entering the iPython Interactive Shell Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga basics – Creating a job Creating a Job Submitting a Job to the local computer Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga basics Monitoring a Job and getting its standard output Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga basics – Job attributes A Local Job’s Attributes Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga basics – Job Submission Submitting a Grid Job Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga Basics - Job manipulation Jobs manipulation There are many ways to manipulate jobs The best way is the jobs collection  It can be iterated(with a for loop)  Jobs can be queried by status, application, name, attributes etc The “jobs” collection  Oblect that contains all the jobs and their information  Every job is automatically added to the collection after its creation  E.g. In[33]: jobs  Produces this output: Asterios Katsifodimos - Nicosia, 16 Feb 2009

The Jobs Collection Adding a new job adds it in the collection The jobs collection is “alive” checks for job statuses in the background Asterios Katsifodimos - Nicosia, 16 Feb 2009

Querying the jobs collection Jobs collection can be queried using jobs attributes Results are also objects that can be manipulated Example:  Show me all the ‘completed’ jobs  Resubmit all “failed” jobs Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga scripting You can create small scripts to create jobs and submit them The result: Asterios Katsifodimos - Nicosia, 16 Feb 2009

Submitting part of the created jobs Submit all jobs that their jobid is greater than 1901 Result: Asterios Katsifodimos - Nicosia, 16 Feb 2009

Jobs Input and Output files Adding input/output files is really simple Nicosia, 16 Feb 2009

Advanced Ganga Features Splitters & Mergers Jobs can be split into subjobs Splitter functions have to be created for you application Each subjob takes a part of the dataset and processes it When all subjobs of a job are completed the Merger is called The merger combines all “splits” and creates the final output Job trees You can organize your jobs in a tree(like directories in your PC!) The jobtree object helps you for this Templates Preconfigured jobs Create a job template and create jobs with that  E.g. In[32]: j = Job(jobTemplate) E.g. create a job template with all the details (executable, name etc)  Change only the arguments of the executable Asterios Katsifodimos - Nicosia, 16 Feb 2009

Ganga GUI I am so tired by the command line Is there any GUI that I can use? Yes, there is. It combines both command line tools And a GUI. Nicosia, 16 Feb 2009

Ganga’s main window Nicosia, 16 Feb 2009

Jobs manipulation and toolbar Nicosia, 16 Feb 2009

Demo - Discussion Many thanks for your attention! Nicosia, 16 Feb 2009