CHEP 2013 October Amsterdam K De D Golubkov A Klimentov M Potekhin A Vaniachine

Similar documents
Evolution of the ATLAS PanDA Workload Management System for Exascale Computational Science

Tests of PROOF-on-Demand with ATLAS Prodsys2 and first experience with HTTP federation

Overview of ATLAS PanDA Workload Management

Liberate, a component-based service orientated reporting architecture

New Features in PanDA. Tadashi Maeno (BNL)

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

Execo tutorial Grid 5000 school, Grenoble, January 2016

Sage Estimating (SQL) v17.12

Enterprise Manager: Scalable Oracle Management

The ATLAS Distributed Analysis System

The ATLAS Software Installation System v2 Alessandro De Salvo Mayuko Kataoka, Arturo Sanchez Pineda,Yuri Smirnov CHEP 2015

Migration With Duda.

Description of CORE Implementation in Java

L3.4. Data Management Techniques. Frederic Desprez Benjamin Isnard Johan Montagnat

AutoPyFactory: A Scalable Flexible Pilot Factory Implementation

Remote power and console management in large datacenters

The PanDA System in the ATLAS Experiment

The CMS data quality monitoring software: experience and future prospects

Monitoring of large-scale federated data storage: XRootD and beyond.

Jim Mains Director of Business Strategy and Media Services Media Solutions Group, EMC Corporation

PBS PROFESSIONAL VS. MICROSOFT HPC PACK

Database Developers Forum APEX

Boundary control : Access Controls: An access control mechanism processes users request for resources in three steps: Identification:

Andy Mendelsohn, Oracle Corporation

The CORAL Project. Dirk Düllmann for the CORAL team Open Grid Forum, Database Workshop Barcelona, 4 June 2008

ATLAS Distributed Computing Experience and Performance During the LHC Run-2

Optimizing Parallel Access to the BaBar Database System Using CORBA Servers

Cisco Prime Cable Provisioning 5.1

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Improved ATLAS HammerCloud Monitoring for Local Site Administration

CBRN Data Import/Export Tool (CDIET) Presented by: Darius Munshi

Happy Birthday, Ajax4jsf! A Progress Report

INDEXING OF ATLAS DATA MANAGEMENT AND ANALYSIS SYSTEM

Spark.jl: Resilient Distributed Datasets in Julia

SMOA Computing HPC Basic Profile adoption Experience Report

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

HammerCloud: A Stress Testing System for Distributed Analysis

ThruPut Manager AE Product Overview From

Architectural Blueprint

Database Performance Analysis Techniques Using Metric Extensions and SPA

Bigtable. A Distributed Storage System for Structured Data. Presenter: Yunming Zhang Conglong Li. Saturday, September 21, 13

Sonatype CLM - Release Notes. Sonatype CLM - Release Notes

Kubernetes Integration with Virtuozzo Storage

ARCHER Metadata Schema Editor. User Guide METADATA EDITOR. Version: 1.1 Date: Status: Release

Metadaten Workshop 26./27. März 2007 Göttingen. Chimera. a new grid enabled name-space service. Martin Radicke. Tigran Mkrtchyan

EnterpriseLink Benefits

Lecture 34 SDLC Phases and UML Diagrams

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

IBM InfoSphere Streams v4.0 Performance Best Practices

Best Practices with ArcSDE Technology. Katja Krivoruchko CA/NV/HI Technical Marketing ESRI

HP SDN Document Portfolio Introduction

ICAT Job Portal. a generic job submission system built on a scientific data catalog. IWSG 2013 ETH, Zurich, Switzerland 3-5 June 2013

MarkLogic 8 Overview of Key Features COPYRIGHT 2014 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Business Intelligence and Reporting Tools

Multi-threaded, discrete event simulation of distributed computing systems

OTRS Quick Reference

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

ActiveScale Erasure Coding and Self Protecting Technologies

WLCG Transfers Dashboard: a Unified Monitoring Tool for Heterogeneous Data Transfers.

INTRODUCTION BACKGROUND DISCOVERER. Dan Vlamis, Vlamis Software Solutions, Inc. DISCOVERER PORTLET

MapReduce. U of Toronto, 2014

The ATLAS PanDA Pilot in Operation

