Event cataloguing and other database applications in ATLAS

Similar documents
The ATLAS EventIndex: Full chain deployment and first operation

The ATLAS EventIndex: an event catalogue for experiments collecting large amounts of data

The ATLAS EventIndex: an event catalogue for experiments collecting large amounts of data

LCG Conditions Database Project

Access to ATLAS Geometry and Conditions Databases

LHCb Distributed Conditions Database

Data Analysis in ATLAS. Graeme Stewart with thanks to Attila Krasznahorkay and Johannes Elmsheuser

Summary of the LHC Computing Review

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES

The ATLAS Conditions Database Model for the Muon Spectrometer

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Streamlining CASTOR to manage the LHC data torrent

A Tool for Conditions Tag Management in ATLAS

The ATLAS Production System

ATLAS Oracle database applications and plans for use of the Oracle 11g enhancements

Evolution of Database Replication Technologies for WLCG

The evolving role of Tier2s in ATLAS with the new Computing and Data Distribution model

LHCb Computing Status. Andrei Tsaregorodtsev CPPM

Scientific data processing at global scale The LHC Computing Grid. fabio hernandez

ATLAS Analysis Workshop Summary

Worldwide Production Distributed Data Management at the LHC. Brian Bockelman MSST 2010, 4 May 2010

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

CouchDB-based system for data management in a Grid environment Implementation and Experience

Conference The Data Challenges of the LHC. Reda Tafirout, TRIUMF

Evolution of Database Replication Technologies for WLCG

Big Data Tools as Applied to ATLAS Event Data

Workload Management. Stefano Lacaprara. CMS Physics Week, FNAL, 12/16 April Department of Physics INFN and University of Padova

Challenges and Evolution of the LHC Production Grid. April 13, 2011 Ian Fisk

AMGA metadata catalogue system

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

Comparing SQL and NOSQL databases

The LCG 3D Project. Maria Girone, CERN. The 23rd Open Grid Forum - OGF23 4th June 2008, Barcelona. CERN IT Department CH-1211 Genève 23 Switzerland

The Run 2 ATLAS Analysis Event Data Model

UK Tier-2 site evolution for ATLAS. Alastair Dewhurst

Map-Reduce. Marco Mura 2010 March, 31th

HammerCloud: A Stress Testing System for Distributed Analysis

Distributed Computation Models

Experiences with the new ATLAS Distributed Data Management System

Experience with Data-flow, DQM and Analysis of TIF Data

Deferred High Level Trigger in LHCb: A Boost to CPU Resource Utilization

Investigation on Oracle GoldenGate Veridata for Data Consistency in WLCG Distributed Database Environment

Batch Services at CERN: Status and Future Evolution

Ideas for evolution of replication CERN

ALICE ANALYSIS PRESERVATION. Mihaela Gheata DASPOS/DPHEP7 workshop

Compact Muon Solenoid: Cyberinfrastructure Solutions. Ken Bloom UNL Cyberinfrastructure Workshop -- August 15, 2005

The coolest place on earth

Analytics Platform for ATLAS Computing Services

Apache Kudu. Zbigniew Baranowski

CMS users data management service integration and first experiences with its NoSQL data storage

Delving Deep into Hadoop Course Contents Introduction to Hadoop and Architecture

Virtualizing a Batch. University Grid Center

PROOF-Condor integration for ATLAS

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

CIS 612 Advanced Topics in Database Big Data Project Lawrence Ni, Priya Patil, James Tench

The LHC Computing Grid

Stephen J. Gowdy (CERN) 12 th September 2012 XLDB Conference FINDING THE HIGGS IN THE HAYSTACK(S)

1

Monitoring system for geographically distributed datacenters based on Openstack. Gioacchino Vino

Databricks, an Introduction

LHCb Computing Strategy

Amazon AWS-Solution-Architect-Associate Exam

Distributed Systems CS6421

Early experience with the Run 2 ATLAS analysis model

ANSE: Advanced Network Services for [LHC] Experiments

Migrating from Oracle to Espresso

Hadoop 2.x Core: YARN, Tez, and Spark. Hortonworks Inc All Rights Reserved

The CMS Computing Model

Expressing Parallelism with ROOT

