GANGA Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.

Slides:



Advertisements
Similar presentations
Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Advertisements

Grid Resource Allocation Management (GRAM) GRAM provides the user to access the grid in order to run, terminate and monitor jobs remotely. The job request.
Computing Lectures Introduction to Ganga 1 Ganga: Introduction Object Orientated Interactive Job Submission System –Written in python –Based on the concept.
The Grid Constantinos Kourouyiannis Ξ Architecture Group.
NETW-240 Shells Last Update Copyright Kenneth M. Chipps Ph.D. 1.
Sun Grid Engine Grid Computing Assignment – Fall 2005 James Ruff Senior Department of Mathematics and Computer Science Western Carolina University.
Assignment 3 Using GRAM to Submit a Job to the Grid James Ruff Senior Western Carolina University Department of Mathematics and Computer Science.
The Internet. Telnet Telnet means using your computer as a terminal. All commands you type are sent to the host computer you are connected to and executed.
K.Harrison CERN, 23rd October 2002 HOW TO COMMISSION A NEW CENTRE FOR LHCb PRODUCTION - Overview of LHCb distributed production system - Configuration.
Israel Cluster Structure. Outline The local cluster Local analysis on the cluster –Program location –Storage –Interactive analysis & batch analysis –PBS.
Virtual Machine and UNIX. What is a VM? VM stands for Virtual Machine. It is a software emulation of hardware. By using a VM, you can have the same hardware.
Command Console Tutorial BCIS 3680 Enterprise Programming.
Reproducible Environment for Scientific Applications (Lab session) Tak-Lon (Stephen) Wu.
MBAC 611.  We have been using MS Access to query and modify our databases.  MS Access provides a GUI (Graphical User Interface) that hides much of the.
MLalign2D on the Grid Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
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.
7/17/2009 rwjBROOKDALE COMMUNITY COLLEGE1 Unix Comp-145 C HAPTER 2.
Using Macs and Unix Nancy Griffeth January 6, 2014 Funding for this workshop was provided by the program “Computational Modeling and Analysis of Complex.
SoftwareTools CGS 3460, Lecture 7 Jan 25, 2006 Zhen Yang.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
GETTING STARTED ON THE GRID: W. G. SCOTT (RAL/PPD) RAL PHYSICS MEETING TUES 15 MAY GENERATED 10K SAMPLES IN EACH CHANNEL ON LXPLUS (IN 2006) SIMULATED/DIGITISDED.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
The ATLAS Production System. The Architecture ATLAS Production Database Eowyn Lexor Lexor-CondorG Oracle SQL queries Dulcinea NorduGrid Panda OSGLCG The.
Ganga 3 CLIP Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, April 2005.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) WMPROXY API Python & C++ Diego Scardaci
Bigben Pittsburgh Supercomputing Center J. Ray Scott
The gLite API – PART I Giuseppe LA ROCCA INFN Catania ACGRID-II School 2-14 November 2009 Kuala Lumpur - Malaysia.
Distributed Analysis using Ganga I.Ideas behind Ganga II.Getting started III.Running ATLAS applications Distributed Analysis Tutorial ATLAS Computing &
Nadia LAJILI User Interface User Interface 4 Février 2002.
Belle MC Production on Grid 2 nd Open Meeting of the SuperKEKB Collaboration Soft/Comp session 17 March, 2009 Hideyuki Nakazawa National Central University.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 6 System Calls OS System.
UNIX Commands. Why UNIX Commands Are Noninteractive Command may take input from the output of another command (filters). May be scheduled to run at specific.
Group 1 : Grid Computing Laboratory of Information Technology Supervisors: Alexander Ujhinsky Nikolay Kutovskiy.
DIRAC Review (13 th December 2005)Stuart K. Paterson1 DIRAC Review Exposing DIRAC Functionality.
Job handling in Ganga Jakub T. Moscicki ARDA/LHCb GANGA-DIRAC Meeting, June, 2005.
Ganga A quick tutorial Asterios Katsifodimos Trainer, University of Cyprus Nicosia, Feb 16, 2009.
Enabling Grids for E-sciencE EGEE-III INFSO-RI Using DIANE for astrophysics applications Ladislav Hluchy, Viet Tran Institute of Informatics Slovak.
Java Commodity Grid (Java CogKit) Java CogKits allow developers to use commodity technologies such as Java or Python in programming the Grid based on Globus.
Introduction to Ganga Karl Harrison (University of Cambridge) ATLAS Distributed Analysis Tutorial Milano, 5-6 February 2007
Job Management DIRAC Project. Overview  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you have learned? KEK 10/2012DIRAC Tutorial.
Ganga 4 Basics - Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, November 2005.
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.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
Ganga 4 Basics - Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, September 2006.
Enabling Grids for E-sciencE Workload Management System on gLite middleware - commands Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi.
April 27, 2006 The New GANGA GUI 26th LHCb Software Week C L Tan
1 DIRAC Job submission A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
Distributed Data Analysis with GANGA (Tutorial) Alexander Zaytsev Budker Institute of Nuclear Physics (BudkerINP), Novosibirsk On the basis of GANGA EGEE.
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.
ATLAS-specific functionality in Ganga - Requirements for distributed analysis - ATLAS considerations - DIAL submission from Ganga - Graphical interfaces.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
A GANGA tutorial Professor Roger W.L. Jones Lancaster University.
Linux Tutorial Lesson Two *Getting Help in Linux *Data movement and manipulation *Relative and Absolute path *Processes Note: see chapter 1,2,3 from Linux.
​ TdBench 7.2 – tdb.sh Utility Script. 2 Created for TdBench 7.x release to consolidate tools Open architecture – looks for scripts in the./tools directory.
Geant4 GRID production Sangwan Kim, Vu Trong Hieu, AD At KISTI.
IPEmotion License Management PM (V1.2).
Job Management Beijing, 13-15/11/2013. Overview Beijing, /11/2013 DIRAC Tutorial2  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you.
2Operating Systems  Program that runs on a computer  Manages hardware resources  Allows for execution of programs  Acts as an intermediary between.
GRID COMPUTING.
Distrubuited Analysis using GANGA
Development Environment
Submit BOSS Jobs on Distributed Computing System
Assignment Preliminaries
(Chapter 2) John Carelli, Instructor Kutztown University
gLite Job Management Christos Theodosiou
Presentation transcript:

