INFSO-RI-508833 Enabling Grids for E-sciencE www.eu-egee.org Ganga 4 – The Ganga Evolution Andrew Maier.

Slides:



Advertisements
Similar presentations
ATLAS/LHCb GANGA DEVELOPMENT Introduction Requirements Architecture and design Interfacing to the Grid Ganga prototyping A. Soroko (Oxford), K. Harrison.
Advertisements

Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation.
Technical Architectures
SC7 WG6 Rome Engineering Ingegneria Informatica S.p.A. INFSO-RI Isabel Matranga ETICS Automated Building,Testing and Quality Assurance.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
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.
THE GITB TESTING FRAMEWORK Jacques Durand, Fujitsu America | December 1, 2011 GITB |
K.Harrison CERN, 21st November 2002 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Background and scope - Project organisation - Technology survey - Design -
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting June 13-14, 2002.
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.
INFSO-RI Module 01 ETICS Overview Alberto Di Meglio.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
INFSO-RI Module 01 ETICS Overview Etics Online Tutorial Marian ŻUREK Baltic Grid II Summer School Vilnius, 2-3 July 2009.
Job handling in Ganga Jakub T. Moscicki ARDA/LHCb GANGA-DIRAC Meeting, June, 2005.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Ganga A quick tutorial Asterios Katsifodimos Trainer, University of Cyprus Nicosia, Feb 16, 2009.
David Adams ATLAS ADA, ARDA and PPDG David Adams BNL June 28, 2004 PPDG Collaboration Meeting Williams Bay, Wisconsin.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Software Status Sonja Vrcic Socorro,
Enabling Grids for E-sciencE EGEE-III INFSO-RI Using DIANE for astrophysics applications Ladislav Hluchy, Viet Tran Institute of Informatics Slovak.
ARDA Prototypes Andrew Maier CERN. ARDA WorkshopAndrew Maier, CERN2 Overview ARDA in a nutshell –Experiments –Middleware Experiment prototypes (basic.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
Conference name Company name INFSOM-RI Speaker name The ETICS Job management architecture EGEE ‘08 Istanbul, September 25 th 2008 Valerio Venturi.
INFSO-RI Enabling Grids for E-sciencE Graphical User Interface. for Charon Extension Layer System. and Application Dashboards Jan.
INFSO-RI Enabling Grids for E-sciencE Experience of using gLite for analysis of ATLAS combined test beam data A. Zalite / PNPI.
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.
Ganga 4 Basics - Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, November 2005.
EGEE is a project funded by the European Union under contract IST “Interfacing to the gLite Prototype” Andrew Maier / CERN LCG-SC2, 13 August.
Ganga 4 Basics - Tutorial Jakub T. Moscicki ARDA/LHCb Ganga Tutorial, September 2006.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Using GStat 2.0 for Information Validation.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Progress on first user scenarios Stephen.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Tools and techniques for managing virtual machine images Andreas.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
April 27, 2006 The New GANGA GUI 26th LHCb Software Week C L Tan
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
INFSO-RI Enabling Grids for E-sciencE Charon Extension Layer. Modular environment for Grid jobs and applications management Jan.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Ganga User Interface EGEE Review Jakub Moscicki.
1 DIRAC Job submission A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
David Adams ATLAS ATLAS Distributed Analysis: Overview David Adams BNL December 8, 2004 Distributed Analysis working group ATLAS software workshop.
Using Ganga for physics analysis Karl Harrison (University of Cambridge) ATLAS Distributed Analysis Tutorial Milano, 5-6 February 2007
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
David Adams ATLAS ATLAS-ARDA strategy and priorities David Adams BNL October 21, 2004 ARDA Workshop.
ATLAS-specific functionality in Ganga - Requirements for distributed analysis - ATLAS considerations - DIAL submission from Ganga - Graphical interfaces.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
EGI Technical Forum Amsterdam, 16 September 2010 Sylvain Reynaud.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
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)
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
INFSO-RI Enabling Grids for E-sciencE Status of BLAH Francesco Prelz ( ) JRA1 All-Hands meeting, Nicosia,
Seven things you should know about Ganga K. Harrison (University of Cambridge) Distributed Analysis Tutorial ATLAS Software & Computing Workshop, CERN,
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks GOCDB4 Gilles Mathieu, RAL-STFC, UK An introduction.
Progress on Design and Implement of Job Management System Suo Bing, Yan Tian, Zhao Xianghu
(on behalf of the POOL team)
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
The Ganga User Interface for Physics Analysis on Distributed Resources
Module 01 ETICS Overview ETICS Online Tutorials
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 2 Overview Problems with Ganga 3 Ganga 4 development –Based on the Ganga scripting interface –Functional decomposition  Client  Application Manager  Job Manager  Remote Registry –Handler Plugin Example Next Steps

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 3 Problems with Ganga 3 Ganga’s current version is –The 3.x.x series is now in maintenance mode  No new features  Only bug fixes Needs a simple user interface Lacks a clear job structure Needs better internal decomposition –To enhance maintainability Would like to integrate new features –Remote registry –Job templates –Merging in addition to splitting –Better support for user plugins

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 4 Ganga 4 development Ganga’s next version will be Ganga 4 –Discussion on Ganga development started at the beginning of the year  Complete re-implementation decided –End of main design phase in March –Design principles have been tested with a set of mini prototypes

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 5 Ganga 4 is based on the Ganga scripting interface, the GUI will follow later Ganga 4 will overcome some of the shortcomings of the current release –By using a modular design –Applying functional decomposition of modules –Having extended functionality Ganga 4 - Introduction

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 6 Ganga 4 - Introduction Ganga 4 – Software Reengineering –Starting point:  recode Ganga 4 from scratch where needed  add GUI later –GPI – Ganga Public Interface  95% based on Ganga3 CLIP –Ganga Core:  fast and reliable  self-contained (NO GUI)  clear architecture and module dependency allow remote registry for sharing jobs (near future) allow Client-Server split (far future) –Functionality  reuse (at least at the prototype level) all existing Ganga 3 handlers

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 7 Ganga Public Interface The Ganga Public Interface (GPI) represents the logical model of Ganga. It describes the objects (jobs, applications, backends…) and their properties. For the user the GPI is accessible (to a large extent) via the CLIP (Command Line Interface in Python) It is extensible in the sense that each application or backend may define their own set of properties visible to the user.

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 8 Internal architecture Application Manager Job Manager Remote Registry Client Ganga 4 is decomposed into 4 functional components These components also describe the components in a distributed model. Strategy: Design each component so that it could be a separate service. But allow to combine two or more components into a single service

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 9 Client Application Manager Job Manager Remote Registry Client Runs the Ganga interface (CLIP, GPI, GUI) The user interacts exclusively through the client With the client, the user creates, modifies, submits and monitors jobs Job configuration is kept in a registry which can be local (within the client) or remote.

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 10 Client Application Manager Job Manager Remote Registry Client The client should be a thin client (pure python) The client can be a command line client or a GUI The client interacts with the application manager to configure applications It submits and monitors jobs via the job manager It keeps state by storing persistent information in the registry

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 11 Application Manager Application Manager Job Manager Remote Registry Client Prepares and configures the application Compiles user code Sets-up the necessary environment Provides information to the client on available applications, versions, platforms, etc.

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 12 Job Manager Application Manager Job Manager Remote Registry Client Submits the configured job to the submission backend A submission handler submits a job to a backend –Creates the starter script and the JDL – performs the monitoring The application runtime handler –prepares the application dependent wrapper script, depending on the backend. –E.g., DIRAC knows how to run LHCb applications with a different setup as LSF.

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 13 Remote Registry Application Manager Job Manager Remote Registry Client Keeps track of jobs Is a “passive” data store, typically using a database backend Keeps a roaming profile of the user jobs Keeps track of the job status May cache the output of a job in a local SE. This component is the most likely to be run on a separate host.

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 14 Ganga 4 - Plans Ganga 4 Reengineering –Planned functionality ( -> order of implementation):  Applications: Generic Executable -> Gaudi (DaVinci, Brunel, Boole,...)  Backends: Local -> LSF -> DIRAC -> Glite  Registry: Local -> Remote –Design help: quick series of mini-prototypes to explore new areas  e.g. remote registry tests (~ create/update10 jobs/s) using ARDA MD

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 15 Handler Plugin Example A practical example for experts: Creating a Ganga 4 handler will be easy to write As an example: the prototype Ganga 4 application handler for Gaudi: –Create a class derived from GaudiObject –Define a schema of data the handler requires –Implement the interface for the handler

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 16 Handler Plugin Example ## Import the GPI from Ganga.GPIDev.Base import GangaObject from Ganga.GPIDev.Schema import * […] class Gaudi(GangaObject): # Set up the schema for this application _schema = Schema(Version(1,0),{'optsfile':FileItem(), 'version':SimpleItem(None), 'platform':SimpleItem(None), 'package': SimpleItem(None), 'appname':SimpleItem(None)}) _category='applications‘ Describe the data needed to configure and run an application Set the type of your plugin Create a class based on GangaObject. Provide a Schema for you data Fulfill the interface for the type of handler

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 17 Handler Plugin Example def configure(self): […] extra=GaudiExtras() […] extra.flatopts=FileParser.writeString(gaudiopts,"exp and") return (None,extra) def list_choices(self,property): class GaudiExtras(GangaObject): _schema = Schema(Version(1,0),{"flatopts": SimpleItem(None)}) _name="GaudiExtras" _category="extras“ _name='Gaudi' Use a GaudiExtras object to return information added by configure Create a Schema with the data of the configured app Set the category of this class to “extras”

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 18 Next Steps The first alpha release of Ganga 4 is expected for tomorrow (15/4/05) This will be a first integration release to integrate the four components This alpha release will be the code base for future development A first beta release will contain the functionality of Ganga 3 (without GUI) Followed by a user release (possibly with GUI)

Enabling Grids for E-sciencE INFSO-RI Ganga Tutorial - A. Maier 19 Ganga 4 - Plans Ganga 4 Reengineering –General strategy  code for now but design for the future start with all-in-one-Client but gradually put more functionality on the Server side  limit the number of binary dependencies  ability to import Ganga GPI into another python application –Goal: by mid-April: reproduce Ganga 3 functionality (NO GUI)  First alpha release on Friday (First integration release)