150 likes | 253 Views
How to Marry the ALICE High Level Trigger DiMuon Tracking Algorithm and the ALICE High Level Trigger Data Transport Framework. Mapping of Current dHLT Algorithm to Pub/Sub Components. Sequence of Steps Tracker receives data from trigger stations
E N D
How to Marry the ALICE High Level Trigger DiMuon Tracking Algorithm and the ALICE High Level Trigger Data Transport Framework
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI • Calculates ROI in ST4 from trigger and ST5 data • Sends message to ST4-ROI-Selector • Receives ST4 clusters from ROI • Performs final tracking • Hands tracks to decision entity Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Natural Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI • Calculates ROI in ST4 from trigger and ST5 data Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI • Calculates ROI in ST4 from trigger and ST5 data • Sends message to ST4-ROI-Selector Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI • Calculates ROI in ST4 from trigger and ST5 data • Sends message to ST4-ROI-Selector • Receives ST4 clusters from ROI Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI • Calculates ROI in ST4 from trigger and ST5 data • Sends message to ST4-ROI-Selector • Receives ST4 clusters from ROI • Performs final tracking Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Sequence of Steps • Tracker receives data from trigger stations • Calculates Region-of-Interest (ROI) in ST5 from trigger data • Sends message to ST5-ROI-Selector • Receives ST5 clusters from ROI • Calculates ROI in ST4 from trigger and ST5 data • Sends message to ST4-ROI-Selector • Receives ST4 clusters from ROI • Performs final tracking • Hands tracks to decision entity Trigger MT1 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 ST5 ROI Selection Raw Data ST4 ClustFind ST4 ST4 ROI Selection Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages
Mapping of Current dHLT Algorithm to Pub/Sub Components • Problems • Asynchronous sending (relative to normal dataflow) not foreseen in framework • Difficulties receiving multiple time delayed (causally linked) blocks of data for the same event in one component • Latency delays Trigger MT1 Tracker Trigger MT2 ClustFind ST5 ST5 ROI Selection Raw Data ST5 ClustFind ST4 ST4 ROI Selection Raw Data ST4 Straight lines: Normal framework (pub/sub) dataflow Curved lines: Additional messages Dataflow components not shown Distribution on multiple nodes not shown
Adapted Mapping of Current dHLT Algorithm to Components Trigger MT1 ST5 ROI Calc ST5 ROI Selection ST5 Tracker ST4 ROI Calc ST4 ROI Selection ST4 Tracker Trigger MT2 Raw Data ST5 ClustFind ST5 Raw Data ST4 ClustFind ST4 • Possible Solution: • No asynchronous message sending • All data flow is in framework • No additional latency delay and induced idle times • Split up of algorithm required Dataflow components not shown Distribution on multiple nodes not shown
Adapted Mapping of Current dHLT Algorithm to Components ST5 ROI Calc 1/3 ST5 ROI Selection ST5 Tracker ST4 ROI Calc ST4 ROI Selection ST4 Tracker Trigger MT1 ST5 ROI Calc 2/3 ST5 ROI Selection ST5 Tracker ST4 ROI Calc ST4 ROI Selection ST4 Tracker Trigger MT2 ST5 ROI Calc 3/3 ST5 ROI Selection ST5 Tracker ST4 ROI Calc ST4 ROI Selection ST4 Tracker Raw Data ST5 ClustFind ST5 Raw Data ST4 ClustFind ST4 Possible configuration with some load balancing Dataflow components not shown
Trivial Mapping of Current dHLT Algorithm to Components Trigger MT1 Trigger MT2 • Very monolithic approach • No splitting up of tracking algorithm • But, no fine grained distribution of steps • Possibly higher latency (One event is processed fully sequentially, on one single node), requiring larger buffers in front ends ClustFind ST5 Global Tracker ClustFind ST4 Raw Data ST5 ClustFind ST5 Global Tracker ClustFind ST4 Raw Data ST4 ClustFind ST5 Global Tracker ClustFind ST4