kalman filter based track fit running on cell

20
Kalman Filter based Kalman Filter based Track Fit Track Fit running on Cell running on Cell S. Gorbunov S. Gorbunov 1,2 1,2 , U. Kebschull , U. Kebschull 2 , , I. Kisel I. Kisel 2,3 2,3 , V. Lindenstruth , V. Lindenstruth 2 and and W.F.J. Müller W.F.J. Müller 1 1 Gesellschaft für Schwerionenforschung mbH Gesellschaft für Schwerionenforschung mbH , Darmstadt, Germany , Darmstadt, Germany 2 Kirchhoff Institute for Physics, University of Heidelberg, Germany Kirchhoff Institute for Physics, University of Heidelberg, Germany 3 Laboratory of Information Technologies, JINR, Dubna, Russia Laboratory of Information Technologies, JINR, Dubna, Russia IBM, Böblingen IBM, Böblingen February 13, 2007 February 13, 2007

Upload: kumiko

Post on 23-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Kalman Filter based Track Fit running on Cell. S. Gorbunov 1,2 , U. Kebschull 2 , I. Kisel 2,3 , V. Lindenstruth 2 and W.F.J. Müller 1 1 Gesellschaft für Schwerionenforschung mbH , Darmstadt, Germany 2 Kirchhoff Institute for Physics, University of Heidelberg, Germany - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kalman Filter based Track Fit running on Cell

Kalman Filter basedKalman Filter basedTrack FitTrack Fit

running on Cellrunning on Cell

S. GorbunovS. Gorbunov1,21,2, U. Kebschull, U. Kebschull22, , I. KiselI. Kisel2,32,3, V. Lindenstruth, V. Lindenstruth22 and W.F.J. Müller and W.F.J. Müller11

11 Gesellschaft für Schwerionenforschung mbHGesellschaft für Schwerionenforschung mbH, Darmstadt, Germany, Darmstadt, Germany22 Kirchhoff Institute for Physics, University of Heidelberg, GermanyKirchhoff Institute for Physics, University of Heidelberg, Germany33 Laboratory of Information Technologies, JINR, Dubna, RussiaLaboratory of Information Technologies, JINR, Dubna, Russia

IBM, BöblingenIBM, BöblingenFebruary 13, 2007February 13, 2007

Page 2: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 22/20/20

TerminologyTerminology

Kalman FilterKalman Filter basedbasedTrack FitTrack Fit

running on Cellrunning on Cell

Page 3: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 33/20/20

The Kalman Filter The Kalman Filter 1/3 1/3

The Kalman filter is a recursive algorithm which estimates the state of a dynamic system from a series of incomplete and noisy

measurements.

The Kalman filter is a recursive algorithm which estimates the state of a dynamic system from a series of incomplete and noisy

measurements.

The filter was developed in papers by Swerling (1958), Kalman (1960), and Kalman and Bucy (1961).

The filter is named after Rudolf E.

Kalman.

An example of an application would be to provide accurate continuously-updated information about the position and velocity of an object given only a sequence of observations about its position, each of which includes some error.

It is used in a wide range of engineering applications from radar to computer vision.

A wide variety of Kalman filters have now been developed, from Kalman's original formulation, now called the simplesimple Kalman filter, to extendedextended filter, the informationinformation filter and a variety of square-rootsquare-root filters.

Page 4: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 44/20/20

Example: Radar Applications Example: Radar Applications 2/3 2/3

In a radar application, where one is interested in following a target, information about the location, speed, and acceleration of the target is measured at different moments in time with corruption by noise.

r = { x, y, z, vr = { x, y, z, vxx, v, vyy, v, vzz } }

22xx

22yy … …

22zz

22vxvx

… … 22vyvy

22vzvz

C =C =

December 21, 1968. The Apollo 8 spacecraft has just been sent on its way to the Moon.003:46:31 Collins: Roger. At your convenience, would you please go P00 and Accept? We're going to update to your W-matrix.

