Re: AW: [ROOT] ROOT PRO version 3.03/08 is now released

From: Marc Hemberger (hemberge@embl-heidelberg.de)
Date: Fri Aug 30 2002 - 09:18:43 MEST


Dear Hans,

regarding to your wish, in my opinion, we should keep it as the ROOT 
teamers did it. The struggle in the last years was always to make ROOT 
thread-safe. Now we are approaching this goal more and more. I would not 
recommend any additional flag to make ROOT "really" thread-safe.

With your proposal we get the "normal" ROOT, the "thread-safe" ROOT and 
the "really thread-safe" ROOT. Or am I misinterpreting your proposal?

I know, that this leads to some additional work on the application side, 
but as it was foreseeable that ROOT has to do something in this respect, 
and as it was discussed already some months ago with you, Joern, Mathieu 
and Fons, how the ROOT team will proceed, it was no real surprise.

It would be really a good idea to have test cases to answer your 
question. But as you told me privately, how can the thread-safety else 
be approved except by an analytical approach.

Greetings,

Marc

Essel Dr.Hans-Georg wrote:

>Dear ROOT teamers,
>the following is said in the release notes of 3.03/08 about thread safety:
>......
>Patch from Mathieu de Naurois adding Thread-safety in many ROOT classes.
>A new TVirtualMutex global is defined in TVirtualMutex.h (gCINTmutex).
>The gCINTMutes is used in TMethodCall to protect concurrent access to CINT.
>The R__LOCKGUARD macro is introduced in many classes to check for a mutex.
>The performance penalty introduced by the MUTEX logic
>  -is ZERO in the application has no threads
>  -about 10% in case of threads
>......
>Just one strong wish and one question:
>The wish:
>There are already multi-threaded ROOT based programs running. Obviously they
>managed already the necessary locking on application level. These are now
>punished by the way
>the LOCKGUARD is implemented, because it depends on _REENTRANT, which in
>turn is set when
>you build ROOT with threads.
>Why do the programs mentioned above not throw away their locking, now we
>have LOCKGUARD?
>Well, first it may be a question of developer time, second, see the question
>below.
>
>We propose unstead to separate the activation of the LOCKGUARD by using an
>extra keyword.
>
>The question:
>What does it mean: "Thread-safety in many ROOT classes"?
>So far TStorage, TCollection, TCint, TClass, TMethodCall and TThread itself.
>Is with these the ROOT class library now thread-save or not? 
>E.g. whats about modifications of the global lists and directories?
>
>Thanks,
>
>Hans
>

-- 
Dr. Marc Hemberger
                      /\_/\
                     ( o.o )
                      > ^ <
             |\      _,,,---,,         EMBL
      ZZZzz  /,`.-'`'    -.  ;-;;,_    C&N Group
            |,4-  ) )-,_. ,\ (  `'-'   Meyerhofstr. 1
           '---''(_/--'  `-'\_)        69117 Heidelberg
                                       Germany        privat: 
    Marc.Hemberger@embl-heidelberg.de                 MHemberger@csi.com
 
** Disclaimer: My views/comments/beliefs, as strange as they are, are my own.**



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET