FairRoot Status & - - PowerPoint PPT Presentation

fairroot status plans
SMART_READER_LITE
LIVE PREVIEW

FairRoot Status & - - PowerPoint PPT Presentation

FairRoot Status & Plans M. Al-Turany 12/3/13 GSI + FAIR Compu@ng Mee@ng


slide-1
SLIDE 1

FairRoot ¡ ¡ ¡ Status ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡& ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Plans ¡

  • M. ¡Al-­‑Turany ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-2
SLIDE 2

Status ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

  • Works ¡with ¡ ¡C++11 ¡
  • Ready ¡for ¡test ¡beams ¡and ¡online ¡analysis ¡
  • Re-­‑engineering ¡of ¡some ¡base ¡classes ¡is ¡
  • ngoing ¡(Clean ¡some ¡historical ¡stuff!) ¡
slide-3
SLIDE 3

Hot ¡Topics ¡ ¡

  • Concurrency ¡ ¡
  • Grid ¡/Distributed ¡Compu@ng ¡
  • FairRoot ¡& ¡ALICE ¡O2 ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Grid ¡

GPU, ¡Xeon, ¡.. ¡ ZMQ ¡ Alice-­‑Fair ¡

slide-4
SLIDE 4

Concurrency: ¡ Where ¡we ¡are ¡now? ¡

  • Single ¡threaded ¡single ¡process ¡ROOT ¡event ¡

loop ¡

  • User ¡code ¡is ¡in ¡Task ¡hierarchy ¡that ¡runs ¡

sequen@ally ¡ ¡

  • Grid/batch ¡jobs ¡run ¡embarrassingly ¡parallel ¡

(one ¡process/core) ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-5
SLIDE 5

What ¡are ¡the ¡Problems ¡

  • C ¡and ¡C++ ¡do ¡not ¡offer ¡any ¡support ¡for ¡

concurrency! ¡

  • Embarrassingly ¡parallel ¡workload ¡does ¡not ¡

scale ¡

– Memory ¡needed ¡for ¡each ¡process ¡è ¡expensive ¡ – How ¡this ¡scheme ¡should ¡work ¡for ¡the ¡Online ¡ clusters? ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-6
SLIDE 6

Mul@-­‑processing ¡vs. ¡Mul@-­‑threading ¡

  • Different ¡processes ¡are ¡

insulated ¡from ¡each ¡

  • ther ¡by ¡the ¡OS, ¡an ¡

error ¡in ¡one ¡process ¡ cannot ¡bring ¡down ¡ another ¡process. ¡

  • Inter-­‑process ¡

communica@on ¡can ¡be ¡ used ¡ ¡across ¡network ¡

  • Error ¡in ¡one ¡thread ¡can ¡

bring ¡down ¡all ¡the ¡ threads ¡in ¡the ¡process. ¡ ¡

  • Inter-­‑thread ¡

communica@on ¡is ¡fast ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-7
SLIDE 7

Correct ¡balance ¡between ¡reliability ¡ and ¡performance ¡

  • Mul@-­‑process ¡concept ¡with ¡message ¡queues ¡for ¡

data ¡exchange ¡

– Each ¡"Task" ¡is ¡a ¡separate ¡process, ¡which ¡can ¡be ¡also ¡ mul@threaded, ¡and ¡the ¡data ¡exchange ¡between ¡the ¡ different ¡tasks ¡is ¡done ¡via ¡messages. ¡ ¡ ¡ – Different ¡topologies ¡ ¡of ¡tasks ¡that ¡can ¡be ¡adapted ¡to ¡ the ¡problem ¡itself, ¡and ¡the ¡hardware ¡capabili@es. ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-8
SLIDE 8
  • BSD ¡sockets ¡API ¡
  • Bindings ¡for ¡30+ ¡languages ¡
  • Lockless ¡and ¡Fast ¡
  • Automa@c ¡re-­‑connec@on ¡ ¡
  • Mul@plexed ¡I/O ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

A ¡cloud ¡ ¡that ¡let ¡you ¡connect ¡different ¡ pieces ¡together ¡

slide-9
SLIDE 9

nanomsg ¡is ¡under ¡development ¡by ¡the ¡original ¡ author ¡of ¡ZeroMQ ¡

  • Pluggable ¡Transports: ¡ ¡

– ZeroMQ ¡has ¡no ¡formal ¡API ¡for ¡adding ¡new ¡transports ¡(Infiniband, ¡WebSeockets, ¡etc). ¡ nanomsg ¡defines ¡such ¡API, ¡which ¡simplifies ¡implementa@on ¡of ¡new ¡transports. ¡

  • Zero-­‑Copy: ¡ ¡

– Becer ¡zero-­‑copy ¡support ¡with ¡RDMA ¡and ¡shared ¡memory, ¡which ¡will ¡improve ¡transfer ¡ rates ¡for ¡larger ¡data ¡for ¡inter-­‑process ¡communica@on. ¡

  • Simpler ¡interface: ¡ ¡

– simplifies ¡some ¡zeromq ¡concepts ¡and ¡API, ¡for ¡example, ¡it ¡no ¡longer ¡needs ¡Context ¡class. ¡

  • Numerous ¡other ¡improvements, ¡described ¡here: ¡