vsphere Installation and Setup Update 2 Modified on 10 JULY 2018 VMware vsphere 6.5 VMware ESXi 6.5 vcenter Server 6.5

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES

Unified System for Processing Real and Simulated Data in the ATLAS Experiment

Team-Based Collaboration in Simulink

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Easy ArcObjects Turbocharging

ATLAS Nightly Build System Upgrade

Analytics Platform for ATLAS Computing Services

Opportunities for container environments on Cray XC30 with GPU devices

8.3 cloud roadmap. Dr. Andrei Borshchev, CEO Nikolay Churkov, Head of Software Development. The AnyLogic Company Conference 2018 Baltimore

Transformer Looping Functions for Pivoting the data :

Reliability Engineering Analysis of ATLAS Data Reprocessing Campaigns

White Paper: Delivering Enterprise Web Applications on the Curl Platform

Oracle Database 10G. Lindsey M. Pickle, Jr. Senior Solution Specialist Database Technologies Oracle Corporation

Logi Info v12.5 WHAT S NEW

LCG Conditions Database Project

EBS Reports and Dashboards for the People and by the People

Connect with Remedy: SmartIT: Social Event Manager Webinar Q&A

Project Management OOTB Introduction. Your Guide: Sara Garvey

Vis: Online Analysis Tool for Lattice QCD

Part III. Issues in Search Computing

SCALABLE WEB PROGRAMMING. CS193S - Jan Jannink - 2/02/10

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda

BigTable: A Distributed Storage System for Structured Data (2006) Slides adapted by Tyler Davis

The EHRI GraphQL API IEEE Big Data Workshop on Computational Archival Science

Oracle Database Mobile Server, Version 12.2

Generalized Document Data Model for Integrating Autonomous Applications

MOHA: Many-Task Computing Framework on Hadoop

Projects. Corporate Trainer s Profile. CMM (Capability Maturity Model) level Project Standard:- TECHNOLOGIES

<Insert Picture Here> Managing Oracle Exadata Database Machine with Oracle Enterprise Manager 11g

BigData and Map Reduce VITMAC03

Caliber 11.0 for Visual Studio Team Systems

OPAX - An Open Peer-to-Peer Architecture for XML Message Exchange

OpenNebula on VMware: Cloud Reference Architecture

DSpace Fedora. Eprints Greenstone. Handle System

Teamcenter Appearance Configuration Guide. Publication Number PLM00021 J

Transcription:

Task Management in the New ATLAS Production System CHEP 2013 October 14-18 K De D Golubkov A Klimentov M Potekhin A Vaniachine on behalf of the ATLAS Collaboration

Overview The ATLAS Production System is the top level workflow manager which translates physicists' needs for production level processing and analysis into actual workflows executed by PanDA WMS across over a hundred Grid sites used globally by ATLAS. ProdSys Jobs Production Manager Submits Tasks Bamboo PanDA Jobs User Submits Jobs 2

Next Generation of ATLAS Production System As the production workload increased in volume and complexity in recent years (the ATLAS production tasks count is above one million, with each task containing hundreds or thousands of jobs) there is a need to upgrade the Production System to meet the challenging requirements of the next LHC run while minimizing the operating costs. The rate of the ATLAS Production System task submissions grown exponentially. This created new requirements for scalability and management tools. 3

Production System and PanDA In the new design, the main subsystems are the Database Engine for Tasks (DEFT) and the Job Execution and Definition Interface (JEDI). Based on users' requests, DEFT manages inter-dependent groups of tasks (Meta-Tasks) and generates corresponding data processing workflows. The JEDI component then dynamically translates the task definitions from DEFT into actual workload jobs executed by the PanDA WMS: Production Manager Submits Tasks DEFT JEDI PanDA User Submits Tasks 4

PanDA Meta-Task as a way to manage complexity of the workflow In recent years, ATLAS production managers started to create workflows to be processed in PanDA. For example, the following highly simplified diagram illustrates a chain of PanDA tasks and the data that defines their relationship: 5

