Ganga/Dirac Data Management meeting 16-17 October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)

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

Software change management
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Computers Are Your Future
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
--What is a Database--1 What is a database What is a Database.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
Application architectures
Object-Oriented Analysis and Design
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 Outline 7.1 Introduction 7.2 Implementing a Time Abstract Data Type with a Class 7.3 Special Attributes 7.4Controlling Access to Attributes 7.4.1Get.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Application architectures
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
UNIT-V The MVC architecture and Struts Framework.
Bookkeeping data Monitoring info Get jobs Site A Site B Site C Site D Agent Production service Monitoring service Bookkeeping service Agent © Andrei Tsaregorodtsev.
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Xactium xDSLs Run Models Not Code Tony Clark
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
1 Document Object Model (DOM) MV4920 – XML 24 September 2001 Simon R. Goerger MAJ, US Army
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
K.Harrison CERN, 21st November 2002 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Background and scope - Project organisation - Technology survey - Design -
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
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.
Configuration Management (CM)
K.Harrison CERN, 6th March 2003 GANGA: GAUDI/ATHENA AND GRID ALLIANCE - Aims and design - Progress with low-level software - Progress with Graphical User.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Cosener’s House – 30 th Jan’031 LHCb Progress & Plans Nick Brook University of Bristol News & User Plans Technical Progress Review of deliverables.
Khoros Yongqun He Dept. of Computer Science, Virginia Tech.
Selected Topics in Software Engineering - Distributed Software Development.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
© Geodise Project, University of Southampton, Knowledge Management in Geodise Geodise Knowledge Management Team Barry Tao, Colin Puleston, Liming.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
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.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CS223: Software Engineering
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
Chapter – 8 Software Tools.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
© Geodise Project, University of Southampton, Workflow Application Fenglian Xu 07/05/03.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
© Geodise Project, University of Southampton, Workflow Support for Advanced Grid-Enabled Computing Fenglian Xu *, M.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Databases (CS507) CHAPTER 2.
Practical using C++ WMProxy API advanced job submission
CST 1101 Problem Solving Using Computers
DIRAC Production Manager Tools
Software Tools and Environments
Database System Concepts and Architecture
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Data, Databases, and DBMSs
Chapter 7 –Implementation Issues
Wide Area Workload Management Work Package DATAGRID project
Status and plans for bookkeeping system and production tools
Production Manager Tools (New Architecture)
Presentation transcript:

Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)

Job Control & Monitoring Gennady Kuznetsov Requirements for the Job Control and Monitoring script 1.Interpreter. 2.Platform independent. 3.Well developed language with a rich API. 4.Object-oriented (we need separate variable scopes). Candidates: Python, Java, Rugby, shells We chose Python. (Java required compilation)

Current Design Gennady Kuznetsov Job Configuration, Data Production, Bookkeeping - Design Document, M. Frank (Editor), 04/12/2001

Components Module Step Workflow Job Production Levels of usage: 1.Module – Programmer 2.Step – Production manager 3.Workflow – User We add Module as additional component of the architecture Each step generates job as a Python program. This module structure allow us to construct any algorithm as a combination of modules. Gennady Kuznetsov

Module Gennady Kuznetsov Variable VariableCollection Module ModuleDefinitionModuleInstance n 1 StepDefinition n 1 n 1 Example of the generated code # Module Instance=iterration3 Type=PrintTest iterration3 = PrintTest() iterration3.value1 = iterration1.result # type=int iterration3.value2 = iterration2.result # type=double iterration3.execute() Each variable has Name Type (for information only) Value Stated as “input” & “output” Name of the instance of linked module Name of the variable of linked module Description ModuleInstances can be connected with each other and forms a Step. Each Step can be instantiated as a single Job

Module Editor Python code of single module. Can be many classes. Module variables. Description Module Name Stored as XML file Gennady Kuznetsov

Step Editor Step Name Description Definitions of Modules Instances of Modules Graphical representation of Module relationship (not ready) Variables of currently selected instance Selected instance Stored as XML file, where all modules are embedded Gennady Kuznetsov

Workflow Editor Not ready yet. It will link all jobs in a workflow instance. The simplest workflow is a single step. It will combine workflow and “Vector” and generate as many instances of workflow as many members in a vector. For example, it can be list of numbers (job number or name) or it can be a list of files for reconstruction or analysis. Gennady Kuznetsov

Layered Architecture Gennady Kuznetsov Module Module Library Step Workflow Module Editor Editors Step Editor Workflow Editor Programmer Programmer & Production Manager Production Manager & User Ganga Workflow Editor with limited functionality (configuration only) User Module library is a collection of XML files on shared file system (like AFS). Can be updated by anyone. It give us a lot of flexibility and freedom.

Combining all together Gennady Kuznetsov Flexible part of the code Permanent part of the code Integrated Environment Ganga User Interface to Workflow Job Execution Code Ganga Dirac Editors Module library Workflow Repacked as Modules Used as it is now Creates Use an interface specification from Workflow

Complete Structure Gennady Kuznetsov Ganga UI Permanent Module Library Flexible & Experiment dependent Dirac Editors Permanent Grid, Batch or Submission Service Submit Python job Use Create and use Submit Python job

What To Do? Gennady Kuznetsov If this proposal would be accepted: For the Data challenge (MC Simulation) 1.Extract execution code from Ganga and reorganize it as a modular structure and pack it as a Module Library using Dirac Editors. (Ganga, Dirac) 2.To make appropriate modification in the Job Handler class. (Ganga) For the User Analysis 1.Design formal specification for the User Interface (XML?) 2.Implement User Interface Rendering Engine (Ganga) 3.Reserve field in Workflow (XML) and design editing tool as part of the Workflow Editor (Dirac).

Collaboration with Ganga Gennady Kuznetsov Flexibility Save initial project development time. Good base for the code evolution. Wide and robust testing. Efficient code maintenance. Satisfy users with wide requirements. Combine development power of two groups Modular structure Reusable code Layered architecture. No functional limitations specified at the 1 st level. Modular architecture of the executables. The same modules could be tested in different experiments or by different groups. Service standardisation Code sharing 3 Levels of GUI (Programmer, Production manager, End user).