24
03/27/22 03/27/22 1 Introduction Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing Common schema of the LHCb computing organisation organisation . . Hierarchy of the base LHCb software Hierarchy of the base LHCb software projects. projects. Gaudi – the LHCb software framework. Gaudi – the LHCb software framework. Distributed computing – DIRAC and Distributed computing – DIRAC and GANGA projects. GANGA projects. Conclusion and plans. Conclusion and plans.

6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 11

IntroductionIntroduction LHCb experiment.LHCb experiment. Common schema of the LHCb computing Common schema of the LHCb computing

organisationorganisation.. Hierarchy of the base LHCb software Hierarchy of the base LHCb software

projects.projects. Gaudi – the LHCb software framework.Gaudi – the LHCb software framework. Distributed computing – DIRAC and GANGA Distributed computing – DIRAC and GANGA

projects.projects. Conclusion and plans.Conclusion and plans.

Page 2: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 22

LHCb detectorLHCb detector

The LHCb experiment is designed to The LHCb experiment is designed to study CP violation in the b-quark sector at study CP violation in the b-quark sector at the LHC.the LHC.

It expands the current studies underway It expands the current studies underway at the B-factories (Babar, Belle) and at at the B-factories (Babar, Belle) and at the Tevatron (CDF, D0). the Tevatron (CDF, D0).

The LHC allows an abundant production The LHC allows an abundant production of B-particles (10of B-particles (101212 in one year). in one year).

Page 3: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 33

Page 4: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 44

Page 5: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 55

The LHCb computing organisationThe LHCb computing organisation

Page 6: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 66

The Configuration Management Tool The Configuration Management Tool (CMT) was used to build any LHCb (CMT) was used to build any LHCb project and to maintain the project and to maintain the dependencies between them.dependencies between them.

All the LHCb software were All the LHCb software were implemented wide using object implemented wide using object oriented technologies with main oriented technologies with main language C++.language C++.

Page 7: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 77

The LHCb software is structured in several The LHCb software is structured in several projectsprojects. .

GGaudi audi as a foundationas a foundation projectproject uses several LCG projects uses several LCG projects such as SEAL, POOL, ROOT. such as SEAL, POOL, ROOT.

Another project called LHCb is dedicated to handle the Another project called LHCb is dedicated to handle the LHCb Event Model, the Detector Description LHCb Event Model, the Detector Description framework and several general use packages on which framework and several general use packages on which all applications depend. all applications depend.

A set of projects house the actual algorithms that are A set of projects house the actual algorithms that are assembled in order to produce applications:assembled in order to produce applications:

Lbcom: contains a few packages shared by Boole, Lbcom: contains a few packages shared by Boole, Brunel and DaVinciBrunel and DaVinci

Rec: contains all reconstruction packagesRec: contains all reconstruction packages Phys: contains all physics-related packagesPhys: contains all physics-related packages Online: contains the online services used by Online: contains the online services used by

applications running on the Event Filter Farm.applications running on the Event Filter Farm. On top of these are built all applications projects: On top of these are built all applications projects:

Gauss, Boole, Brunel, DaVinci, L1 & HLT and Gauss, Boole, Brunel, DaVinci, L1 & HLT and Panoramix.Panoramix.

Page 8: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 88

The LHCb CMT projects and the LCG packages on which LHCb reliesThe LHCb CMT projects and the LCG packages on which LHCb relies

Page 9: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 99

Page 10: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1010

The LHCb software development strategy The LHCb software development strategy follows an architecture-centric approach as a follows an architecture-centric approach as a way of creating a resilient software framework way of creating a resilient software framework that can withstand changes in requirements that can withstand changes in requirements and technology over the expected lifetime of and technology over the expected lifetime of the experiment. The software architecture, the experiment. The software architecture, called Gaudi, supports event data processing called Gaudi, supports event data processing applications that run in different processing applications that run in different processing environments. Object oriented technologies environments. Object oriented technologies have been used throughout. The LHCb have been used throughout. The LHCb reconstruction (Brunel), the trigger applications reconstruction (Brunel), the trigger applications (L1/HLT), the analysis (DaVinci) package, the (L1/HLT), the analysis (DaVinci) package, the digitization (Boole) together with the simulation digitization (Boole) together with the simulation application (Gauss) and the event and detector application (Gauss) and the event and detector visualization program (Panoramix) are all based visualization program (Panoramix) are all based on the Gaudi framework. on the Gaudi framework.

Page 11: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1111

Object diagram of the Gaudi architectureObject diagram of the Gaudi architecture

Page 12: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1212

The basic idea of Gaudi is to define a set of The basic idea of Gaudi is to define a set of services that are common to most of the event services that are common to most of the event data processing applications.data processing applications.