GANGA Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid

GANGA Overview What is GANGA? Is a front end for job definition and management of analysis jobs to run locally and in an distributed environment. It helps in the creation and configuration of analysis job, submission of the jobs and finally monitors job status and take care of saving any output. The PYTHON scripting interface for working with jobs in GANGA is called the GPI (Ganga Public Interface). To start GANGA you simply type : ganga At the command line after entering the directory of GANGA into your PATH. At CERN you will find GANGA installed in the directory /afs/cern.ch/sw/ganga/install/slc3_gcc323/4.2.1/bin

GANGA Overview The PYTHON scripting interface for working with jobs in GANGA is called the GPI (Ganga Public Interface). To start GANGA you simply type ganga You will see a prompt with the number of actions that you have entered. eg: In [1]:

GANGA Overvie At the console, start GANGA with the GUI as the front-end by giving the -- gui argument: $ ganga –gui If it's your first time running GANGA, you will be presented with the following lines: It seems that you run Ganga for the first time and you do not have the config file: ~/.gangarc Would you like to create config file with standard settings ([y]/n) ?y Created standard config file /home/clat/.gangarc Press to continue.

GANGA Overview As requested, create a new GANGA config file with standard settings and hit Enter to continue.

GANGA Overview GANGA at startup ask you to validate your Grid proxy so you can submit jobs to the Grid. If you do not have a certificate GANGA will continue anyway. To get online help in GANGA inside a session simply type help() at the prompt. At this point you can just type the name of the command to see specific help. You exit the help system by typing Ctrl-D. To get help on an individual command from the prompt type help and the name of the command:

Hello World with GANGA –You can create jobs that runs arbitrary executables and scripts. In the first example below we use /bin/echo executable which is present in most most Unix systems to create a Hello World job. In [4]:j = Job(application=Executable(exe='/bin/echo',args=['Hello World'])) In [5]:j.submit() –The job is submitted to the default batch backend which is the local host. The monitoring will report output each time you type return. After it has finished you can get the output.

GANGA Overview Running executables with GANGA –The HelloWorld example uses the /bin/echo command which is available on any computer. However if you want to run your own executable (a binary or a script) you should tell GANGA that you want to use this executable file not a simple command. Your job should be specified like this: j = Job() j.application = Executable(exe=File('~/somescript'), args=['1','2','3']) j.submit()

GANGA Overview All jobs are stored in the job registry, called jobs: In [30]:jobs Out[30]: Statistics: 4 jobs # id status name application backend backend.actualCE # 1 completed Executable Local lxplus059.cern.ch # 2 completed Hello2 Executable Local lxplus059.cern.ch # 3 new myAnalysis DaVinci Dirac # 4 running Hello3 Executable Local lxplus059.cern.ch

GANGA Overview You may retrieve job objects from a registry using their ids: In [27]: print jobs[18].status completed In [28]: for job in jobs:....: print job.id....: If a job is in the submitted or running state you can kill it. Otherwise you will get an error. above. In [32]:jobs[4].kill() Ganga.GPIDev.Lib.Job : INFO killing job 4 Out[32]: 1 In [33]:jobs[1].kill() Ganga.GPIDev.Lib.Job : INFO killing job 1 Ganga.GPIDev.Lib.Job : WARNING cannot kill job which is in 'completed' state

GANGA Overview Job submission backend defines where your job will be run. You can run the same job you ran locally just by attaching a different backend. In [57]:list = [] In [58]:for i in range(10):....: j = Job(application=myexe, backend='LSF', name='LSFHostname')....: list.append(j)

GANGA Overview Job manipulation –You may use an existing job object to create a new job. The first non- named object in the creation of a new object will be used as a copy constructor. Hence the two examples below will both create a copy of the old job, but with a different name: In [1]:j = Job(name='original') In [2]:jcopy1 = j.copy() In [3]:jcopy1.name='Copy1' In [4]:jcopy2 = Job(j,name='Copy2') In [5]:print jobs Statistics: 3 jobs # id status name application backend # 57 new original Executable Local # 58 new Copy1 Executable Local # 59 new Copy2 Executable Local

GANGA Overview If you consider that your jobs occupy too much space you may easily remove them and associated directories from disk: In [2]: jobs[64].remove() Ganga.GPIDev.Lib.Job : INFO removing job 64 To remove all jobs in the registry you can use the clean command In [4]: jobs.clean() In [5]: print jobs Statistics: 0 jobs Take care; this acts like rm -rf * in your file system.

GANGA Overview Writing scripts –You can take advantage of GANGA to write scripts that will perform a large set of actions for you. As an example there is a script submitjobs.py below that will submit a set of jobs corresponding to all scripts in a directory mydir below your home directory: import os dir=os.environ['HOME']+'/mydir' file=os.listdir(dir) for line in file: print line j = Job(Executable(exe=File(dir+'/'+line)) j.submit

GANGA Overview Note that you cannot use the IPYTHON short hand notations script. To run this script you can either do it from within GANGA like In [16]: execfile('submitjobs.py') or indeed straight from the shell command line [lxplus061]~% ganga submitjobs.py

GANGA –Is free software under the GPL license –You can download at: