Framework of Job Managing for MDC Reconstruction and Data Production Li Teng Zhang Yao Huang Xingtao SDU 2013.7.4.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
Status of BESIII Distributed Computing BESIII Workshop, Mar 2015 Xianghu Zhao On Behalf of the BESIII Distributed Computing Group.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
1 Generic logging layer for the distributed computing by Gene Van Buren Valeri Fine Jerome Lauret.
T-FLEX DOCs PLM, Document and Workflow Management.
Grid and CDB Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
ProActive Task Manager Component for SEGL Parameter Sweeping Natalia Currle-Linde and Wasseim Alzouabi High Performance Computing Center Stuttgart (HLRS),
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
Usage of the Python Programming Language in the CMS Experiment Rick Wilkinson (Caltech), Benedikt Hegner (CERN) On behalf of CMS Offline & Computing 1.
Geography 465 Overview Geoprocessing in ArcGIS. MODELING Geoprocessing as modeling.
ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET.
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.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
CFT Offline Monitoring Michael Friedman. Contents Procedure  About the executable  Notes on how to run Results  What output there is and how to access.
A Distributed Computing System Based on BOINC September - CHEP 2004 Pedro Andrade António Amorim Jaime Villate.
A Metadata Catalog Service for Data Intensive Applications Presented by Chin-Yi Tsai.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
03/27/2003CHEP20031 Remote Operation of a Monte Carlo Production Farm Using Globus Dirk Hufnagel, Teela Pulliam, Thomas Allmendinger, Klaus Honscheid (Ohio.
DUCKS – Distributed User-mode Chirp- Knowledgeable Server Joe Thompson Jay Doyle.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
David Adams ATLAS AJDL: Analysis Job Description Language David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Wenjing Wu Computer Center, Institute of High Energy Physics Chinese Academy of Sciences, Beijing BOINC workshop 2013.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Introduction to ASP.NET T.Ahlam Algharasi. The Visual Studio IDE Start page 2.
Event Data History David Adams BNL Atlas Software Week December 2001.
Stuart Wakefield Imperial College London Evolution of BOSS, a tool for job submission and tracking W. Bacchi, G. Codispoti, C. Grandi, INFN Bologna D.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Ganga A quick tutorial Asterios Katsifodimos Trainer, University of Cyprus Nicosia, Feb 16, 2009.
Giuseppe Codispoti INFN - Bologna Egee User ForumMarch 2th BOSS: the CMS interface for job summission, monitoring and bookkeeping W. Bacchi, P.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Ibm.com /redbooks © Copyright IBM Corp All rights reserved. WP07 ITSO iSeries Technical Forum WebSphere Portal Express– Installation, Configuration.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Unified scripts ● Currently they are composed of a main shell script and a few auxiliary ones that handle mostly the local differences. ● Local scripts.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
AliEn AliEn at OSC The ALICE distributed computing environment by Bjørn S. Nilsen The Ohio State University.
A PPARC funded project Common Execution Architecture Paul Harrison IVOA Interoperability Meeting Cambridge MA May 2004.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
Visual Basic for Application - Microsoft Access 2003 Finishing the application.
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
Chapter 12© copyright Janson Industries Java Server Faces ▮ Explain the JSF framework ▮ SDO (service data objects) ▮ Facelets ▮ Pagecode classes.
Daniele Spiga PerugiaCMS Italia 14 Feb ’07 Napoli1 CRAB status and next evolution Daniele Spiga University & INFN Perugia On behalf of CRAB Team.
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
STAR Scheduler Gabriele Carcassi STAR Collaboration.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
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.
V7 Foundation Series Vignette Education Services.
Progress on Design and Implement of Job Management System Suo Bing, Yan Tian, Zhao Xianghu
ASP.NET Programming with C# and SQL Server First Edition
JRA2: Acceptance Testing senarious
Work report Xianghu Zhao Nov 11, 2014.
BOSS: the CMS interface for job summission, monitoring and bookkeeping
BOSS: the CMS interface for job summission, monitoring and bookkeeping
TriggerDB copy in TriggerTool
The Ganga User Interface for Physics Analysis on Distributed Resources
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Status and plans for bookkeeping system and production tools
Presentation transcript:

Framework of Job Managing for MDC Reconstruction and Data Production Li Teng Zhang Yao Huang Xingtao SDU

Outline Motivation: why developing Arbiter Concept: using workflow to manage jobs Profile: introduction to the general situation of Arbiter Principle: introduction to the core of Arbiter Using: introduction to the interface of Arbiter Conclusion: next to do

Motivation Why do we develop the system What function to provide

Motion : to solve trouble The trouble during managing MDC reconstruction and data production jobs: Need to generate job option files “by hands” It’s difficult to monitor status of every job Thus, it’s difficult to find which job is failed and to deal with them Also some other difficulties like how to handle large amount of input and output files, when to check the disk space… In a word, there’s too much repetitive work to do by hand. So we developed a system to do these work. Also, the system may be popularized to manage other production or analysis jobs in the future.

Desired function of Arbiter So we build a framework, Arbiter to serve as a production manager which plays a major role in executing organised data production or analysis activities: Designing the processing sequences Creating hundreds of sub-jobs Submitting and monitoring jobs Verifying output files

Concept and General Situation

Concept: workflow Workflow The workflow is an abstract description of the sequence of operations, like simulation, reconstruction, calibration… to be performed Step Each workflow can be decomposed into a series of steps connected to each other via input-output files. Each step consists a unbreakable operation. To brand these operations as reusable components, for each step, we define a type for it, like boss type, root type… Boss step ROOT step

Profile of Arbiter Arbiter is implemented in python Some python external packages are used: MySQLdb pylons and its dependencies paramiko Database used is mysql Write and access permission of database “arbiterDB” should be passed to user “arbuser” Use git as the version controll tool

Working Principle Structure of Arbiter Workflow in Arbiter How do Arbiter generate and submit workflow How do Arbiter monitor and manage workflow

Introduction to Arbiter Arbiter is consisted of a core for managing workflow, 3 kinds of interfaces and a database

Workflow in Arbiter workflow Workflow defined in Arbiter is described by the class workflow() which contains workflow base information and methods, and a stepPool(), a list for steps. step Each step is described by the class step(). It contains the step base information, a parameterCollection() as a container for user defined parameters, a splitter for splitting jobs and a generator for generating job option files parameter The parameter() class is for storing certain information of a step, like input, output, option name, working directory… generator Generator is a tool for generating job option files. When the system are about to generating job option files, the step() or subStep() defined its generator based on the type and parameters of the step and then the generator will generate scripts according to the job option template and other parameters.

Workflow in Arbiter Splitter The splitter is a useful tool for splitting steps into sub-steps(each sub-step will stand for a job that can run on the farm). We’ve defined two types of splitter so far, inputDataSplitter for splitting step according to input files(number and size) and numberSplitter for just duplicating step into sub- steps of a certain number.

Generating Workflow User can define worklfow through Arbiter API, and then Arbiter will generate scripts for all steps. If they're all OK, Arbiter will record the workflow. Then user can submit the workflow through command. if not testing workflowID

Monitoring Workflow When user want's to know the status of one or more jobs in the workflow, user can execute "arb listworkflow" command to get the list of workflow in Arbiter. Then user can get the ID of the workflow he's interested in and does further management with it.

Arbiter Interface API of Arbiter Command line interface web portal

API of Arbiter Application Programming Interface(API) API of Arbiter is consisted of two python classed, Job() and System(), one for workflow generating and one for managing. Through API, most of the function of Arbiter is exposed. User can generate workflow using API. This is a typical API script for generating a workflow After submitting the script, user will get the ID of the workflow from arbiter.Interface.API.Job import * job = Job(‘jobname’) #job.debug = True job.addStep(‘boss/step1’) job.setStepParameter(‘step1’, ‘input’, ‘/root/test/datalist.txt’) job.setStepParameter(‘step1’, ‘output’, ‘/root/test/output/') job.setStepParameter(‘step1’, ‘optionTemplet’, ‘/root/test/rec.txt’) job.setStepParameter(‘step1’, ‘optionFileDirectory’, ‘/root/test/) job.setStepSplitter(‘step1’, {‘name’: ‘dataSplitter’, ‘maxFileNumber’:1}) job.generate()

Command Line Interface In order to provide an easy way to manage the workflow generated by the system, we provide several commands. All commands follows sub-command style like: "arb checkstatus..." Most commands need user to provide the ID of the workflow. User can get list of all commands by executing "arb -h" User can get commands help message by executing "arb command -h"

Web Portal of Arbiter Being proposed to find a most easy and visual way to generate and manage workflow, we developed the web portal for Arbiter. We used pylons to build the web page. The server host must have access to the DB host and the host for running jobs. So we placed it on offline.ihep.ac.cn:5000

Web Portal of Arbiter We have added the pages for monitoring workflow and for defining new worklfows. User can see all sub-job status conveniently. We have also provided function for re-submitting jobs.

Conlusion Next to do

Conclusion and next to do Conclusion We have deveoped the system and tested most of the function implemented. The skeleton of the system has been established and most of the basic function is now working correctly. But wether the functions are working smoothly and stably is unknown add we need more test. We've still got many functions to modify or to add. Next to do Do more test Add other step types(new generator, new method for monitoring) Think more of the web portal...

Your suggestion is my power ! 谢谢!