Gaudi makes a clear distinction between Gaudi makes a clear distinction between DataObjectDataObjects and s and AlgorithmAlgorithmss..

AlgorithmsAlgorithms see only data objects in the see only data objects in the transient representation and as a consequence transient representation and as a consequence are shielded from the technology chosen to are shielded from the technology chosen to store the persistent data objects. That also store the persistent data objects. That also minimizes the coupling between independent minimizes the coupling between independent algorithms.algorithms.

Gaudi distinguishes three types of data: Gaudi distinguishes three types of data: event, event, detector and statistical.detector and statistical.

the Gaudi framework, although originally the Gaudi framework, although originally developed for the LHCb experiment, it has been developed for the LHCb experiment, it has been adopted and extended by the ATLAS, GLAST, adopted and extended by the ATLAS, GLAST, HARP and by other experiments.HARP and by other experiments.

Page 13: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1313

Distributed Computing Distributed Computing

The resource requirements for Computing in LHCb are The resource requirements for Computing in LHCb are such that they can only be obtained from a distributed such that they can only be obtained from a distributed environmentenvironment. . LHCb will use as much as possible the LHCb will use as much as possible the possibilities provided by the LCG both in terms of possibilities provided by the LCG both in terms of Computing resources (CPU and storage) and in terms of Computing resources (CPU and storage) and in terms of software components. It is expected that LCG will software components. It is expected that LCG will provide a set of baseline services for workload provide a set of baseline services for workload management (job submission and follow-up) and data management (job submission and follow-up) and data management (storage, file transfer, etc.) Several management (storage, file transfer, etc.) Several higher-level services however are very much higher-level services however are very much experiment-dependent and thus will be provided by experiment-dependent and thus will be provided by LHCb. This is the case for the file and job provenance LHCb. This is the case for the file and job provenance (Bookkeeping database), for the Workload Management (Bookkeeping database), for the Workload Management tools (DIRAC) and for the Distributed Analysis tools tools (DIRAC) and for the Distributed Analysis tools (GANGA). (GANGA).

Page 14: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1414

DIRAC DIRAC ((Distributed Infrastructure with Remote Agents’ Control Distributed Infrastructure with Remote Agents’ Control ))

DIRAC is conceived as a lightweight system with the following requirements: DIRAC is conceived as a lightweight system with the following requirements:

support a rapid cycle of development,support a rapid cycle of development, be able to accommodate ever-evolving grid opportunities, be able to accommodate ever-evolving grid opportunities, be easy to deploy on various platforms, be easy to deploy on various platforms, updates should be transparent or possibly automatic. updates should be transparent or possibly automatic.

DIRAC uses resource provided by LCG grid. However, other resources DIRAC uses resource provided by LCG grid. However, other resources provided by sites not participating to the LCG as well as a large number of provided by sites not participating to the LCG as well as a large number of desktop workstations should be easy to incorporate.desktop workstations should be easy to incorporate.

The system is designed with a roughly definedThe system is designed with a roughly defined scale: scale: ~10~1044 concurrent jobs, concurrent jobs, ~10~1055 jobs in the queue processing, jobs in the queue processing, ~10~1077 datasets handling. datasets handling.

DIRAC uses the paradigm of a Services Oriented Architecture (SOA). The DIRAC uses the paradigm of a Services Oriented Architecture (SOA). The services decomposition follows broadly the one proposed by the ARDA services decomposition follows broadly the one proposed by the ARDA LCG/RTAG in 2003. LCG/RTAG in 2003.

Page 15: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1515

General view of the DIRAC architectureGeneral view of the DIRAC architecture

