Sti comparison between SL16b for focus group mods

Several modifications for Sti are being proposed by a focus group. Dmitri S. helped assemble StRoot/Sti in SL16b to include modifications 1-5 from You do not have access to view this node.

I ran two jobs using (1) SL16b as is, and (2) SL16b plus the modifications, on the same Run 13 pp500 dataset I used for previous comparisons [see 1, 2], although this time using the PPV-Boost vertex-finder parameters. I used non-optimized to avoid the known problems with optimized SL16b. The two jobs were run at nearly exactly the same time on an lightly loaded RCF node, allowing for a reasonable timing comparison.

Findings:

1) The modifications had absolutely no effect on track reconstruction.

2) The modifications appear to have slowed down non-optimized Sti by what I estimate to be ~10% ± 1% (stat.) ± 2% (syst.)

Evidence for the latter is demonstrated by using the "Cpu =" numbers from the end of the log files. I get the below ratios of CPU time spent on each timing listed in the logs (modified SL16b ["mod"] divided by standard SL16b ["std"]), where the x-axis in the first plot is an index of the sequence in which timings are listed in the log file (1=bfc, 2=rts_reader, ...16 =Sti, ... etc.). In the second plot, the x-axis is the average of time spent on that item per event, which is relevant to the statistical weight of each value (500 events; I've excluded the full bfc from this plot, which was ~50 CPU-sec/event).

Sti, which accounts for over 50% of the reconstruction time, is ~10% slower in the modified SL16b. Statistical fluctuations in timing have some correlation with the magnitude of the time spent on an item (i.e. if the time is sub-1-second, variations are amplified in the ratio), and I think it's reasonable to estimate that the statistical fluctuations would be at the 1% level or less for Sti, which accounts for nearly 27 CPU-sec/event. I subjectively estimate the systematic error at 2% based on what appears to be not-so-random fluctuations among the non-Sti items. Consequentially, since Sti accounts for just over half the bfc time, the full bfc timing was ~5% slower with the modified SL16b.



-Gene

__________________


For documentation sake, including line numbers corresponding to "index" in the above plots, here are the relevant portions of the logs for the values use...

Standard SL16b:
     1	QA :INFO  - QAInfo:Chain            StBFChain::bfc                  Ast =24961.38        Cpu =24861.82 
     2	QA :INFO  - QAInfo:Maker     StRtsReaderMaker::rts_reader           Ast =  0.03( 0.0%) Cpu =  0.02( 0.0%) 
     3	QA :INFO  - QAInfo:Maker      StAnalysisMaker::analysis             Ast =  6.73( 0.0%) Cpu =  6.87( 0.0%) 
     4	QA :INFO  - QAInfo:Maker          StTreeMaker::outputStream         Ast =692.12( 2.8%) Cpu =656.64( 2.6%) 
     5	QA :INFO  - QAInfo:Maker       StEventQAMaker::EventQA              Ast = 82.92( 0.3%) Cpu = 82.63( 0.3%) 
     6	QA :INFO  - QAInfo:Maker         StMuDstMaker::MuDst                Ast =893.45( 3.6%) Cpu =889.51( 3.6%) 
     7	QA :INFO  - QAInfo:Maker  StStrangeMuDstMaker::strangeMuDst         Ast =  1.97( 0.0%) Cpu =  1.79( 0.0%) 
     8	QA :INFO  - QAInfo:Maker          StTagsMaker::tags                 Ast =  0.78( 0.0%) Cpu =  0.81( 0.0%) 
     9	QA :INFO  - QAInfo:Maker    StHighPtTagsMaker::HighPtTags           Ast =  0.53( 0.0%) Cpu =  0.40( 0.0%) 
    10	QA :INFO  - QAInfo:Maker      StHeavyTagMaker::HeavyTag             Ast =  0.40( 0.0%) Cpu =  0.33( 0.0%) 
    11	QA :INFO  - QAInfo:Maker StEventCompendiumMaker::StEventCompendiumMaker Ast =  1.01( 0.0%) Cpu =  1.07( 0.0%) 
    12	QA :INFO  - QAInfo:Maker StSpaceChargeEbyEMaker::scscalercal          Ast = 20.15( 0.1%) Cpu = 20.05( 0.1%) 
    13	QA :INFO  - QAInfo:Maker     StBTofCalibMaker::btofCalib            Ast =  0.47( 0.0%) Cpu =  0.41( 0.0%) 
    14	QA :INFO  - QAInfo:Maker     StBTofMatchMaker::btofMatch            Ast =109.89( 0.4%) Cpu =109.63( 0.4%) 
    15	QA :INFO  - QAInfo:Maker        StdEdxY2Maker::dEdxY2               Ast =5751.06(23.0%) Cpu =5739.94(23.1%) 
    16	QA :INFO  - QAInfo:Maker             StiMaker::Sti                  Ast =13341.69(53.4%) Cpu =13315.69(53.6%) 
    17	QA :INFO  - QAInfo:Maker StGenericVertexMaker::GenericVertex        Ast =  0.50( 0.0%) Cpu =  0.41( 0.0%) 
    18	QA :INFO  - QAInfo:Maker              StMaker::BTofChain            Ast = 19.22( 0.1%) Cpu =  9.28( 0.0%) 
    19	QA :INFO  - QAInfo:Maker           StEpcMaker::epc                  Ast =  0.54( 0.0%) Cpu =  0.57( 0.0%) 
    20	QA :INFO  - QAInfo:Maker        StPreEclMaker::preecl               Ast =  1.17( 0.0%) Cpu =  1.30( 0.0%) 
    21	QA :INFO  - QAInfo:Maker        StEmcRawMaker::emcRaw               Ast = 15.59( 0.1%) Cpu = 13.61( 0.1%) 
    22	QA :INFO  - QAInfo:Maker     StZdcVertexMaker::StZdcVertexMaker     Ast =  0.48( 0.0%) Cpu =  0.60( 0.0%) 
    23	QA :INFO  - QAInfo:Maker              StMaker::tpcChain             Ast =3987.29(16.0%) Cpu =3979.14(16.0%) 
    24	QA :INFO  - QAInfo:Maker         StEventMaker::0Event               Ast = 21.83( 0.1%) Cpu = 21.17( 0.1%) 
    25	QA :INFO  - QAInfo:Maker   StTriggerDataMaker::trgd                 Ast =  1.12( 0.0%) Cpu =  1.12( 0.0%) 
    26	QA :INFO  - QAInfo:Maker       St_geant_Maker::geant                Ast =  1.04( 0.0%) Cpu =  0.98( 0.0%) 
    27	QA :INFO  - QAInfo:Maker        StEEmcDbMaker::eeDb                 Ast =  0.79( 0.0%) Cpu =  0.81( 0.0%) 
    28	QA :INFO  - QAInfo:Maker         StTpcDbMaker::tpcDB                Ast =  0.92( 0.0%) Cpu =  0.74( 0.0%) 
    29	QA :INFO  - QAInfo:Maker    StDetectorDbMaker::detDb                Ast =  0.82( 0.0%) Cpu =  1.05( 0.0%) 
    30	QA :INFO  - QAInfo:Maker          StMagFMaker::MagField             Ast =  0.78( 0.0%) Cpu =  0.73( 0.0%) 
    31	QA :INFO  - QAInfo:Maker          St_db_Maker::db                   Ast =  3.75( 0.0%) Cpu =  3.04( 0.0%) 
    32	QA :INFO  - QAInfo:Maker            StIOMaker::inputStream          Ast =  2.36( 0.0%) Cpu =  1.48( 0.0%) 
    33	QA :INFO  - QAInfo:Chain              StMaker::BTofChain            Ast =  5.52        Cpu =  5.49 
    34	QA :INFO  - QAInfo:Maker      StVpdCalibMaker::vpdCalib             Ast =  0.51( 9.3%) Cpu =  0.54( 9.8%) 
    35	QA :INFO  - QAInfo:Maker       StBTofHitMaker::tof_raw              Ast =  5.01(90.7%) Cpu =  4.95(90.2%) 
    36	QA :INFO  - QAInfo:Chain              StMaker::tpcChain             Ast =3986.03        Cpu =3978.22 
    37	QA :INFO  - QAInfo:Maker        StTpcHitMover::tpc_hit_mover        Ast =3094.64(77.6%) Cpu =3088.68(77.6%) 
    38	QA :INFO  - QAInfo:Maker        StTpcHitMaker::tpc_hits             Ast =891.38(22.4%) Cpu =889.54(22.4%) 
    39	QA :INFO  - QAInfo:Chain            StIOMaker::inputStream          Ast =  0.00        Cpu =  1.00 
    40	QA :INFO  - QAInfo:Maker           StDAQMaker::inputStream_DAQ      Ast =  0.00(100.0%) Cpu =  0.00( 0.0%) 

Modified SL16b:
     1	QA :INFO  - QAInfo:Chain            StBFChain::bfc                  Ast =26269.17        Cpu =26168.58 
     2	QA :INFO  - QAInfo:Maker     StRtsReaderMaker::rts_reader           Ast =  0.03( 0.0%) Cpu =  0.03( 0.0%) 
     3	QA :INFO  - QAInfo:Maker      StAnalysisMaker::analysis             Ast =  6.67( 0.0%) Cpu =  6.60( 0.0%) 
     4	QA :INFO  - QAInfo:Maker          StTreeMaker::outputStream         Ast =705.26( 2.7%) Cpu =667.85( 2.6%) 
     5	QA :INFO  - QAInfo:Maker       StEventQAMaker::EventQA              Ast = 78.44( 0.3%) Cpu = 78.25( 0.3%) 
     6	QA :INFO  - QAInfo:Maker         StMuDstMaker::MuDst                Ast =888.64( 3.4%) Cpu =885.98( 3.4%) 
     7	QA :INFO  - QAInfo:Maker  StStrangeMuDstMaker::strangeMuDst         Ast =  1.87( 0.0%) Cpu =  2.13( 0.0%) 
     8	QA :INFO  - QAInfo:Maker          StTagsMaker::tags                 Ast =  0.75( 0.0%) Cpu =  0.65( 0.0%) 
     9	QA :INFO  - QAInfo:Maker    StHighPtTagsMaker::HighPtTags           Ast =  0.50( 0.0%) Cpu =  0.46( 0.0%) 
    10	QA :INFO  - QAInfo:Maker      StHeavyTagMaker::HeavyTag             Ast =  0.37( 0.0%) Cpu =  0.34( 0.0%) 
    11	QA :INFO  - QAInfo:Maker StEventCompendiumMaker::StEventCompendiumMaker Ast =  0.97( 0.0%) Cpu =  0.94( 0.0%) 
    12	QA :INFO  - QAInfo:Maker StSpaceChargeEbyEMaker::scscalercal          Ast = 20.12( 0.1%) Cpu = 20.02( 0.1%) 
    13	QA :INFO  - QAInfo:Maker     StBTofCalibMaker::btofCalib            Ast =  0.43( 0.0%) Cpu =  0.55( 0.0%) 
    14	QA :INFO  - QAInfo:Maker     StBTofMatchMaker::btofMatch            Ast =108.56( 0.4%) Cpu =108.18( 0.4%) 
    15	QA :INFO  - QAInfo:Maker        StdEdxY2Maker::dEdxY2               Ast =5825.40(22.2%) Cpu =5814.03(22.2%) 
    16	QA :INFO  - QAInfo:Maker             StiMaker::Sti                  Ast =14695.96(55.9%) Cpu =14667.24(56.0%) 
    17	QA :INFO  - QAInfo:Maker StGenericVertexMaker::GenericVertex        Ast =  0.45( 0.0%) Cpu =  0.47( 0.0%) 
    18	QA :INFO  - QAInfo:Maker              StMaker::BTofChain            Ast = 16.63( 0.1%) Cpu =  9.97( 0.0%) 
    19	QA :INFO  - QAInfo:Maker           StEpcMaker::epc                  Ast =  0.50( 0.0%) Cpu =  0.38( 0.0%) 
    20	QA :INFO  - QAInfo:Maker        StPreEclMaker::preecl               Ast =  1.12( 0.0%) Cpu =  1.01( 0.0%) 
    21	QA :INFO  - QAInfo:Maker        StEmcRawMaker::emcRaw               Ast = 15.60( 0.1%) Cpu = 14.20( 0.1%) 
    22	QA :INFO  - QAInfo:Maker     StZdcVertexMaker::StZdcVertexMaker     Ast =  0.44( 0.0%) Cpu =  0.36( 0.0%) 
    23	QA :INFO  - QAInfo:Maker              StMaker::tpcChain             Ast =3865.29(14.7%) Cpu =3857.50(14.7%) 
    24	QA :INFO  - QAInfo:Maker         StEventMaker::0Event               Ast = 22.69( 0.1%) Cpu = 22.31( 0.1%) 
    25	QA :INFO  - QAInfo:Maker   StTriggerDataMaker::trgd                 Ast =  1.02( 0.0%) Cpu =  1.05( 0.0%) 
    26	QA :INFO  - QAInfo:Maker       St_geant_Maker::geant                Ast =  2.47( 0.0%) Cpu =  0.99( 0.0%) 
    27	QA :INFO  - QAInfo:Maker        StEEmcDbMaker::eeDb                 Ast =  0.70( 0.0%) Cpu =  0.61( 0.0%) 
    28	QA :INFO  - QAInfo:Maker         StTpcDbMaker::tpcDB                Ast =  0.84( 0.0%) Cpu =  0.96( 0.0%) 
    29	QA :INFO  - QAInfo:Maker    StDetectorDbMaker::detDb                Ast =  0.74( 0.0%) Cpu =  0.68( 0.0%) 
    30	QA :INFO  - QAInfo:Maker          StMagFMaker::MagField             Ast =  0.70( 0.0%) Cpu =  0.65( 0.0%) 
    31	QA :INFO  - QAInfo:Maker          St_db_Maker::db                   Ast =  4.47( 0.0%) Cpu =  2.64( 0.0%) 
    32	QA :INFO  - QAInfo:Maker            StIOMaker::inputStream          Ast =  1.52( 0.0%) Cpu =  1.55( 0.0%) 
    33	QA :INFO  - QAInfo:Chain              StMaker::BTofChain            Ast =  5.39        Cpu =  5.51 
    34	QA :INFO  - QAInfo:Maker      StVpdCalibMaker::vpdCalib             Ast =  0.47( 8.8%) Cpu =  0.44( 8.0%) 
    35	QA :INFO  - QAInfo:Maker       StBTofHitMaker::tof_raw              Ast =  4.91(91.2%) Cpu =  5.07(92.0%) 
    36	QA :INFO  - QAInfo:Chain              StMaker::tpcChain             Ast =3864.21        Cpu =3856.60 
    37	QA :INFO  - QAInfo:Maker        StTpcHitMover::tpc_hit_mover        Ast =2940.59(76.1%) Cpu =2934.90(76.1%) 
    38	QA :INFO  - QAInfo:Maker        StTpcHitMaker::tpc_hits             Ast =923.62(23.9%) Cpu =921.70(23.9%) 
    39	QA :INFO  - QAInfo:Chain            StIOMaker::inputStream          Ast =  0.00        Cpu =  1.00 
    40	QA :INFO  - QAInfo:Maker           StDAQMaker::inputStream_DAQ      Ast =  0.00(100.0%) Cpu =  0.00( 0.0%)