ROOT v5.34
Currently looking at v5.34.03
Trouble in System tests - all of the tests are taking longer to execute. Particular in the ROOT Analysis step, not in actually running Gleam. Some of the runs time out in the xlong queue.
For tests v20r7p0-rc4, the following tests timed out: VerticalGamma100MeV, VerticalGamma1GeV, VerticalMuon1GeV, VerticalProton1GeV, http://glast-ground.slac.stanford.edu/SystemTests/?releaseVersionId=14021
Looking at the times for the other runs:
Name |
Total Time |
MB |
GR Time |
v20r6p4 Tot Time |
MB |
v20r6p4 GR Time |
---|---|---|---|---|---|---|
AllGamma |
36104 sec (601 min) |
1776 |
160 min |
10697 sec (178 min) |
1632 |
166 min |
VerticalGamma10GeV |
14284 sec (238 min) |
1461 |
158 min |
11549 sec (192 min) |
1366 |
187 min |
It would appear we are getting stuck in the Root Analysis portion of the tests.
All of the failed runs had completed their GR simulations, so the ROOT files were available. Repeated the ROOT Analysis step, stand alone, using the same version of ROOT, and all the system tests scripts and submitting to the same machine (fell) that was used originally. All the runs failed to complete in the time allotted to the xlong queue.
Comparing the results of running ROOT's stress test between v5.34.03 and v5.26
heather@yakut14 $ root -b \
************************************ ** W E L C O M E to R O O T ** **
Version 5.34/03 27 October 2012
** ** You are welcome to visit our Web site
** http://root.cern.ch ** *
*************************************
ROOT 5.34/03 (tags/v5-34-03@46856, Oct 27 2012, 23:19:27 on linux)
CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.Enclose multiple statements between { }.
root* 0 *.L stress.cxx
root* 1 *stress(1000)
*********************************************************
Starting R O O T - S T R E S S test suite with 1000 events
************************************************************
Test 1 : Functions, Random Numbers, Histogram Fits............. OK{}
Test 2 : Check size & compression factor of a Root file........ OK{}
Test 3 : Purge, Reuse of gaps in TFile......................... OK{}
Test 4 : Test of 2-d histograms, functions, 2-d fits........... OK{}
Test 5 : Test graphics & Postscript............................ OK{}
Test 6 : Test subdirectories in a Root file.................... OK{}
Test 7 : TNtuple, selections, TCut, TCutG, TEventList.......... OK{}
Test 8 : Trees split and compression modes..................... OK{}
Test 9 : Analyze Event.root file of stress 8................... OK{}
Test 10 : Create 10 files starting from Event.root.............. OK{}
Test 11 : Test chains of Trees using the 10 files............... OK{}
Test 12 : Compare histograms of test 9 and 11................... OK{}
Test 13 : Test merging files of a chain......................... OK{}
Test 14 : Check correct rebuilt of Event.root in test 13........ OK{}
Test 15 : Divert Tree branches to separate files................ OK{}
Test 16 : CINT test (3 nested loops) with LHCb trigger..........OK
*******************************************************
SYS: Linux yakut14 2.6.18-308.13.1.el5 #1 SMP Thu Jul 26 05:49:19*
SYS: "Red Hat Enterprise Linux Client release 5.8 (Tikanga)"
************************************************************
stress : Total I/O = 552.7 Mbytes, I = 404.5, O = 148.2stress : Compr I/O = 381.1 Mbytes, I = 276.7, O = 104.5
stress : Real Time = 82.77 seconds Cpu Time = 81.54 seconds
********************************************************
ROOTMARKS = 620.3 * Root5.34/03 20121027/2308
heather@yakut14 $ root -b
ROOT 5.26/00a (tags/v5-26-00a@32053, Jan 19 2010, 12:43:52 on linux)
CINT/ROOT C/C++ Interpreter version 5.17.00, Dec 21, 2008
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .L stress.cxx
root [1] stress(1000)
******************************************************************
* Starting R O O T - S T R E S S test suite with 1000 events
******************************************************************
Test 1 : Functions, Random Numbers, Histogram Fits............. OK
Test 2 : Check size & compression factor of a Root file........ OK
Test 3 : Purge, Reuse of gaps in TFile......................... OK
Test 4 : Test of 2-d histograms, functions, 2-d fits........... OK
Test 5 : Test graphics & Postscript............................ OK
Test 6 : Test subdirectories in a Root file.................... OK
Test 7 : TNtuple, selections, TCut, TCutG, TEventList.......... OK
Error in <TUnixSystem::DynamicPathName>: $(ROOTSYS)/test/libEvent[.so | .sl | .dl | .a | .dll] does not exist in /afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib:/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib:/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib/root:.:/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib::/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/cint/cint/stl
Error in <TUnixSystem::DynamicPathName>: test/libEvent[.so | .sl | .dl | .a | .dll] does not exist in /afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib:/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib:/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib/root:.:/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib::/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/cint/cint/stl
Test 8 : Trees split and compression modes..................... ===>stress8 will try to build the libEvent library
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/include -c Event.cxx
Generating dictionary EventDict.cxx...
rootcint -f EventDict.cxx -c Event.h EventLinkDef.h
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/include -c EventDict.cxx
g++ -shared -O2 -m32 Event.o EventDict.o -o libEvent.so
libEvent.so done
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/include -c MainEvent.cxx
g++ -O2 -m32 MainEvent.o Event.o EventDict.o -L/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/ROOT/v5.26.00a-gl5/gcc41/lib -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -o Event
Event done
OK
Test 9 : Analyze Event.root file of stress 8................... OK
Test 10 : Create 10 files starting from Event.root.............. OK
Test 11 : Test chains of Trees using the 10 files............... OK
Test 12 : Compare histograms of test 9 and 11................... OK
Test 13 : Test merging files of a chain......................... OK
Test 14 : Check correct rebuilt of Event.root in test 13........ OK
Test 15 : Divert Tree branches to separate files................ OK
Test 16 : CINT test (3 nested loops) with LHCb trigger.......... OK
******************************************************************
* SYS: Linux yakut14 2.6.18-308.13.1.el5 #1 SMP Thu Jul 26 05:49:19
* SYS: "Red Hat Enterprise Linux Client release 5.8 (Tikanga)"
******************************************************************
stress : Total I/O = 549.8 Mbytes, I = 406.3, O = 143.5
stress : Compr I/O = 388.0 Mbytes, I = 284.7, O = 103.2
stress : Real Time = 74.65 seconds Cpu Time = 66.10 seconds
******************************************************************
* ROOTMARKS = 765.2 * Root5.26/00a 20100119/1117
******************************************************************
There doesn't seem to be anything intrinsically slower about v5.34.03.
Trying a fresh rebuild of v5.34.03 on rhel5-32
No Difference
Running a "read-only" job without filling histograms
This runs quite smoothly and quickly - so likely the issue is not with reading/writing, but rather some other aspect of the scripts
Re-running tests in xxl queue
In preparation for the next GR release, it would be nice to have a complete set of system tests results, I think xxl will allow all the tests to complete. This required a small tweak to use "xxl" from "xlong" in $SYSTESTS/src/exec/runSystests_SCons.pl
Building systest scripts via ACLIC
The system tests scripts have been historically run via the interpreter. To enable more debugging and to perhaps speed and clean things up. Work has started to build the RootTreeAnalysis used in the system via ACLIC. A number of errors and oddities are being fixed in the hopes that this might speed things up again.
Required some tweaks to reconRootData includes...still having trouble getting the RootTreeAnalysis class recognized after the shared library is created.