cej25 / c4Root

FairRoot-based analysis software for decay spectroscopy experiments
GNU General Public License v3.0
2 stars 2 forks source link

Benchmarking #147

Closed cej25 closed 5 months ago

cej25 commented 5 months ago

Recently it feels like the code has been running slower than I expect. There are a few more intensive tasks now, but even so I'm noticing ~15kEvents/sec and expecting more like 25-30k.

I will test to see if there are any strange task hangups.

cej25 commented 5 months ago

Some stats I can't reconcile in my head:

On lxg1301... Readers:

[INFO] bPlastReader:~bPlastReader: Average execution time: 0.302621 microseconds. [INFO] FatimaReader:~FatimaReader: Average execution time: 0.0159586 microseconds. bplast ~ 19x fatima

Average event size:

bplast: 454.8 bytes fatima: 196.6 bytes bplast ~ 2.3x fatima

cej25 commented 5 months ago

Some stats I can't reconcile in my head:

On lxg1301...

Readers: [INFO] bPlastReader:~bPlastReader: Average execution time: 0.302621 microseconds. [INFO] FatimaReader:~FatimaReader: Average execution time: 0.0159586 microseconds. bplast ~ 19x fatima

Average event size:

bplast: 454.8 bytes fatima: 196.6 bytes bplast ~ 2.3x fatima

ok, i understand this now.

Ratio of total data is between ~30-40 from file to file, and with all subsystems running the macro executes the readers at an average time ratio of ~30.

cej25 commented 5 months ago

On lxg1301 with (practically) the maximum "online" load, running at ~20kEvents / second.

Fatima (some TAMEX + some of VME) AIDA bPlast Germanium (no online spectra) FRS (all online spectra + nearline analysis spectra) TimeMachines WR Correlations

It takes about 4-5 minutes to fill a file and 7-8 minutes to read it, so online we're looking at ~50-70% of the data.

nichubbard commented 5 months ago

Can we disable some spectra to get closer 100%? e.g. nearline analysis of FRS, and idk what?

cej25 commented 5 months ago

Yeah I think so. Currently all the nice PIDs and stuff are in this FrsAnalysisTask but I think I can move a few select ones to "OnlineSpectra" and remove the Analysis task from Online.

Additionally this was with FrsRaw and FrsCal plots, so these can be removed aside from occasional checks I think (maybe even nearline checks in most cases?).

Time Machines is pretty fast but even there we have some unnecessary plots - e.g. if AIDA is good, presumably we can/should just correlate every other subsystem against this?

nichubbard commented 5 months ago

Makes sense to move the key ones (like main PID) to online and more advanced stuff can be nearline

cej25 commented 5 months ago

FrsAnalysisSpectra which does essentially all the nearline FRS plotting, isn't so intense it seems. Saved approximately 6 seconds on a file. I will still move the pertinent things to a proper online task, but seems we should look elsewhere perhaps if we are to reach 100%.