Whitepaper. 4 Ways to Improve ASP.NET Performance. Under Peak Loads. Iqbal Khan. Copyright 2015 by Alachisoft

The LHCb Alignment Framework

Database monitoring and service validation. Dirk Duellmann CERN IT/PSS and 3D

CSE 344 JULY 9 TH NOSQL

Scaling Up HBase. Duen Horng (Polo) Chau Assistant Professor Associate Director, MS Analytics Georgia Tech. CSE6242 / CX4242: Data & Visual Analytics

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

Persistent storage of non-event data in the CMS databases

150 million sensors deliver data. 40 million times per second

Computing at Belle II

Andrea Sciabà CERN, Switzerland

Big Data Analytics Tools. Applied to ATLAS Event Data

Asanka Padmakumara. ETL 2.0: Data Engineering with Azure Databricks

Online data storage service strategy for the CERN computer Centre G. Cancio, D. Duellmann, M. Lamanna, A. Pace CERN, Geneva, Switzerland

5 Fundamental Strategies for Building a Data-centered Data Center

Chapter 5. The MapReduce Programming Model and Implementation

1. Introduction. Outline

Clouds in High Energy Physics

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

First Experience with LCG. Board of Sponsors 3 rd April 2009

Persistent storage of non-event data in the CMS databases

Scaling DreamFactory

glite Grid Services Overview

TAG Based Skimming In ATLAS

Oracle Big Data Cloud Service, Oracle Storage Cloud Service, Oracle Database Cloud Service

Data handling and processing at the LHC experiments

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Cassandra, MongoDB, and HBase. Cassandra, MongoDB, and HBase. I have chosen these three due to their recent

Computing. DOE Program Review SLAC. Rainer Bartoldus. Breakout Session 3 June BaBar Deputy Computing Coordinator

Machine Learning in Data Quality Monitoring

MSG: An Overview of a Messaging System for the Grid

Architectural challenges for building a low latency, scalable multi-tenant data warehouse

2013 AWS Worldwide Public Sector Summit Washington, D.C.

Transcription:

Event cataloguing and other database applications in ATLAS Dario Barberis Genoa University/INFN 1

Topics Event cataloguing: the new EventIndex DB Database usage by ATLAS in LHC Run2 PCD WS Ideas for a Physics Conditions Data Web Service for Run3

The ATLAS EventIndex A complete catalogue of ATLAS events All events, real and simulated data All processing stages Contents Event identifiers Online trigger pattern and hit counts References to the events at each processing stage (RAW, ESD, (x)aod, NTUP) in all permanent files on storage (file GUID plus internal pointer to the event) Motivations for this new development: The Event Tag DB system was designed and developed long ago.! Even before I started as ATLAS Computing Coordinator in 2003! Up to now it reached a level of implementation that supports some of the original use cases but not yet all of them. The current system needed a lot of work and capital investment (Oracle storage) to be set up and still has not reached maturity! i.e. full usability by its primary customers: physics groups and users Completely automatic system operation is also not fully achieved 3

EventIndex Design "Something like the TAGs" is needed by ATLAS and the need will increase with increased statistics Oracle storage seems not to be the best choice for this kind of information Schemas with no flexibility, cost issues Modern structured storage technologies are much cheaper, easier to use and faster for sparse searches over large amounts of data CERN set up a Hadoop service following the Database TEG (Technical Evolution Group) report in Spring 2012 Design the data store using Hadoop and its tools Use cases: Event picking! Give me the reference (pointer) to "this" event in "that" format for a given processing cycle Production consistency checks! Technical checks that processing cycles are complete Event service! Give me the references for this list of events (to be distributed to HPC or cloud clusters for processing)! Technically the same as event picking 4

EventIndex Project Breakdown We defined 4 major work areas (or tasks): 1) Core system (LAL Orsay, UTFSM Valparaiso, CERN) Tier- 0 processing job Grid processing job send send Hadoop Interface Server send Hadoop Storage Cluster query retrieve Web Server 5

EventIndex Project Breakdown We defined 4 major work areas (or tasks): 1) Core system (LAL Orsay, UTFSM Valparaiso, CERN) 2) Data collection and storage (IFIC Valencia) Tier- 0 processing job Grid processing job send send Hadoop Interface Server send Hadoop Storage Cluster query retrieve Web Server 6

