Re: On-line applications, multithread or "qusi" multithread processing.Questions and call for discussion.

From: Martin Purschke (purschke@bnl.gov)
Date: Mon Mar 08 1999 - 15:45:56 MET


Hi Anton,

the PHENIX experiment at RHIC at the Brookhaven National Lab has
early-on decided to use ROOT for online monitoring, and I believe we
were the ones requesting multi-threading capabilities in ROOT. We sent
one of our people (Victor Perevoztchikov) to CERN to work with Rene on
this, and I believe that the eisting thread support is a result of this.
However, we found that the multi-thread support was not yet as
stable/useable as we would have liked, and Mark Pollack found a
socket-based workaround where you would send commands from outside into
a socket, and once in while root would look whether such a command is
present. Since both experts left the experiment, the multi-threading
project got a bit on the back-burner. 

We will start taking data in fall, with some shakedown runs in June, and
we will have to revisit the multi-threading issue because it will be
needed soon. I was hoping to get some news at the ROOT workshop the week
after the next. But yes, we are in the same boat on this, and we are
very interested in what others do in this respect and if they succeed.  

Cheers,
	Martin

PS. Lund University is a member of the PHENIX collaboration, so you have
PHENIX people close by.


Anton Fokin wrote:
> 
> Hi rooters,
> 
> We have decided to use root for a (general) on-line monitoring/sorting/daq
> system at TSL (Uppsala, Sweden) and particularly for the CHICSi project.
> Well, it's all about multithread support in root. As soon as one starts
> thinking about an on-line monitor program, one concludes that at least two
> threads which share common resources (event/histogram file/buffer, etc) are
> needed. I.e. one thread which listens on say UDP port and writes incoming
> events into a buffer (this one should have the highest priority to catch
> all events), and the second thread which processes the event buffer and
> makes histogramming/visualization, etc. As we know from previous discussion
> in roottalk this can be organized in two ways:
> 
> 1. "real" Multithread (Java-like)
> 2. "quasi" Multithread, i.e. via simulating threads with use of TTimer.
> 
> Well, thirst at all, I could not find any info on multithread support in
> root, although Rene claims that TThread is implemented and there is an
> example that fills two histograms using threads. So the question #1 is:
> where one can find such info for beginners. Question #2 : although Valery
> remarked that rather any on-line problem can be solved with TTimer object,
> I do not think it is a good idea since we live in the "real" thread world
> where Java gives an example of making things easy. So the question #2 is:
> what strategy should one choose for writing on-line applications. The
> question #3 is not really a question but rather a call for discussion. Rene
> asked people who implement root for on-line processing to send info on how
> it is done and to make the info publicly available. I think it is time to
> rise this point up aging and make a kind of forum for on-line rooters.
> 
> Regards,
> 
> Dr. Anton Fokin
> 
> Division of Cosmic and Subatomic Physics
> Lund University
> Sweden

-- 
Martin L. Purschke               ;   purschke@bnl.gov
                                 ;   http://www.phenix.bnl.gov/~purschke
                                 ;
Brookhaven National Laboratory   ;   phone: +1-516-344-5244
Physics Department Bldg 510 C    ;   fax:   +1-516-344-3253
Upton, NY 11973-5000             ;
-----------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET