Improvement of the ALICE Online Event Display using OO patterns and - - PowerPoint PPT Presentation

improvement of the alice online event display using oo
SMART_READER_LITE
LIVE PREVIEW

Improvement of the ALICE Online Event Display using OO patterns and - - PowerPoint PPT Presentation

Improvement of the ALICE Online Event Display using OO patterns and parallelization techniques Mihai Niculescu (Institute of Space Science Romania) for ALICE experiment Amsterdam, CHEP 14-18 October 2013 1 A bit of History (1/2) ALICE Event


slide-1
SLIDE 1

Amsterdam, CHEP 14-18 October 2013 1

Improvement of the ALICE Online Event Display using OO patterns and parallelization techniques

Mihai Niculescu (Institute of Space Science Romania) for ALICE experiment

slide-2
SLIDE 2

Amsterdam, CHEP 14-18 October 2013 2

A bit of History (1/2)

  • ALICE Event Display

(alieve) was mainly developed by Matevz Tadel and Alja Mrak-Tadel

  • Experiment dependent: data

loading and processing algorithms:

– Detector geometry,

simulation & reconstructed data

– Raw and digits data – High-level trigger

events

– Visualization scripts

slide-3
SLIDE 3

Amsterdam, CHEP 14-18 October 2013 3

A bit of History (2/2)

  • Experiment independent code was ported to ROOT (REVE) –

GUI and OpenGL – now part as a ROOT module

– Application core

  • Management: obj-browsers, 3D scenes and

viewers, events and event navigation

  • Environment for CINT scripts

– Visualization classes (geometry,extracted shape

data, hits,clusters, tracks)

slide-4
SLIDE 4

Amsterdam, CHEP 14-18 October 2013 4

The Online Story

  • In Online mode we want to be able to visualize events as they

come, this brings coolness

  • Also, proves as a good visual tool for debugging (acquisition,

detector algorithms, reconstruction processing chain)

  • Basically, in online mode:

– 1. Fetch the raw data event – 2. Reconstruct it – 3. Display it – 4. go to 1 or exit if no more events

slide-5
SLIDE 5

Amsterdam, CHEP 14-18 October 2013 5

The Online Plot

rec.C (Reconstruction) Fork process DIM client /process mngr DIM server 146860 *Below same thing in words

slide-6
SLIDE 6

Amsterdam, CHEP 14-18 October 2013 6

The Online Conflict

  • AliEve (visualization) is coupled with reconstruction (data

model) – CINT hooks in the reconstruction to call alieve:

– No good design – AliEve GUI freezes while reconstruction runs

  • Can't change viz. Options/params
  • Can't take screenshots

– If reconstruction crashes, so do the visualization

(alieve)

  • Only one single application (alieve) to visualize the online

reconstructed data

slide-7
SLIDE 7

Amsterdam, CHEP 14-18 October 2013 7

The Online Climax

  • Proposed solutions, make use of:

– HLT Homer protocol

  • Reliable & uses TSockets from ROOT

– Network sockets

  • Pure posix C API
  • TSockets: ROOT network API
  • ZeroMQ

– Network file sharing environment

slide-8
SLIDE 8

Amsterdam, CHEP 14-18 October 2013 8

A bit about ZeroMQ library

  • Intelligent and small socket library for messaging
  • Very fast (8 M msg/sec, 30 micro sec latency)

– “It's sockets on steroids”

  • Many kinds of messaging patterns (Pub/Sub, Req/Rep,

Req/Router, Dealer/Rep, Push/Pull, etc.)

  • Licensed under LGPL
  • Multiple transports (inproc, ipc,tcp,pgm)
  • Multi-platform (Windows, Linux, Android,..)
  • Automatically deals with socket failures - (re)connect
  • Easy to learn and implement
slide-9
SLIDE 9

Amsterdam, CHEP 14-18 October 2013 9

Improvement of Online event display

  • Created an event server with a GUI
  • Listens for DIM messages
  • contains an online reconstruction server in a separate thread

– Reconstructs the incoming raw events – Create the TStreamerInfos of AliESDEvent – Serialize AliESDEvent – Send both to a 0MQ socket as a multi-part message

  • Multiple clients can subscribe to this socket
  • View is decoupled from model/controller
slide-10
SLIDE 10

Amsterdam, CHEP 14-18 October 2013 10

Future goals

  • Implement the pattern REQUEST-REPLAY in order to fetch

previous reconstructed events from the server

  • Implement a superuser mode in order to bookmark/save

interested events

  • Serve events in a different data format (XML,...) to allow clients

be independent of ROOT

– Clients written with HTML5, iOS SDK,

Android,...

slide-11
SLIDE 11

Amsterdam, CHEP 14-18 October 2013 11

Acknowledgements

  • Peter Hristov (CERN) and Andrei Gheata (CERN) for all helpful

comments/ideas

  • Gerardo Ganis (CERN) for making sense of streamer infos
  • Miguel Martinez Pedreira (CERN, office mate) for convincing

me to use ZeroMQ

slide-12
SLIDE 12

Amsterdam, CHEP 14-18 October 2013 12

Thank you for your attention!