Motivations for system evolution We need to address the following: The concept of Meta-Task as a group of logically related tasks, required to complete a specific physics project or sub-project. Absent in the original product which goes back many years (the original Production System), it emerged based on operational experience with PanDA and its workflow. It effectively became the central object in the high-level workflow management, but it is currently modeled in spreadsheets, which act as surrogate database and GUI, require active maintenance and limit the scalability of the overall Production System. Meta-Tasks must be properly modeled, introduced and integrated into the system to guarantee that it delivers adequate scalability and performance going forward, as well as a productive environment for the Production Managers and users involved in the physics analysis. Analysis tasks are currently handled outside the Production System, however they also have workflow characteristics. Having a universal system supporting the management of workflows across production and analysis will bring benefits to the ATLAS community. 6

Meta-Tasks: what do we want to see? Automation: we need the capability to process Meta-Tasks with minimal human intervention beyond task definition. Right now it is a labor intensive semi-manual process. Automatic recovery from simple failure modes But we also need the capability to have operator intervention and Meta-Task recovery: there must be adequate tools for the operators and managers to direct the Meta-Task processing Dynamic job definition (e.g. making it dynamic as opposed to static once the task is created) functionality implemented in JEDI Maintainability: the code of the existing Production System was written "organically", in order to actively support emerging requests from the users, and it starts showing its age Scalability: in general, given the dramatic rise in the number of tasks defined and executed, we must ensure a lot of headroom going forward. Ease of use: there is currently a great amount of detail that the end user (Physics Coordination) must define in order to achieve a valid task request. We must automate and facilitate the task creation process, whereby cumbersome logic is handled within the application, and the user interface is more transparent and friendly. 7

Next Generation Production System = DEFT + JEDI The next generation Production System (ProdSys2) is a tandem of two subsystems, which play complementary roles and represent two different levels in managing the overall workflow in PanDA : DEFT: Database Engine For Tasks: DEFT is responsible for formulating the Meta-Tasks and the underlying tasks (collections of jobs). Meta-Tasks can include chains of tasks, bags of tasks and other types of task groupings, complete with all necessary parameters. DEFT keeps track of the state of the Meta-Tasks under its management, and their constituent tasks, by using a database as its persistence mechanism. It accounts for data dependencies among the tasks by maintaining records of datasets and their states. It provides the interface for each Meta-Task definition, management and monitoring throughout its lifecycle. JEDI: Job Execution and Definition Interface JEDI is using the task definitions formulated in DEFT to define and submit individual jobs to PanDA, keep track of their progress and handle re-tries of failed jobs, job redirection etc. In addition, JEDI interfaces data management services in order to properly aggregate and account for data generated by individual jobs (i.e. general dataset management) 8

Front End and User Interface Meta-Task Editor DEFT and JEDI working in tandem DEFT JEDI Task 1-1 Job 1-1-1 Job 1-1-2 Meta-Task 1 Task 1-2 Task 1-3 Task 1-4 Job 1-1-3 Job 1-1-4 PanDA Sites Meta-Task 2 Task 2-1 Task 2-2 Job 2-1-1 Job 2-1-2 Meta-Task 3 Meta-Task 4... Meta-Task N Task 2-N Job 2-1-N 9

DEFT and JEDI as an assembly line Job 1-1-1 Job 1-1-2 Job 1-1-3 Job 1-1-4 Job 2-1-1 Job 2-1-2 Job 2-1-3 Job 2-1-4 JEDI JEDI JEDI DEFT Task 1 (t 0 ) Task 1 (t 1 ) Task 2 (t 2 ) Meta-Task 1 DEFT DEFT DEFT Meta-Task 1 T 10

DEFT: Meta-Task as a Graph Model Graph model is commonly used to describe workflow: It allows implementation of the chain, bag and bag of chains topologies Liberates the designers of the workflow from limitations of the current spreadsheet model In the following, we will generally use the concept of tasks as a group of jobs using one or more datasets as input, and one or more datasets as output: 11

The Graph Model Crucial features of the DEFT Meta-Task Model In accordance with operational practice in ATLAS, the dependencies between two adjacent tasks, which we model as nodes of a graph, are best conceptualized as datasets, which then become the edges of the graph In order to handle bag and other complex topologies, we introduce pseudo-tasks representing the entry and exit points. It is actually an established technique in handling workflows. 12

The DEFT Equation We model tasks as workflow elements acting on an array of input datasets, while producing a number of output datasets. The tasks have states, and undergo state transitions based on their inputs and applicable rules. Each task in a Meta-Task can be represented as a vector of variables describing its internal state and state of each input and output. The role of DEFT is to apply rules to transform this vector. Importantly, some of the parameters will be modified by JEDI. y 1 y 2 y 3 = D x 1 x 2 x 3 y N x N 13

