Minutes of the ROOT team meeting 21 April 2006
==============================================
News
----
New team member: Welcome to Leandro Franco in PROOF team
Fellows & PJAS; List of candidates
Who wants to attend the CERN school of computing in Finland?
Anna, Leandro?
Next Wednesday, important lcgapp meeting about GUI & Graphics
Rehearsal Tuesday afternoon
Philippe is planning to come at CERN for 2 weeks in June.
Version 5.11/02 post mortem
---------------------------
Several bugs found immediatly after the announcement
-bug in TH1::Fit (Likelihood case) empty bins not taken into account
(now fixed)
-TBuffer: Inconsistency between ReadFastArrayString and
WriteFastArrayString in the nubmer of byte marked as used
in the buffer (fixed by Philippe).
-rmkdepend: failute on old macosx versions (fixed by Fons)
-At the AForum, LHCb mentionned a new bug in Smatrix with the
"*" operator (Lorenzo to investigate)
Request for libRODBC on Windows (thanks Bertrand for doing the job)
Version 5.10.0d (bug fix release)
---------------------------------
A bug fix release is required in the pro version 5.10 for
-big problem with TChain::Merge affecting hadd
-???? (Philippe)
-TCastorFile (Gerri send patch to Fons)
Working with 5.11/03
--------------------
-I found several problems. Some already fixed in CVS.
-Found a problem with Minuit2 and Fumili2.
Problem sent to Lorenzo for investigation.
-Found a problem on macosx (gcc4) kFALSE is wrong
Work packages plans for next dev release
----------------------------------------
The next development release (will be 5.11/04) is scheduled
for Wednesday 31 May.
-***Base*** (Fons)
- situation with Apache2 plug-in for TWebFile ?
- ReadAhead interface in TFile/TXNetFile
- Introduction of an AtomicOperation class for protection
of reference counters and other global counters like in TUUID.
- Making gFile/gDirectory thread safe
-TRandom3-->Trandom
-***Tree/I/O*** (Philippe)
- Remove memory leak in TTree / TBranchElement (Paul Russo)
and straighten SetAddress
- TRefProxy (Markus)
- Support for polymorphic C-style array of pointers (Geant4 request) (Paul
Russo)
-***Dict*** (Philippe)
Philippe, Axel, Stefan will come with a detailed plan
including the description of the proposed new data structures
and class organization at the next team meeting (5 May)
-***Graphics*** (Olivier)
1) Investigate the possibility to translate the GS (PostScript) fonts
file into TTF file to replace those in $ROOTSYS/fonts. These
translated files would map exactly the character sets used in
PostScript and therefore it would be possible to simplify and extend
TLatex. The TLatex extension is now mainly limited by the mismatch
between the TTF files in $ROOTSYS/fonts and the and the PostScript
fonts.
This investigation was trigger by Christian Holm Christensen who
pointed that the symbol.ttf file in $ROOTSYS/fonts was not under GPL.
The solution he suggested was to get the "fontforge"
(fontforge.sourceforge.org), and use it to translate the GS symbol
font file which is under GPL. This worked and gave me the idea to
try to do the same for the other fonts to get a better matching
between screen text and PS text. As an example we can take the
character "per-thousand" which is part of the PS characters but is
not in the TTF file in $ROOTSYS/fonts.
2) In TLine/TArrow, we need an option to force a line/arrow to be
vertical or horizontal. The is useful to define interval and
interactively move them more easily. see:
http://root.cern.ch/phpBB2/viewtopic.php?t=3321
3) In TH2::ShowProjectionX/Y add support for nbins like in TH3
4) Implement the case with variable size bins in TH3::FitSlicesZ
-From Timur:
I'm going to complete GL-in-pad and fix all problems we have now.
Start something with animation
-***GUI*** (Ilka)
* GUI builder developments - stable functionality, less decoration
* TLineEditor and re-design of TArrowEditor according to the new
required arrow functionality
* TF1/2 editors
* GUI improvements of MDI frames, combo box
Fit Panel ??
-***Math*** (Lorenzo)
see slides from Lorenzo
Lorenzo's slides cover far more than the plan of work for the next
release
-***PROOF*** (Fons)
This note outlines the most important tasks to be completed
before we can release PROOF to a wider audience in the LHC experiments.
The following people are involved in the core PROOF development and
responsible for the tasks outlined below:
- Gerri Ganis (100%)
- Jan Iwaszkiewicz (100%)
- Guenter Kickinger (100%) xxxxxx
- Bertrand Bellenot (20%)
- Fons Rademakers (50%)
- Leandro Franco (100% per 1/4/06 for 2 years as Marie Curie fellow)
- Andreas Peters (10%)
In addition Jan and Guenter are doctoral students who must start work
on their thesis topics.
The list below is in order of priority (in case the same person is
responsible for more than one item).
-1) Minimal Doc
- Introduction (Fons, almost done)
- Installation (Gerri, to be finalized)
- GUI (Bertrand, done)
0) Pending items to be done before attacking item 1
- Integration of the new xrootd to have:
- multi-port support (can have data serving on 1094 and PROOF on 1093)
- background mode (enables xinetd-like scripts, essential for RPM
installations)
- possibility to run as 'root'
- Support for random or round-robin selection of a subset of workers
among the set specified in the static config file; this allows the
cluster administrator to activate a very simple and basic load-sharing
among the nodes.
- Make the location about the storage entry point automatically available
in the PROOF session so that the client does not need to know
(to be used by Jan).
Status: most of these points needs some cleaning and adaptation to
latest CVS.
To be done by Gerri this week.
- First release of the upload facility.
To be done by Jan.
1) Robustness
With the introduction of the xrootd based client/server infrastructure
we can start work on making the system robust. With robust I mean the
PROOF client session should never hang in an unknown state and we
never should suffer from run away or deadlocked daemons. The xrootd
based front-end daemons allow for monitoring the state of the proofservs
and the unsolicited xrootd protocol allows for the warning of clients
in case there are problems with the proofservs. Using timeouts we can
take-out daemons that are way too slow or that don't respond.
By making selectors that generate random segvs or go into infinite loops,
etc we can simulate these catastrophic circumstances.
To be done by Gerri.
2) Packetizer updates
The current main packetizer does not use variable packet sizes. To avoid
startup and tail effects during a query we need to make the packet size
variable. At the beginning we should start with a packet size that
will return in a fairly short time so we can use it to estimate the
relative performance of the worker nodes and at the end of the query we
need to fall back to smaller packets to avoid that some slower nodes will
delay the final result too much (tail-effect). We don't want too small
packets during during the entire query though as that might reduce the
parallel efficiency of the system
To be done by Gerri and Fons
3) Resource scheduling
To operate PROOF in a multi-user environment we need to interface with
a scheduler that will ensure efficient and fair usage of the
available cluster resources. This is especially important now that
PROOF supports long-running queries. The scheduler interface should
tell PROOF the number of workers a user can use and change the set of
worker nodes depending on changing load and usage of the cluster.
If resource become available more workers can be assigned to a user
and vice versa if resources get heavier loaded. Initially we can
change the number of workers per query, i.e. change the number of
workers before the query starts. Later we can even change the number
of workers during a query, especially important during long running
queries.
We should have one implementation using our own scheduler based on the
xrootd/olbd infrastructure as started by Guenter and we can also interface
to third party schedulers like LSF, Condor and Maui following up on the
work started by Paul Nilsson.
Get from Paul (before he is gone) what he has about LSF. It may
be useful for the IT tests (LSF is installed on the ALICE machines
being devoted to PROOF).
To be done by Jan and Guenter.
4) TTree read-ahead and caching
To optimally use the disk and network resources during a query its is
very important to avoid data server disk trashing and to reduce disk and
network latencies. By employing proper read-ahead of the used tree
branches the data servers can order the disk reads. In addition we can
combine many small buffers tansfers into a few large transfers which
will reduce significantly the disk and network latencies.
To be done by Leandro Franco
5) Session Management and PROOF GUI
- Implement local session management interface in GUI.
- Follow new PROOF features in GUI, like file upload facility.
- Implement selection of user histograms for dynamic feedback.
To be done by Bertrand.
6) Self-healing aspects of PROOF
For a self-healing system the worker coming and going will be an
essential point. Additionally I would like to use the olbd for
keeping track of the whole PROOF cluster and it's sessions, so that
we can react in case of an error. That means that the olbd should
be capable to analyze the error and to take appropriate actions
depending on the type of error.
For my thesis subject I would also like to extend the olbd to an
intelligent systems which is able to learn itself about the typical
errors behaviour and to develop strategies to prevent these errors.
At the moment I'm working on new aspects of the olbd which are
PROOF typical but "wrong" for the xrootd case - especially when
there are plb nodes where no xproofds are connected - I'll
explain it in the meeting today.
To be done by Guenter.
7) Monitoring
Extensive cluster and PROOF detailed operation monitoring via MonaLisa.
To be done by Andreas.
8) Grid Startup
Implement PROOF multi-tier startup via Grid batch queue submitted
agents that will start workers that will call be to sub-masters and
to the master. Provide packetizer that is Storage Element (SE) aware.
Not covered. Possibly by Derek.
-***Geometry***
Tour de Table
-------------
Rene
-CVS and the docs
Fons will propose a scheme before middle of next week.
Stefan
Bertrand
xrootd port on windows
GUI Builder, etc
ODBC on Windows
Gerri
proceedings for CHEP
Axel:
Fixing a problem with TRef/TprocessiD
wingcc: a nightmare (bug in gcc triggered by cygwin)
make cintlls -> moved to cint/Module.mk
cintdlls have problems with gcc4
gcc4.1 is on lxbuild
There are minutes attached to this event.
Show them.