hcp://nanomsg.org/documenta@on-­‑zeromq.html ¡

  • FairRoot ¡is ¡independent ¡from ¡the ¡transport ¡library ¡

– Modular/Pluggable/Switchable ¡transport ¡libraries. ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-10
SLIDE 10

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ZeroMQ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Root ¡(Event ¡loop) ¡ ¡ ¡ ¡ ¡ ¡

12/3/13 ¡

FairRootManager ¡ ¡ ¡ FairRunAna ¡

¡ ¡

FairTasks ¡ ¡ Init() ¡ Re-­‑Init() ¡ Exec() ¡ Finish() ¡

¡ ¡

FairMQProcessorTask ¡ ¡ ¡ Init() ¡ Re-­‑Init() ¡ Exec() ¡ Finish() ¡

¡ ¡ ¡ ROOT ¡Files, ¡Lmd ¡Files, ¡Remote ¡event ¡server, ¡… ¡

Integra@ng ¡the ¡exis@ng ¡sogware: ¡ ¡

GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-11
SLIDE 11

FairRoot: ¡ ¡Example ¡3 ¡

12/3/13 ¡

4 ¡-­‑Tracking ¡sta@ons ¡with ¡ ¡ a ¡dipole ¡field ¡ ¡ ¡ Simula@on: ¡ ¡ 10k ¡event: ¡ ¡300 ¡Protons/ev ¡ Digi@za@on ¡ ¡ ¡ Reconstruc@on: ¡ Hit/Cluster ¡ ¡Finder ¡

GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-12
SLIDE 12

2 ¡x ¡2.4 ¡Xeon ¡Quad ¡core ¡Intel ¡Xeon ¡ ¡ ¡ 16 ¡GB ¡Memory ¡ ¡

12/3/13 ¡

TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡

171 ¡s ¡ ¡ 6 ¡* ¡263 ¡MB ¡ Throughput ¡ ¡~ ¡ ¡3500 ¡ev/s ¡

GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Wall ¡@me: ¡171 ¡s ¡ Total ¡Event: ¡60k ¡events ¡

slide-13
SLIDE 13

2 ¡x ¡2.4 ¡Xeon ¡Quad ¡core ¡Intel ¡Xeon ¡ ¡ ¡ 16 ¡GB ¡Memory ¡ ¡

12/3/13 ¡

TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡ TClonesArray ¡

300 ¡s ¡ ¡ 8 ¡* ¡ ¡263 ¡MB ¡ Throughput ¡ ¡~ ¡2660 ¡ev/s ¡

GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Wall ¡@me: ¡300 ¡s ¡ Total ¡Event: ¡80k ¡events ¡

slide-14
SLIDE 14

12/3/13 ¡

0 ¡ 500 ¡ 1000 ¡ 1500 ¡ 2000 ¡ 2500 ¡ 3000 ¡ 3500 ¡ 4000 ¡ 1 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡

Throughput ¡Event/s ¡ ¡

2 ¡x ¡2.4 ¡Xeon ¡Quad ¡core ¡Intel ¡Xeon ¡ ¡ 16 ¡GB ¡Memory ¡ ¡

GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-15
SLIDE 15

¡ ¡

12/3/13 ¡ Proxy Proxy sink sink processor processor Push Push Push Push Proxy Proxy processor processor

2 ¡x ¡2.4 ¡Xeon ¡Quad ¡core ¡Intel ¡Xeon ¡ ¡ 16 ¡GB ¡Memory ¡ ¡

sampler sampler sink sink processor processor sampler sampler processor processor

17.1 ¡s ¡ ¡77 ¡ ¡Mb ¡ 4x ¡ ¡26.1 ¡ ¡ ¡s ¡ ¡211 ¡Mb ¡ 2x ¡ ¡17.3 ¡ ¡ ¡s ¡ ¡168 ¡Mb ¡ 2x ¡ Throughput ¡ ¡~ ¡7400 ¡ev/s ¡ Total ¡Memory ¡ ¡1355 ¡Mb ¡ Wall ¡@me: ¡26.1 ¡s ¡ Total ¡Event: ¡20k ¡events ¡ ¡8.5 ¡ ¡s ¡ ¡113 ¡Mb ¡ ¡7,1 ¡s ¡ ¡176 ¡ ¡Mb ¡

GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-16
SLIDE 16

¡ ¡ ¡ ¡

12/3/13 ¡ Proxy Proxy sink sink processor processor Push Push Push Push Proxy Proxy processor processor

2 ¡x ¡2.4 ¡Xeon ¡Quad ¡core ¡Intel ¡Xeon ¡ ¡ 16 ¡GB ¡Memory ¡ ¡

sampler sampler sink sink processor processor sampler sampler processor processor

¡33 ¡ ¡s ¡ ¡86 ¡Mb ¡ 4x ¡ ¡36.4 ¡s ¡ ¡228 ¡Mb ¡ 3x ¡ ¡22 ¡s ¡ ¡151 ¡Mb ¡ 4x ¡ Throughput ¡ ¡~ ¡10990 ¡ev/s ¡ Wall ¡@me: ¡36.4 ¡s ¡ Total ¡Event: ¡40k ¡events ¡