State State vectorvector

Covariance Covariance matrixmatrix

position velocity

error of x

Page 5: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 55/20/20

The Kalman Filter Algorithm The Kalman Filter Algorithm 3/3 3/3

The Kalman filter exploits the dynamics of the target, which govern its time evolution, to remove the effects of the noise and get a good estimate of the location of the target • at the present time (filteringfiltering), • at a future time (predictionprediction), or • at a time in the past (interpolationinterpolation or smoothingsmoothing).

The Kalman filter is a recursiverecursive estimator – only the estimated state from the previous time step and the current measurement are needed to compute the estimate for the current state.

nn

n+1n+1

mean value over nn measurements

mean value over n+1n+1 measurements

previous estimation

new measurement

correctionweight

PredictionPredictionoror

ExtrapolationExtrapolation

UpdateUpdateoror

FilterFilter

Page 6: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 66/20/20

TerminologyTerminology

Kalman Filter basedKalman Filter basedTrackTrack FitFit

running on Cellrunning on Cell

Page 7: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 77/20/20

The The CCompressed ompressed BBaryonic aryonic MMatter Experiment (GSI, atter Experiment (GSI, Darmstadt) 1/3Darmstadt) 1/3

CBM is a typical modern high energy physics CBM is a typical modern high energy physics experimentexperiment

Challenge:Challenge:

~ 1000 charged particles/collision

107 Au+Au collisions/sec

high speed data acquisition and trigger system

Track == Track == trajectorytrajectory

Page 8: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 88/20/20

Data Acquisition System Data Acquisition System 2/3 2/3

Event Event Builder Builder NetworkNetwork

100 100 evev//sliceslice

DetectorDetector

PC FarmPC Farm

101077 ev/s ev/s

101055 slsl/s/s

50 50 kBkB//evev

5 M5 MBB//sliceslice

N x MN x MN x MN x MSchedulerSchedulerSchedulerScheduler

Sub-FarmSub-Farm

RURURURURURURURURURURURURURURURU

RURURURURURURURURURURURURURURURU

Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm

Farm Control System

Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm

Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm

Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm

Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm

SF

n

availab

le

SFnt MAPS STS RICH TRD ECAL

SFnt MAPS STS RICH TRD ECAL

SFntSFnt SFnt SFnt

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

~1000 ~1000 PCsPCs

Page 9: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 99/20/20

Stages of Data Reconstruction Stages of Data Reconstruction 3/3 3/3

Track findingTrack findingTrack findingTrack finding

Track fittingTrack fittingTrack fittingTrack fitting Vertex finding/fittingVertex finding/fittingVertex finding/fittingVertex finding/fitting

Ring finding (PID)Ring finding (PID)Ring finding (PID)Ring finding (PID)

TimeTimeconsumingconsuming

!!!!!!

Kalman Kalman FilterFilter

Kalman Kalman FilterFilter

CombinatoriCombinatoricscs

• Conformal MappingConformal Mapping• Hough TransformationHough Transformation• Track Following + Kalman FilterTrack Following + Kalman Filter• Cellular Automaton + Kalman FilterCellular Automaton + Kalman Filter

Page 10: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1010/20/20

TerminologyTerminology

Kalman Filter basedKalman Filter basedTrackTrack FitFit

running on Cellrunning on Cell

Page 11: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1111/20/20

Kalman Filter for Track Fit Kalman Filter for Track Fit 1/3 1/3

detectorsmeasurements

ee--

(r, C)(r, C)

track parametersand errors

Page 12: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1212/20/20

The Kalman Filter for Track Fit The Kalman Filter for Track Fit 2/3 2/3

arbitrary large errors

non-homogeneous magnetic fieldas large map

multiple scattering in

material

small errors

weight for update

>>> 256 KB >>> 256 KB of Local Storeof Local Store

not enough accuracy not enough accuracy in single precisionin single precision