EventIndex Project Breakdown We defined 4 major work areas (or tasks): 1) Core system (LAL Orsay, UTFSM Valparaiso, CERN) 2) Data collection and storage (IFIC Valencia) 3) Query services (LAL Orsay) Tier- 0 processing job Grid processing job send send Hadoop Interface Server send Hadoop Storage Cluster query retrieve Web Server 7

EventIndex Project Breakdown We defined 4 major work areas (or tasks): 1) Core system (LAL Orsay, UTFSM Valparaiso, CERN) 2) Data collection and storage (IFIC Valencia) 3) Query services (LAL Orsay) 4) Functional testing and monitoring (Genova, UAM Madrid, UTFSM Valparaiso) Tier- 0 processing job Grid processing job send send Hadoop Interface Server send Hadoop Storage Cluster query retrieve Web Server 8

EI Task 1: Core System (1) Design and prototyping (till end 2013), then development and deployment of the core infrastructure to implement the EventIndex using Hadoop technology. Got access initially to 2 test Hadoop clusters in CERN-IT-DB and CERN-IT-DSS groups; now new (larger) cluster managed by CERN-IT-DSS. Uploaded ~1 TB of data from TAGs (full 2011 Tier-0 processing) for initial tests in different formats: Plain CSV files HBase (Hadoop's DB format) Different binary formats After several tests, the baseline solution was chosen: MapFiles with the data Indexed in HBase Searches can be then performed in two steps: 1. get reference from the index file 2. using that reference, get the data Searches can be performed using keys, with immediate results (as keys are in memory), or with full searches on filebased data. 9

EI Task 1: Core System (2) Access to the data is achieved by a single and simple interface for: upload: copy file into HDFS and create basic structure get and search adding new (vertical) data (in general by a MapReduce job) create new indices These interfaces are implemented in Hadoop by Java classes with remote access and used through a Python client. Internal organization of the core system: The Generator module creates new filesets and registers them into the Catalog. The Creator creates new filesets. The Extender adds information (new columns). The Appender adds new data. The Indexer creates new indices. The Convertor converts filesets to different formats, including the MapFiles. The Accessor allows remote access, through an HTTP server on a dedicated machine. The Reader performs the search using one of the available tools (Searcher, Scanner or MapReducer), depending on the query. 10

EI Task 1: Core System (3) The system described so far is the baseline. Alternative options are studied too: YAEIS (Yet Another EventIndex System), developed at IFIC Valencia: Storage based entirely in HBase (the Hadoop NoSQL database system) Information saved as key-value pairs Looks like working very well to be considered seriously Яндекс.ru (Yandex) is interested in our problem: They already support the LHCb Event Index, which contains physics info used for sorting events into streams after processing! But strong LHCb team in Moscow They have their own storage system but can import for Hadoop for tests Search engine in C++ rather than Java (as in Hadoop), claimed to be faster Low-level and slow contacts so far. Formal agreement under discussion. Could turn into an interesting R&D project but I don't think ATLAS computing operations should be allowed to depend on a commercial provider in a non-member state. 11

EI Task 2: Data Collection (1) Data to be stored in the EventIndex are produced by all production jobs that run at CERN or on the Grid. For every permanent output file, a snippet of information, containing the file unique identifier and for each event the relevant attributes, has to be sent to the central server at CERN. The system should be ready to accept over 80 Hz of file records and insert into the back-end over 30 khz of event records (plus contingency). The architecture is based on Producers on the worker nodes where event data are processed, a messaging system to transfer this information and asynchronous Consumers that effectively insert the data in the Hadoop database. The producers run within the pilot process on each worker node and transmit the data using a messaging system to a queue in one of the endpoints. ActiveMQ has been chosen as the messaging service, and STOMP as the message protocol. An ssl endpoint at the broker can be used to secure the communications, and we can also have replication of the message queues in other sites, to permit duplication and high availability. The consumers are asynchronous processes, continuously reading data. The task of the consumers is to get new data, check their validity with the production system, and pass them into Hadoop storage and related cataloguing tasks. 12

EI Task 2: Data Collection (2) The data producer process is split in two parts: the first part reads the data file to create an intermediate EventIndex file; the second one reads information from the EventIndex file, builds the messages and sends them to the broker. The EventIndex file is used as intermediate storage to decouple the processing of the input file from sending the messages. In the current implementation, the first step consists of a Python script that reads the event file and extracts the relevant information to be transmitted (event identification, trigger masks, references to the files containing the event). The EventIndex file is a SQLite3 file of Python serialized objects, containing key-value pairs in one table shelf. The second step is a Python script that reads the EventIndex file, builds a sequence of messages (about 10 kb each) and sends them to the broker. The messages are sent in a compact format encoded using JSON. Tests show that it is possible with a single broker to achieve the required data transfer rates, with peaks in the load of 200 khz of event records, and about 60 kb/s. If an adequate number of consumer processes is active, thepayload is retrieved immediately and no backlog is created The consumers: receive the messages, decode the information in JSON format, order the events by run number in memory queues, build CSV records and append Dario them Barberis: to files ATLAS in Hadoop Databases 13

Task 3: Query Services They are adaptations and/or evolutions of the web services and APIs used to query the Tag DB to the EventIndex using Hadoop technology Simple data scan operations on the test dataset (1 TB of 2011 data) using the available Hadoop cluster of 20 nodes take about 15 minutes We consider this as the worst case, as normally no query would need to read in all data from disk for a full year of data taking. Queries that give the run number and event number (the event picking use case) and use the so-far not-so-much optimised accessor method return their result in 3.7 seconds For comparison, the same query using a full Map-Reduce job returns in 90 seconds. The results of queries are stored and made available for subsequent queries, that are therefore much faster An important use case is the query (or count) of the events that satisfied a given trigger condition, or a combination of trigger conditions. Queries to the EventIndex involving trigger chains need to be first decoded by knowing the trigger menu via the run number and finding in the COMA database the corresponding trigger info for each bit in the trigger words. The COMA database is stored in Oracle and accessed using ODBC drivers; the retrieved information is then used by MapReduce jobs in the Hadoop cluster. 14

Task 4: Functional Testing & Monitoring Performance tests were done throughout the design and development phase, comparing different design options Reported in the previous slides Next step is the large-scale upload of all Run1 date (starting from real data, but simulation too) to be done to commission the system end-to-end System monitoring is also in place, recording the health of all servers along the chain and data rates Unfortunately SLS at CERN is being replaced with a system with lower functionality so we need to do extra work 15

EventIndex Outlook The EventIndex project is on track to provide ATLAS with a global event catalogue in advance of the resumption of LHC operations in 2015. The global architecture is defined and testing work is in progress; results obtained so far are encouraging. Next steps consist of the full implementation of the final "first operation version", loaded with Run1 data, during the next 2 months, and the completion of deployment and operation infrastructure by the start of 2015. NB: the EventIndex is not designed only for ATLAS. Its infrastructure can be used for any other scientific application that has a lot of data with very small granularity. The details of the implementation of course are specific to ATLAS. In fact the funding we got in Italy is for a generic catalogue for BigData that can be structured as a large number of small and logically equivalent units. 16

Databases in ATLAS for Run2 DB 17

Databases in ATLAS: ATONR DB Online database Contains: Configuration data for detector, trigger and DAQ operation Detector conditions data (DCS) Calibration and alignment constants for online event reconstruction Active stand-by replication. DCS data copied as time series to COOL schema in the offline DB. 18

Databases in ATLAS: ADCR DB Distributed Computing database Contains: Configuration data for ATLAS Grid sites Files and dataset catalogues for DQ2/Rucio (Data Management) Back-end DB for PanDA (Workload Management) Active stand-by replication. 19

Databases in ATLAS: ATLR DB Conditions database Contains: Detector geometry and trigger DB Detector conditions data (DCS) Calibration and alignment constants for offline event reconstruction Active stand-by replication. COOL data replicated to IN2P3-CC, RAL and TRIUMF for Frontier access. Gets data from Muon CalibrationDario Centres and AMI DB in Lyon. Barberis: ATLAS Databases 20

A Conditions Data Service for Run3 (1) PCD WS We learned a lot from the present implementation of COOL+CORAL (schema+interface) It has been a success in Run1 and (hopefully) Run2 for ATLAS Conditions Data Nevertheless we became also aware of a certain number of limitations of the present system, that we may try to overcome for Run3 We should also profit of CMS experience to establish the basis of a future CondDB project aiming at improving the present software chain and overcoming the limitations Main problems encountered: API has grown following a lot of requirements! today we know that some of those were not really needed Global Tag administration is complex, should be better integrated API installation is difficult, most common usage is from lxplus CERN-IT support is decreasing: it could be difficult to adapt CORAL to other relational technologies in case we decide to move away from Oracle We mixed raw (DCS) conditions data with calibration data this should be avoided in the future 21

A Conditions Data Service for Run3 (2) PCD WS A new architecture should: Be database technology independent (as much as possible)! Once a technology is chosen it is always better to profit of it as much as possible! But the core part of the architecture should be independent of the implementation and support as many relational platforms as possible Restructure COOL metadata to include Global Tags in a better way! The metadata experience we have accumulated via COMA indicates without any doubt that we can simplify the present relational structure.! We know today what we really need: all the information is in COOL, but we need to re-organise it to improve the administration and the access.! Additional feedback may come from CMS: their ConditionsDB has been completely re-designed for Run2, and we need to discuss pro and contra of their new solution. Simplify client access! Push further the Frontier approach using RESTful services. The business code should sit in a server, the client has to be as light as possible. 22

A Conditions Data Service for Run3 (3) PCD WS Simplified view of multi-tier architecture: Use simple clients and HTTP REST services in the same way as Frontier Decouple the CD service from the framework, in order to be able to access the service from anywhere and any system. The client should be very lightweight. A relatively simple system with similar functionalities to those we have now with CondDB (Oracle) + POOL files + Frontier + IovDBService in Athena can be composed of: DATA STORE 23

Conditions Data Web Service (1) PCD WS DATA STORE a) A Web Server that connects all the other components and acts as a single frontend to the data storage facility(ies). It would contain all the tools to add data, organise them properly, index what has to be indexed, and serve the data to the clients. This is the core system. 24