Meta-Task: the Language How do we represent and document the objects created according to the Graph Model, in human-readable format? The need to represent Meta-Tasks and their components in a way amenable to reading, editing and archival by humans was realized early on in the project Do we need to build this format from scratch? Probably not, It s the model! Since we consider the Graph Model as the optimal way to represent the workflow in its various states, it is a reasonable approach to try and identify a natural way to represent the graph This leads to realization that there are already standard languages and schemas that do exactly that. Some are XML-based, some are not. 14

DEFT: example of a workflow template in GraphML 15

Change of the Meta-Task State Change of the Meta-Task State The DEFT Prototype DEFT exists as a functioning, proof-of-integration prototype (CLI utility) Integration of NetworkX, GraphML, PyUtilib and DB Oracle schemas Capability to import and export workflows in GraphML format, as well as to persist data in RDBMS, and access and modify data transparently across these containers Template GraphML Document input GraphML Document output DEFT Oracle DB read and update 16

The DEFT Prototype First implemented as a CLI utility, which allows the user to translate GraphML-formatted description of a Meta-Task into objects in RDBMS Capability to support workflows described by DAG of any complexity, not just chains and bags Implementation of rules for state transition of tasks Straightforward template capability, cloning and copying of tasks Essential functions available in both CLI and the Web UI application that is now being developed 17

JEDI JEDI is a component of the PanDA server with necessary logic to dynamically define jobs based on task definitions coming from DEFT. Its principal function is dynamic creation of jobs to be processed by the PanDA WMS, based on task descriptions (which can be more abstract since they miss the details defined by JEDI during its analysis of the current allocations, policies and status of resources), which contain parameters for a potentially large number of jobs. JEDI is required to optimally divide and direct the workload according to a variety of factors, from resource allocations to specifics of the payload job configuration to the current status of remote computing resources managed by PanDA. In contrast to DEFT, where the user interface and user control are prominent elements of its functionality, JEDI operates automatically for the most part. Nevertheless, monitoring capabilities are essential in order to debug the system and execute proper operational support later on. JEDI has been rolled out end of summer 2013, and has effectively crossed into beta and pre-production by now. 18

Knowledge Management How are jobs defined? In most cases, PanDA jobs can require extremely complex configuration This is impossible or at least impractical to set by hand The magic mentioned in the previous slide, whereby JEDI creates jobs from hints contained in the task description, is possible by providing job templates appropriate for each class of tasks. Each template encapsulates the knowledge pertaining to a particular class of tasks and can be managed in a database. The database to support this functionality is now being created. At the task level, there is a similar problem with a large number of parameters required to define a task Solution: encapsulate the knowledge in templates, and expose fewer parameters to the lay user. DEFT has a human-readable format for task description that facilitates this 19

DEFT-JEDI Interaction Modification of entries in the database, with certain elements being used as tokens, is the principal mechanism of communication between DEFT and JEDI. One simple use case can be described as follows: The operator uses the DEFT UI to fetch a workflow template (stored as a Meta-Task prototype in the database) and formulate a Meta-Task, which results in new entries in the table containing tasks During a periodic database sweep, JEDI picks up task definitions and processes the tasks for submission. This includes dynamic job definition for each task. Tasks are executed and their status (as well as the status of the data being produced) is continuously updated by JEDI in the database. DEFT makes this information available via its monitoring system. It also controls the sequence of events by applying its set of rules to each state of the workflow (for example it may suspend processing automatically at a certain stage, pending QA by physicists). The operator may take action with regard to a Meta-Task, such as to suspend the execution of one of its elements pending further decision. The operator can also choose to cancel and unwind the task and its associated data, or maybe clone a task to provide a refined set of parameters needed in a more precise analysis. 20