Page 13: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1313/20/20

Modifications of the Fitting Algorithm Modifications of the Fitting Algorithm 3/3 3/3

• The initial track parameters are directly estimated from the input data. • The propagation step is performed directly from measurement to measurement without intermediate steps. • Matrix multiplications have been replaced by direct operations on only non-trivial matrix elements.• Most loops have been unrolled in order to provide additional instructions for interleaving.• All branches have been eliminated from the algorithm to avoid branch misprediction penalty. • Calculations have been reordered for better use of the processors pipeline.

Page 14: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1414/20/20

TerminologyTerminology

Kalman Filter basedKalman Filter basedTrackTrack FitFit

running on Cellrunning on Cell

Page 15: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1515/20/20

Cell Processor: Supercomputer-on-a-Chip Cell Processor: Supercomputer-on-a-Chip 1/5 1/5

Approach:Approach:• Run SPEs independently (one collision per SPE) Run SPEs independently (one collision per SPE) • Vectorization (SIMDization)Vectorization (SIMDization)• Universality (any CPU architecture)Universality (any CPU architecture)

Page 16: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1616/20/20

Porting the Kalman Filter on Cell Porting the Kalman Filter on Cell 2/5 2/5

1.1. GSI-LinuxGSI-Linux2.2. Virtual machine:Virtual machine:

Red Hat (Fedora Core 4)Red Hat (Fedora Core 4) Cell Simulator:Cell Simulator:

PPEPPE SPESPE

3.3. Cell Blade Cell Blade

SSE2SSE2

SSE2SSE2

AltiVecAltiVec

Specialized Specialized SIMDSIMD

Data Types:Data Types:

Platform:Platform:

Use headers to overload +, -, *, / operators --> the source code is Use headers to overload +, -, *, / operators --> the source code is unchanged !unchanged !

Use headers to overload +, -, *, / operators --> the source code is Use headers to overload +, -, *, / operators --> the source code is unchanged !unchanged !

c = a + bc = a + b

• Scalar doubleScalar double• Scalar floatScalar float• Pseudo-vector Pseudo-vector (array)(array)• Vector (4 float)Vector (4 float)

Page 17: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1717/20/20

SPE Statistics SPE Statistics 3/5 3/5

Page 18: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1818/20/20

Modifications of the Fitting Algorithm Modifications of the Fitting Algorithm 4/5 4/5

Inte

l P4

Inte

l P4

Cell

Cell

Page 19: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1919/20/20

Kalman Filter on Kalman Filter on Intel XeonIntel Xeon, , AMD OpteronAMD Opteron and and CellCell 5/5 5/5Fit of a single track:Fit of a single track:

Fit of thousands of tracks:Fit of thousands of tracks:

lxg1411

eh102blade11bc

4

2.12.1 1.61.61.71.7 1.91.9

Cell SPE is: Cell SPE is: 1.51.5 times faster than Intel Xeon times faster than Intel Xeon and and 22 times faster than AMD Opteron times faster than AMD Opteron

Cell SPE is: Cell SPE is: 1.51.5 times faster than Intel Xeon times faster than Intel Xeon and and 22 times faster than AMD Opteron times faster than AMD Opteron

Page 20: Kalman Filter based Track Fit running on Cell

13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen

Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 2020/20/20

Summary and PlansSummary and Plans

Sub-FarmSub-Farm

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …

On-line Selection (Trigger)On-line Selection (Trigger)On-line Selection (Trigger)On-line Selection (Trigger)

DevelopmentDevelopmentDevelopmentDevelopment

1. Distribution of Data1. Distribution of Data 2. Track Finding2. Track Finding 3. Track Fit3. Track Fit Kalman FilterKalman Filter

Intel, AMD and CellIntel, AMD and Cell

??

Cellular AutomatonCellular Automaton

??

Sub-Farm DemonstratorSub-Farm Demonstrator