Ganga: a User-Grid Interface for ATLAS and LHCb Motivation and background Objectives and design Low-level tools High-level tools and GUI Future plans and.

Slides:



Advertisements
Similar presentations
K. Harrison Liverpool, 14th September 2004 GANGA DEVELOPMENT - Objectives and organisation - Ganga in ATLAS and LHCb - Release status - Work in progress.
Advertisements

ATLAS/LHCb GANGA DEVELOPMENT Introduction Requirements Architecture and design Interfacing to the Grid Ganga prototyping A. Soroko (Oxford), K. Harrison.
13/05/2004Janusz Martyniak Imperial College London 1 Using Ganga to Submit BaBar Jobs Development Status.
6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
The GANGA Interface for ATLAS/LHCb Project overview Design details Component descriptions Interfaces Refactorisation plans ARDA Roger W L Jones ( Lancaster.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
K. Harrison CERN, 15th May 2003 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Development strategy - Ganga prototype - Release plans - Conclusions.
- Python & Grid (19dec02 - Caltech) Python Scripting and Grid User Environments Craig E. Tull Trillium Analysis Environment for.
5 November 2001F Harris GridPP Edinburgh 1 WP8 status for validating Testbed1 and middleware F Harris(LHCb/Oxford)
K.Harrison CERN, 21st November 2002 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Background and scope - Project organisation - Technology survey - Design -
3 Sept 2001F HARRIS CHEP, Beijing 1 Moving the LHCb Monte Carlo production system to the GRID D.Galli,U.Marconi,V.Vagnoni INFN Bologna N Brook Bristol.
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
K. Harrison CERN, 20th April 2004 AJDL interface and LCG submission - Overview of AJDL - Using AJDL from Python - LCG submission.
K.Harrison CERN, 6th March 2003 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Aims and design - Progress with low-level software - Progress with Graphical User.
SLICE Simulation for LHCb and Integrated Control Environment Gennady Kuznetsov & Glenn Patrick (RAL) Cosener’s House Workshop 23 rd May 2002.
QCDGrid Progress James Perry, Andrew Jackson, Stephen Booth, Lorna Smith EPCC, The University Of Edinburgh.
Cosener’s House – 30 th Jan’031 LHCb Progress & Plans Nick Brook University of Bristol News & User Plans Technical Progress Review of deliverables.
Nick Brook Current status Future Collaboration Plans Future UK plans.
Nadia LAJILI User Interface User Interface 4 Février 2002.
1 DIRAC – LHCb MC production system A.Tsaregorodtsev, CPPM, Marseille For the LHCb Data Management team CHEP, La Jolla 25 March 2003.
Belle MC Production on Grid 2 nd Open Meeting of the SuperKEKB Collaboration Soft/Comp session 17 March, 2009 Hideyuki Nakazawa National Central University.
David Adams ATLAS ATLAS Distributed Analysis Plans David Adams BNL December 2, 2003 ATLAS software workshop CERN.
ATLAS and GridPP GridPP Collaboration Meeting, Edinburgh, 5 th November 2001 RWL Jones, Lancaster University.
K. Harrison CERN, 25th September 2003 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Project news - Ganga release 1 - Work towards Ganga release 2 - Interaction.
K.Harrison BNL, 7 May 2002 Overview of GANGA – First steps towards GANGA – Outline of required functionality – Some existing technology – Conclusions.
November SC06 Tampa F.Fanzago CRAB a user-friendly tool for CMS distributed analysis Federica Fanzago INFN-PADOVA for CRAB team.
Ganga A quick tutorial Asterios Katsifodimos Trainer, University of Cyprus Nicosia, Feb 16, 2009.
LHCb-INFN Computing for the years CSN1, Perugia, November 11, 2002 Domenico Galli, Bologna.
ARDA Prototypes Andrew Maier CERN. ARDA WorkshopAndrew Maier, CERN2 Overview ARDA in a nutshell –Experiments –Middleware Experiment prototypes (basic.
T3 analysis Facility V. Bucard, F.Furano, A.Maier, R.Santana, R. Santinelli T3 Analysis Facility The LHCb Computing Model divides collaboration affiliated.
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
Grid User Interface for ATLAS & LHCb A more recent UK mini production used input data stored on RAL’s tape server, the requirements in JDL and the IC Resource.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
3 rd May’03Nick Brook – 4 th LHC Symposium1 Data Analysis – Present & Future Nick Brook University of Bristol Generic Requirements & Introduction Expt.
A PanDA Backend for the Ganga Analysis Interface J. Elmsheuser 1, D. Liko 2, T. Maeno 3, P. Nilsson 4, D.C. Vanderster 5, T. Wenaus 3, R. Walker 1 1: Ludwig-Maximilians-Universität.
EGEE is a project funded by the European Union under contract IST “Interfacing to the gLite Prototype” Andrew Maier / CERN LCG-SC2, 13 August.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
1 DIRAC Job submission A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
K. Harrison CERN, 3rd March 2004 GANGA CONTRIBUTIONS TO ADA RELEASE IN MAY - Outline of Ganga project - Python support for AJDL - LCG analysis service.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Grid2Win : gLite for Microsoft Windows Roberto.
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
ATLAS-specific functionality in Ganga - Requirements for distributed analysis - ATLAS considerations - DIAL submission from Ganga - Graphical interfaces.
- GMA Athena (24mar03 - CHEP La Jolla, CA) GMA Instrumentation of the Athena Framework using NetLogger Dan Gunter, Wim Lavrijsen,
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
1 A Scalable Distributed Data Management System for ATLAS David Cameron CERN CHEP 2006 Mumbai, India.
Ganga development - Theory and practice - Ganga 3 - Ganga 4 design - Ganga 4 components and framework - Conclusions K. Harrison CERN, 25th May 2005.
ATLAS Distributed Analysis Dietrich Liko IT/GD. Overview  Some problems trying to analyze Rome data on the grid Basics Metadata Data  Activities AMI.
K. Harrison CERN, 21st February 2005 GANGA: ADA USER INTERFACE - Ganga release Python client for ADA - ADA job builder - Ganga release Conclusions.
K. Harrison BNL, 29th August 2003 THE GANGA PROJECT -Project objectives and organisation - Ganga design - Current status of software - Conclusions.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
Interfacing Gaudi to the Grid (GANGA) Introduction Requirements Architecture and design Interfacing to the Grid Ganga prototyping A. Soroko (Oxford), K.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
David Adams ATLAS ADA: ATLAS Distributed Analysis David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Consorzio COMETA - Progetto PI2S2 UNIONE EUROPEA Grid2Win : gLite for Microsoft Windows Elisa Ingrà - INFN.
ATLAS Physics Analysis Framework James R. Catmore Lancaster University.
Seven things you should know about Ganga K. Harrison (University of Cambridge) Distributed Analysis Tutorial ATLAS Software & Computing Workshop, CERN,
Moving the LHCb Monte Carlo production system to the GRID
The LHCb Software and Computing NSS/IEEE workshop Ph. Charpentier, CERN B00le.
D. Galli, U. Marconi, V. Vagnoni INFN Bologna N. Brook Bristol
The Ganga User Interface for Physics Analysis on Distributed Resources
Simulation and Physics
Status and plans for bookkeeping system and production tools
Production Manager Tools (New Architecture)
Production client status
Presentation transcript:

Ganga: a User-Grid Interface for ATLAS and LHCb Motivation and background Objectives and design Low-level tools High-level tools and GUI Future plans and conclusions K. Harrison, P. Mato, A. Soroko and C. Tull

25/03/2003CHEP 2003, La Jolla, California 2 Motivation and background ATLAS and LHCb develop applications within a common framework: Gaudi/Athena Both collaborations aim to exploit potential of Grid for large-scale, data-intensive distributed computing ATLAS and LHCb develop applications within a common framework: Gaudi/Athena Both collaborations aim to exploit potential of Grid for large-scale, data-intensive distributed computing Simplify management of analysis and production jobs for end- user physicists by developing tools for accessing Grid services with built-in knowledge of how Gaudi/Athena works: Gaudi/Athena and Grid Alliance (GANGA) Generic tools interfacing to the Grid can be used at other experiments. Simplify management of analysis and production jobs for end- user physicists by developing tools for accessing Grid services with built-in knowledge of how Gaudi/Athena works: Gaudi/Athena and Grid Alliance (GANGA) Generic tools interfacing to the Grid can be used at other experiments.

25/03/2003CHEP 2003, La Jolla, California 3 Athena/GAUDI GANGA GUI JobOptions Algorithms Collective & Resource Grid Services Histograms Monitoring Results First ideas for GANGA were presented in summer 2001 (P.Mato and C.Tull) An Atlas/LHCb design team was set up, including US representatives Motivation and background

25/03/2003CHEP 2003, La Jolla, California 4 Objectives and design The user interacts with a single application integrating all stages of job life-time. Modular design. Each module can be accessed via Python interface or is entirely written in Python. Although Atlas and LHCb use the same framework and the same software management tool, there are significant differences in what is expected from the software, and Ganga must have the flexibility to cope. Ganga provides a set of tools to manipulate jobs and data. Tools are accessible from CLI (other scripts) or from GUI. Ganga allows access both to the local resources (LSF batch system) and to the GRID. Should follow, and contribute to, developments in LCG. The user interacts with a single application integrating all stages of job life-time. Modular design. Each module can be accessed via Python interface or is entirely written in Python. Although Atlas and LHCb use the same framework and the same software management tool, there are significant differences in what is expected from the software, and Ganga must have the flexibility to cope. Ganga provides a set of tools to manipulate jobs and data. Tools are accessible from CLI (other scripts) or from GUI. Ganga allows access both to the local resources (LSF batch system) and to the GRID. Should follow, and contribute to, developments in LCG.

25/03/2003CHEP 2003, La Jolla, California 5 Required Functionality Job preparation and configuration Resource booking Job submission User can choose between Grid and local resource management system Job monitoring and control GUI for the resource browsing VO active services CEs SEs Query existing files in the Grid GUI for data management tools e.g., Dataset registration to the Grid (used by Production Manager) Copy file from a Computing Element to a Storage Element Replication of files Job preparation and configuration Resource booking Job submission User can choose between Grid and local resource management system Job monitoring and control GUI for the resource browsing VO active services CEs SEs Query existing files in the Grid GUI for data management tools e.g., Dataset registration to the Grid (used by Production Manager) Copy file from a Computing Element to a Storage Element Replication of files

25/03/2003CHEP 2003, La Jolla, California 6 Athena/Gaudi Architecture Converter Algorithm Event Data Service Persistency Service Data Files Algorithm Transient Event Store Detec. Data Service Persistency Service Data Files Transient Detector Store Message Service JobOptions Service Particle Prop. Service Other Services Histogram Service Persistency Service Data Files Transient Histogram Store Application Manager Converter

25/03/2003CHEP 2003, La Jolla, California 7 Ganga: Python Bus Design Server Bookkeeping DB Production DB EDG UI PYTHON SW BUS XML RPC server XML RPC module GANGA Core Module OS Module Athena\ GAUDI GaudiPython PythonROOT PYTHON SW BUS GUI Job Configuration DB Remote user (client) Local Job DB LAN/WAN GRID LRMS

25/03/2003CHEP 2003, La Jolla, California 8 Class Diagram of Ganga Core Module JobHandler Requirements JobAttributes Credentials 1 1… Job JobsRegistryJobsCatalog Application GaudiApplicationHandler Configuration ConfDataBase ParameterExecutable 1 0… …

25/03/2003CHEP 2003, La Jolla, California 9 Ganga Job and Application Handlers ApplicationHandler AnotherApplicationHandler GaudiApplicationHandler DaVinchiApplicationHandler Address different types of applications JobHandler AnotherJobHandler GridJobHandler PBSJobHandlerLSFJobHandler LocalJobHandler Address different types of batch systems

25/03/2003CHEP 2003, La Jolla, California 10 Core Module Implementation Most of base classes are developed. Serialization of objects (user jobs) is implemented with the Python pickle module. GaudiApplicationHandler can access Configuration DB for some Gaudi applications (Brunel). It is implemented with the xmlrpclib module. Ganga can create user-customized Job Options files using this DB. DaVinci and AtlFast application handlers are in the last stage of development. LSFJobHandler is implemented. It allows to submit and to get simple monitoring information for a job at LSF batch system. Much of GRID-related functionality is already implemented in GridJobHandler using EDG testbed 1.4 software. Ganga can submit, monitor, and get output from GRID jobs. JobsRegistry class provides jobs monitoring via multithreaded environment based on Python threading module Most of base classes are developed. Serialization of objects (user jobs) is implemented with the Python pickle module. GaudiApplicationHandler can access Configuration DB for some Gaudi applications (Brunel). It is implemented with the xmlrpclib module. Ganga can create user-customized Job Options files using this DB. DaVinci and AtlFast application handlers are in the last stage of development. LSFJobHandler is implemented. It allows to submit and to get simple monitoring information for a job at LSF batch system. Much of GRID-related functionality is already implemented in GridJobHandler using EDG testbed 1.4 software. Ganga can submit, monitor, and get output from GRID jobs. JobsRegistry class provides jobs monitoring via multithreaded environment based on Python threading module

25/03/2003CHEP 2003, La Jolla, California 11 EDG Grid Interface Job class JobsRegistry class Job Handler class Data management service Job submission Job monitoring Security service dg-job-list-match dg-job-submit dg-job-cancel dg-job-list-match dg-job-submit dg-job-cancel grid-proxy-init MyProxy grid-proxy-init MyProxy dg-job-status dg-job-get-logging-info GRM/PROVE dg-job-status dg-job-get-logging-info GRM/PROVE edg-replica-manager dg-job-get-output globus-url-copy GDMP edg-replica-manager dg-job-get-output globus-url-copy GDMP EDG UI

25/03/2003CHEP 2003, La Jolla, California 12 Ganga: low-level tools  In Ganga, components used to define a job are mapped to Python classes.  The low-level software needs to provide representations of the most basic components, and must allow flexibility in manipulating them.  Users will have access to low-level data and methods at the command line, but in most cases shouldn’t need them  Low-level software works, but is preliminary.  Some details of component representations and their interfaces are still being discussed by development team, but most of them have already been defined.  In Ganga, components used to define a job are mapped to Python classes.  The low-level software needs to provide representations of the most basic components, and must allow flexibility in manipulating them.  Users will have access to low-level data and methods at the command line, but in most cases shouldn’t need them  Low-level software works, but is preliminary.  Some details of component representations and their interfaces are still being discussed by development team, but most of them have already been defined.

25/03/2003CHEP 2003, La Jolla, California 13 Low-level tools: Atlas example (AtlFast) atlasSetup = GangaCommand(“source /afs/cern.ch/user/h/harrison/public/atlasSetup.sh”) atlfast = GangaCMTApplication(“TestRelease”, “TestRelease ”,”athena.exe”, “run/AtlasfastOptions.txt”) atlfastOutput = GangaOutputFile(“atlfast.ntup”) workStep1 = GangaWorkStep([atlasSetup,atlfast,atlfastOutput]) workFlow = GangaWorkFlow([workStep1]) lsfJob = GangaLSFJob(“atlfastTest”,workFlow) lsfJob.build() lsfJob.run() atlasSetup = GangaCommand(“source /afs/cern.ch/user/h/harrison/public/atlasSetup.sh”) atlfast = GangaCMTApplication(“TestRelease”, “TestRelease ”,”athena.exe”, “run/AtlasfastOptions.txt”) atlfastOutput = GangaOutputFile(“atlfast.ntup”) workStep1 = GangaWorkStep([atlasSetup,atlfast,atlfastOutput]) workFlow = GangaWorkFlow([workStep1]) lsfJob = GangaLSFJob(“atlfastTest”,workFlow) lsfJob.build() lsfJob.run() At this level, there is less built-in intelligence than in ASK, but a lot of flexibility

25/03/2003CHEP 2003, La Jolla, California 14 Low-level tools: LHCb example (DaVinci) lhcbSetup = GangaCommand(“source /afs/cern.ch/lhcb/scripts/lhcbenv.sh”) daVinciSetup = GangaCommand(“source /afs/cern.ch/lhcb/scripts/ProjectEnv.sh DaVinci v7r2”) daVinci = GangaCMTApplication(“Phys/DaVinci”, “v7r2”,”DaVinci.exe”, “options/DaVinci.opts”) daVinciOutput = GangaOutputFile(“dvhistos.hbook”) workStep1 = GangaWorkStep([lhcbSetup,daVinciSetup,daVinci, daVinciOutput]) workFlow = GangaWorkFlow([workStep1]) lsfJob = GangaLSFJob(“daVinciTest”,workFlow) lsfJob.build() lsfJob.run() lhcbSetup = GangaCommand(“source /afs/cern.ch/lhcb/scripts/lhcbenv.sh”) daVinciSetup = GangaCommand(“source /afs/cern.ch/lhcb/scripts/ProjectEnv.sh DaVinci v7r2”) daVinci = GangaCMTApplication(“Phys/DaVinci”, “v7r2”,”DaVinci.exe”, “options/DaVinci.opts”) daVinciOutput = GangaOutputFile(“dvhistos.hbook”) workStep1 = GangaWorkStep([lhcbSetup,daVinciSetup,daVinci, daVinciOutput]) workFlow = GangaWorkFlow([workStep1]) lsfJob = GangaLSFJob(“daVinciTest”,workFlow) lsfJob.build() lsfJob.run() Command sequences for Atlas and LHCb are very similar

25/03/2003CHEP 2003, La Jolla, California 15 Ganga: high-level tools  In Ganga, common tasks are realized via methods of job and application handler classes (JobHandler, ApplicationHandler and their subclasses).  The low-level software needs to provide building blocks for these methods.  High-level tools are available both at the command line and through a GUI.  More advanced functionality will appear with the progress of low-level tools development.  In Ganga, common tasks are realized via methods of job and application handler classes (JobHandler, ApplicationHandler and their subclasses).  The low-level software needs to provide building blocks for these methods.  High-level tools are available both at the command line and through a GUI.  More advanced functionality will appear with the progress of low-level tools development.

25/03/2003CHEP 2003, La Jolla, California 16 Ganga: GUI Implementation GUI is created using wxPython extension module. All job configuration data are represented as a hierarchical structure accessible via tree control. Most important job parameters are brought to the top of the tree. All job parameters defined by the user can be edited via GUI dialogs. All implemented tools are available via GUI, but some of them require more elaborated interface, e.g., Job Options browser/editor. Python interpreter is embedded into the GUI and allows user to configure interface from the command line. GUI is created using wxPython extension module. All job configuration data are represented as a hierarchical structure accessible via tree control. Most important job parameters are brought to the top of the tree. All job parameters defined by the user can be edited via GUI dialogs. All implemented tools are available via GUI, but some of them require more elaborated interface, e.g., Job Options browser/editor. Python interpreter is embedded into the GUI and allows user to configure interface from the command line.

25/03/2003CHEP 2003, La Jolla, California 17 GUI Snapshots Embedded Python interpreter

25/03/2003CHEP 2003, La Jolla, California 18 GUI Snapshots Create a new job

25/03/2003CHEP 2003, La Jolla, California 19 GUI Snapshots Access Job (application) options downloaded from DB

25/03/2003CHEP 2003, La Jolla, California 20 GUI Snapshots Define batch system

25/03/2003CHEP 2003, La Jolla, California 21 GUI Snapshots Define necessary resources

25/03/2003CHEP 2003, La Jolla, California 22 GUI Snapshots Submit the job (after configuration)

25/03/2003CHEP 2003, La Jolla, California 23 GUI Snapshots Job has been submitted successfully

25/03/2003CHEP 2003, La Jolla, California 24 GUI Snapshots Job monitoring has been started automaticall y

25/03/2003CHEP 2003, La Jolla, California 25 GUI Snapshots Standard output for the “Hello World” LSF job

25/03/2003CHEP 2003, La Jolla, California 26 Future Plans and Conclusions One of the immediate plans is to complete implementation of Grid data management tools (interface to GDMP and replica-manager). Advanced Job Options Editor should be developed and integrated with Ganga. We plan to add new job handlers, e.g., for PBS and for local PC. While we assume that basic LHCb software is available at worker nodes, we can’t require the same for the user code. Therefore the possibility to build user software remotely with Ganga should be investigated. Web-based variant of GUI (or thin remote client) should be considered. Some questions remain related to the security issues, but we can try Globus PyCoG to overcome these problems. We plan to investigate possibilities for exploiting Grid Monitoring Architecture in Ganga. Code for the Ganga package can be obtained from Gaudi CVS repository. More information about GANGA development can be found in the web site One of the immediate plans is to complete implementation of Grid data management tools (interface to GDMP and replica-manager). Advanced Job Options Editor should be developed and integrated with Ganga. We plan to add new job handlers, e.g., for PBS and for local PC. While we assume that basic LHCb software is available at worker nodes, we can’t require the same for the user code. Therefore the possibility to build user software remotely with Ganga should be investigated. Web-based variant of GUI (or thin remote client) should be considered. Some questions remain related to the security issues, but we can try Globus PyCoG to overcome these problems. We plan to investigate possibilities for exploiting Grid Monitoring Architecture in Ganga. Code for the Ganga package can be obtained from Gaudi CVS repository. More information about GANGA development can be found in the web site