JEDI: Core Functionality JEDI features plug-in design for its job definition engine, in order to be able to handle widely varying types of tasks. Examples include Group Production Tasks, ROOT-based analysis tasks, tasks with file-level splitting etc. An interesting feature of JEDI is generation of scout jobs for certain types of tasks, whereby a computing resource is being probed by running a limited number of jobs first. This allows for the resource to be validated and metrics to be collected and subsequently used in decision-making in JEDI. JEDI also includes logic for job retry and reassignment, in order to increase execution efficiency on the Grid. When used at scale, PanDA handles its data in units termed datasets, which are collections of files. In case a small number of files become corrupt or lost due to storage malfunction or some error condition in the data management system, the dataset can become essentially incomplete. JEDI contains provisions to repair such broken dataset by recreating the missing pieces of data, where possible. More sophisticated functionality is being implemented to enable fine-grained workflow, e.g. event-based processing, file-level splitting etc. The planned event server is an extreme example of fine-grained workflow management that may open venues for efficient utilization of opportunistic resources. 21

JEDI: progression of the task status in the rules engine 22

DEFT: the WEB UI front-end prototype 23

Conclusions There are strong motivations for the upgrade of the ATLAS PanDA Production System Salient features of the new system include native support of complex workflows, efficient user interface and a very sophisticated engine for dynamic job definition aimed at optimizing resource utilization The job definition component (JEDI) has already been tested with realistic ATLAS workflows. Design of the Task Engine (DEFT) has been completed and its core functionality implemented in a prototype. Its WEB UI is currently under active development. Work is being done to finalize the product by creating the DEFT UI and integrating DEFT and JEDI. 24

Backup slides 25

Meta-Task: GraphML, NetworkX and RDBMS Choice of Schema There is an obvious advantage in choosing the schema that s is standardized, enjoys support and has parsers already written to handle its specifics. GraphML appears to be very simple, human-readable and enjoys parser support in many existing visualization and analysis software products It allows us to standardize on the workflow description, visualization, editing, documentation and versioning with essentially zero effort. Capable graphic editors, such as GePhi, already exist and can be used immediately to create, visualize and edit Meta-Task templates (see backup slides). NetworkX NetworkX is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. While its functionality is quite rich, and allows all sorts of graph analysis and exploration, the minimal subset of methods is quite easy to learn and use immediately Reads GraphML, JSON, and other documents and creates an in-memory model of the graph automatically. Likewise, serializes graphs into a variety of formats, like GraphML, JSON etc Visualization can be implemented by a few supported Python packages which need to be installed separately, such as matplotlib etc. Persistence in RDBMS Persisting graphs in RDBMS had been addressed before; we revisited existing approached and chose the Adjacency Table approach as the most scalable and easy to implement. Two tables are created, one for nodes and another for edges. See Twiki for details: https://twiki.cern.ch/twiki/bin/viewauth/atlas/taskmodel#graphs_in_rdbms 26

DEFT/JEDI Communication A few features of the DEfT/JEDI tandem design: in managing the workflow in DEFT, it s unnecessary (and in fact undesirable) to implement subprocesses and/or multi-threaded execution such as one in products like PaPy etc. That is because DEFT is NOT a processing engine, or even a resource provisioning engine, as is the case in some Python-based workflow engines. It's a state machine that does not necessarily need to work in real time (or even near time). Near-time state transitions and resource provisioning is done in PanDA There are a few ways to establish communication between Deft and Jedi, which are not mutually exclusive. For example, there may be callbacks, and database token updates, which may in fact co-exist. If a message is missed for some reason, the information can be picked up during a periodic sweep of the database. In summary, DEFT and JEDI will work asynchronously. Essentially, both components perform a database sweep Since there are no in-memory processes keeping track of all Panda tasks and jobs at any given time, this provides us with better scalability going forward, compared to some other workflow management solutions 27

Backup slides: notes on visualization Task visualization, editing and monitoring Basic visualization tools are already available, such as GePhi and matplotlib add-on to NetworkX (cumbersome installation though). Editing is available in GePhi complete with a GUI interface, and of course GraphML files can also be edited using any text editor. For more polished look and more dynamic and better user experience, we can develop a browser-based frontend utilizing jsplumb, WireIt, Raphael etc but we need to budget manpower for that, since the considerable power of these graphics systems comes with significant complexity of logic and API 28

Backup slides: examples of workflow visualization and editing in GePhi 29

Backup slides: examples of workflow visualization and editing in GePhi 30

Backup slides: examples of workflow visualization and editing in GePhi 31

Backup slides: examples of Javascript tools to aid in building Meta-Task GUI in DEFT 32

ProdSys Jobs Production Manager Submits Tasks Bamboo PanDA Jobs User User 33