sink sink

¡12.8 ¡s ¡ ¡105 ¡Mb ¡ ¡15.6 ¡s ¡ ¡175Mb ¡ Gigabit ¡ Ethernet ¡

sampler sampler sampler sampler GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-17
SLIDE 17

New ¡building ¡blocks ¡for ¡FairRoot: ¡

  • Each ¡en@ty ¡has ¡its ¡own ¡watchdog ¡process ¡
  • The ¡en@ty ¡is ¡sta@cally ¡inherited ¡and ¡

implement ¡3 ¡interfaces: ¡ ¡

– IDDSConfig ¡

  • ¡interface ¡to ¡configura@on ¡files ¡
  • used ¡by ¡the ¡watchdog ¡and ¡by ¡the ¡user ¡process ¡

– IDDSStatus ¡ ¡

  • High ¡and ¡low ¡level ¡status ¡info ¡used ¡by ¡the ¡

watchdog ¡

– IDDSLog ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

watchdog ¡ Device ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

IDDSStatus ¡ IDDSConfig ¡ IDDSLog ¡

slide-18
SLIDE 18

FairRoot ¡worked ¡with ¡AliEn ¡grid, ¡But: ¡

  • The ¡new ¡FairRoot ¡concept ¡(Data ¡driven ¡framework) ¡

will ¡NOT ¡work ¡with ¡ALiEn ¡as ¡it ¡is ¡now. ¡

  • It ¡seems ¡that ¡there ¡will ¡be ¡no ¡future ¡for ¡the ¡current ¡

AliEn ¡even ¡by ¡ALICE ¡itself! ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-19
SLIDE 19

AliEn ¡Grid ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Predrag ¡Buncic ¡-­‑ ¡ALICE ¡Offline ¡Coordinator ¡

slide-20
SLIDE 20

AliEn ¡Grid ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Predrag ¡Buncic ¡-­‑ ¡ALICE ¡Offline ¡Coordinator ¡

slide-21
SLIDE 21

Lessons ¡to ¡learn ¡from ¡other ¡LHC ¡ experiments! ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Ian ¡Bird ¡ LHC ¡Compu@ng ¡Grid ¡Project ¡Leader ¡ CERN ¡IT ¡Department ¡ ¡

slide-22
SLIDE 22

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Lessons ¡to ¡learn ¡from ¡other ¡LHC ¡ experiments! ¡ ¡

Ian ¡Bird ¡ LHC ¡Compu@ng ¡Grid ¡Project ¡Leader ¡ CERN ¡IT ¡Department ¡ ¡

slide-23
SLIDE 23

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

Lessons ¡to ¡learn ¡from ¡other ¡LHC ¡ experiments! ¡ ¡

Ian ¡Bird ¡ LHC ¡Compu@ng ¡Grid ¡Project ¡Leader ¡ CERN ¡IT ¡Department ¡ ¡

slide-24
SLIDE 24

Fair ¡Compu@ng ¡and ¡Grid ¡

  • Do ¡we ¡need ¡the ¡current ¡grid? ¡ ¡

– This ¡is ¡a ¡ques@on ¡which ¡the ¡experiment ¡should ¡ answer! ¡

  • FairRoot ¡group ¡will: ¡

– Support ¡all ¡reasonable ¡environments ¡available ¡ – Run ¡on ¡Laptop ¡and ¡Cluster ¡ – NOT ¡par@cipate ¡in ¡any ¡middle ¡ware ¡development, ¡ we ¡do ¡not ¡have ¡the ¡man ¡power ¡or ¡the ¡knowhow ¡ to ¡do ¡that. ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-25
SLIDE 25

FairRoot ¡& ¡ALICE ¡O2 ¡

  • Long ¡years ¡of ¡close ¡collabora@on ¡with ¡the ¡

Alice ¡offline ¡group ¡ ¡

  • The ¡compu@ng ¡requirement ¡for ¡Alice ¡ ¡ager ¡

upgrade ¡are ¡very ¡similar ¡to ¡FAIR ¡experiments ¡

  • The ¡new ¡design ¡suggested ¡for ¡FairRoot ¡fulfill ¡ ¡ ¡

also ¡the ¡requirement ¡of ¡Alice ¡O2 ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡

slide-26
SLIDE 26

FairRoot ¡& ¡ALICE ¡O2 ¡ ¡ ¡ ¡(cont.) ¡

  • A ¡common ¡development ¡with ¡ALICE ¡would ¡be ¡

beneficial ¡for ¡all ¡ ¡

  • The ¡HLT ¡of ¡ALICE ¡could ¡be ¡seen ¡as ¡a ¡proto ¡

type ¡for ¡FAIR ¡online ¡clusters ¡

  • We ¡will ¡benefit ¡from ¡the ¡experience ¡gained ¡by ¡

suppor@ng ¡ ¡a ¡running ¡experiment! ¡ ¡ ¡

12/3/13 ¡ GSI ¡+ ¡FAIR ¡Compu@ng ¡Mee@ng ¡