((arrows originate from the initiator of the action (client) to the destination (server).arrows originate from the initiator of the action (client) to the destination (server).

Page 16: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1616

The main types of the DIRAC components are The main types of the DIRAC components are Resources, Services and Agents: Resources, Services and Agents:

Resources represent Grid Computing and Resources represent Grid Computing and Storage elements and provide access to their Storage elements and provide access to their capacity and status information. capacity and status information.

Services provide access to the various Services provide access to the various functionalities of the DIRAC system in a well-functionalities of the DIRAC system in a well-controlled way. The users interact with the controlled way. The users interact with the system via agents.system via agents.

Agents are lightweight software components Agents are lightweight software components usually running close to the computing and usually running close to the computing and storage resources. These are applications storage resources. These are applications distributed as necessary, which allow the distributed as necessary, which allow the services to carry out their tasks in a distributed services to carry out their tasks in a distributed computing environment. computing environment.

Page 17: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1717

Structure of the Gauss applicationStructure of the Gauss application

Page 18: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1818

GANGA - GANGA - Gaudi and AtheNa Grid AllianceGaudi and AtheNa Grid Alliance

The GANGA application has been developed, in cooperation with The GANGA application has been developed, in cooperation with ATLAS, to help physicists with data analysis on distributed ATLAS, to help physicists with data analysis on distributed computing resources with different access methods. computing resources with different access methods.

GANGA provide a uniform high-level interface to the different GANGA provide a uniform high-level interface to the different low-level implementations for the required tasks, ranging from low-level implementations for the required tasks, ranging from the specification of input data to the retrieval and post-the specification of input data to the retrieval and post-processing of the output. processing of the output.

For LHCb the goal of GANGA is to assist in running jobs based on For LHCb the goal of GANGA is to assist in running jobs based on the Gaudi framework. GANGA is written in Python and presents the Gaudi framework. GANGA is written in Python and presents the user with a single interface rather than a set of different the user with a single interface rather than a set of different applications. applications.

It uses pluggable modules to interact with external tools for It uses pluggable modules to interact with external tools for operations such as querying metadata catalogues, job operations such as querying metadata catalogues, job configuration and job submission. configuration and job submission.

At start-up, the user is presented with a list of templates for At start-up, the user is presented with a list of templates for common analysis tasks, and information about ongoing tasks is common analysis tasks, and information about ongoing tasks is persisted from one invocation to the next. persisted from one invocation to the next.

GANGA can be used either through a command line interface at GANGA can be used either through a command line interface at the Python prompt (CLIP) or through a GUI. Their behaviour are the Python prompt (CLIP) or through a GUI. Their behaviour are completely linked allowing easy transition from one to the other.completely linked allowing easy transition from one to the other.

Page 19: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 1919

Use of CLIP from the Python prompt to create and submit a DaVinci Use of CLIP from the Python prompt to create and submit a DaVinci

job to the DIRAC Workload Management Systemjob to the DIRAC Workload Management System..

Page 20: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 2020

Screenshot of a GANGA session using the GUIScreenshot of a GANGA session using the GUI

Page 21: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 2121

The current version 3.0 of GANGA project has several The current version 3.0 of GANGA project has several restrictions such as:restrictions such as:

the implementation of new features are difficult due to the implementation of new features are difficult due to the design being developed along with the the design being developed along with the implementation; implementation;

the central job registry does not scale much beyond the central job registry does not scale much beyond 100 jobs; 100 jobs;

and the existing implementation does not easily allow and the existing implementation does not easily allow certain parts of GANGA to be placed on remote servers.certain parts of GANGA to be placed on remote servers.

It was therefore decided to use the current release as a It was therefore decided to use the current release as a functional prototype for a complete reimplementation functional prototype for a complete reimplementation of the core of GANGA. Experience from the current of the core of GANGA. Experience from the current GANGA version was also used to create an updated set GANGA version was also used to create an updated set of Use Cases for LHCb. This reimplementation, known of Use Cases for LHCb. This reimplementation, known as GANGA-4 has more or less the same functionality as as GANGA-4 has more or less the same functionality as the existing implementation but without the limitations the existing implementation but without the limitations mentioned above.mentioned above.

Page 22: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 2222

The reimplemented Ganga is logically divided into 4 parts The reimplemented Ganga is logically divided into 4 parts

that can all be hosted on different client/servers if requiredthat can all be hosted on different client/servers if required

Page 23: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 2323

ConclusionConclusion LHCb collaboration has all software needed for LHCb collaboration has all software needed for

MC production (Gauss) and physical analysis MC production (Gauss) and physical analysis (DaVinci) for local computing (DaVinci) for local computing resourcesresources as well as as well as for wide world distributed ones.for wide world distributed ones.

The LHCb software are The LHCb software are developdeveloped using CMT and ed using CMT and object oriented technologies with main language object oriented technologies with main language C++.C++.

All the LHCb software projects base on Gaudi All the LHCb software projects base on Gaudi framework including projects for distributed MC framework including projects for distributed MC production (DIRAC) and data analysis (GANGA).production (DIRAC) and data analysis (GANGA).

There are tens of TB of the There are tens of TB of the available available MC data MC data needed to be analysed and tested.needed to be analysed and tested.

Page 24: 6/4/20151 Introduction LHCb experiment. LHCb experiment. Common schema of the LHCb computing organisation. Common schema of the LHCb computing organisation

04/18/2304/18/23 2424

PlansPlans

DaVinci iDaVinci installnstallation at PNPI cluster. ation at PNPI cluster. To choose any simplest channel of To choose any simplest channel of

B-meson decay for its study on the B-meson decay for its study on the LHCb detector.LHCb detector.

DaVinci job execution at PNPI DaVinci job execution at PNPI cluster.cluster.

to to exploiexploitt resources provided by resources provided by LCG/EGEE grid for data analysis.LCG/EGEE grid for data analysis.