Re: [ROOT] environment variables in a PROOF session

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Thu Nov 14 2002 - 18:24:21 MET


In principle all slaves should have the same system view during
operation since you don't know which events will be processed on which
slave and on which slave nodes you will be running. So you should not
make such assumptions. Having said that, in a macro you can do:

{
   if (gROOT->IsProofServ()) {
      if (gProofServ->IsMaster())
         printf("Macro executed on master server\n");
      else
         printf("Macro executed on %d of %d (node: %s)\n",
                gProofServ->GetGroupId(),
                gProofServ->GetGroupSize(),
                gSystem->HostName());
   } else
      printf("Macro executed in local ROOT session\n");
}

so you could find all this out.

Cheers, Fons.



On Thu, 2002-11-14 at 16:11, Piergiorgio Cerello wrote:
> On 14 Nov 2002, Fons Rademakers wrote:
> 
> > You can execute and script from the remote proof session by doing:
> > 
> > gProof->Exec(".x setup.C")
> 
> this is not what I need... in fact, I would need setup.C to be
> different on the different slaves, according to their configuration...
> cheers,
> pg
> 
> > 
> > where setup.C is local on your machine and upon execution of the Exec()
> > code send to the proof master and all slaves.
> > 
> > 
> > Cheers, Fons.
> > 
> > 
> > On Thu, 2002-11-14 at 14:19, Piergiorgio Cerello wrote:
> > > thanks Fons,
> > > just one additional question: what about environemnt variables whose
> > > values are unknown to the user starting the PROOF master?
> > > For example, variables related to the parametrization of the node
> > > configuration (i.e., input location, shared libraries location, etc.).
> > > should they be read from a standard configuration file or is there a way
> > > to force the execution of a login script for the remote proof session?
> > > ciao,
> > > piergiorgio
> > > 
> > > 
> > > 
> > >                                               Piergiorgio Cerello
> > >                                               I.N.F.N. Sez. di Torino
> > >                                               Via P. Giuria 1
> > >                                               10125 - TORINO, Italy
> > >                                               Tel. +390116707416
> > >                                               Fax. +390116707417
> > > 
> > > On 13 Nov 2002, Fons Rademakers wrote:
> > > 
> > > > 
> > > > On Wed, 2002-11-13 at 15:22, Piergiorgio Cerello wrote:
> > > > > Hi evereybody,
> > > > > I have a couple of questions about PROOF remote session. In particular:
> > > > > 
> > > > > - how to set environment variables in remote sessions
> > > > 
> > > > via gProof->Exec():
> > > > 
> > > > root [0] gROOT->Proof()
> > > > **** Welcome to the PROOF server @ pcsalo.cern.ch ****
> > > > **** PROOF slave server @ pcsalo.cern.ch started ****
> > > > **** PROOF slave server @ pcsalo.cern.ch started ****
> > > > PROOF set to parallel mode (2 slaves)
> > > > root [1] gProof->Exec("gSystem->Setenv(\"AAP\",\"pipo\")")
> > > > (Int_t)0
> > > > root [2] gProof->Exec("gSystem->Getenv(\"AAP\")")
> > > > (const char* 0x8533b7c)"pipo"
> > > > (const char* 0x8533b7c)"pipo"
> > > > (Int_t)0
> > > > 
> > > > > - how to start a PROOF remote session with an extended executable (for 
> > > > >   example, aliroot).
> > > > >   I could start root and load the shared libraries dynamically, but I
> > > > >   should extend the path. Otherwise, how can I associate to the
> > > > >   remote proof session a command other than "root"? 
> > > > 
> > > > in the remote sessions we will have something as root.exe running. We
> > > > cannot run arbitrary executables. However, once the package manager is
> > > > finished it will be easy to package all aliroot shared libs in a proof
> > > > package and distribute that over all nodes:
> > > > 
> > > > gProof->UploadPackage("aliroot.par")
> > > > 
> > > > and load all shared libs using:
> > > > 
> > > > gProof->EnablePackage("aliroot")
> > > > 
> > > > 
> > > > Cheers, Fons.
> > > > 
> > > > 
> > > > -- 
> > > > Org:    CERN, European Laboratory for Particle Physics.
> > > > Mail:   1211 Geneve 23, Switzerland
> > > > E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
> > > > WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480
> > > > 
> > -- 
> > Org:    CERN, European Laboratory for Particle Physics.
> > Mail:   1211 Geneve 23, Switzerland
> > E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
> > WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480
> > 
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480



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