Conditions Data Web Service (2) PCD WS DATA STORE b) A relational DB to hold all metadata, IoVs, tags, global tags and whatever else is necessary, including references to the actual data stores. If this part is relatively simple it could be kept in standard SQL with an implementation that could be moved from Oracle to (say) PostgreSQL or anything else supported by CERN in the future. 25

Conditions Data Web Service (3) PCD WS DATA STORE c) A data store for the actual data. The data should be organised in relatively large chunks, optimised for loading by Grid jobs. These chunks could be BLOBs (of whichever type) in the SQL DB or files in a NoSQL system (Hadoop or similar). The advantage of a NoSQL system is that there are already utilities for organising the data and do fast search and retrieval without having to define too much the schema apriori. 26

Conditions Data Web Service (4) PCD WS DATA STORE d) A trivial client that takes requests for a given data type, time range (Interval of Validity) and (global) tag, calls curl http://cdserver.cern.ch/something and returns the payload in JSON format. 27

Conditions Data Service Development PCD WS So far this is little more than an idea Started talks with CMS as they developed part of this global idea (the CondDB schema in Oracle) already for Run2 and are deploying it now The timescale is for Run3 but if done earlier it's not bad Belle2 also expressed an interest we'll see as they need something ready for 2016 The project can be kept totally independent of the contents (and therefore of the experiment) This project is "small" can be done by a few dedicated people if they have complementary competence and experience In the discussions so far: A. Formica (Saclay/ATLAS), E. Gallas (Oxford/ATLAS), D. Barberis (Genoa/ATLAS), G. Govi (FNAL/CMS) It's his idea! 28

Closing Remarks The Database group in ATLAS is small but runs a number of operation and development activities Diversification is the word of the day: we should use the technologies that best fit the applications we have Some applications are well matched to relational SQL databases Others are more data-intensive and need a flexible data store and search engine rather than fixed schemas and transaction management The EventIndex and the new proposed Physics Conditions Data Web Service are examples of "small" projects that can go from ideas to development, deployment and operations in 2-3 years with a reduced number of people Using of course the technologies that match the problem and the knowledge of the developers! 29