TProof
class description - source file - inheritance tree
private:
TProof TProof()
TProof TProof(TProof&)
Int_t Collect(TMonitor* mon)
void ConnectFiles()
void GetStatus()
void GetUserInfo()
Int_t Init(char* cluster, char* service, char* master, char* vers, Int_t loglevel, char* confdir)
void Limits(TSocket* s, TMessage& mess)
void MarkBad(TSlave* sl)
void MarkBad(TSocket* s)
void operator=(TProof&)
Int_t SendGroupView()
Int_t SendInitialState()
public:
TProof TProof(char* cluster, char* master = pcna49a.cern.ch, char* vers = kPROOF_Version, char* service = proofslave, Int_t loglevel = 1, char* confdir = /usr/proof)
virtual void ~TProof()
Bool_t Active()
Int_t Broadcast(TMessage& mess, TProof::ESlaves list = kActive)
Int_t Broadcast(char* mess, Int_t kind = kMESS_STRING, TProof::ESlaves list = kActive)
Int_t Broadcast(Int_t kind, TProof::ESlaves list = kActive)
TClass* Class()
virtual void Close(Option_t* option)
Int_t Collect(TProof::ESlaves list = kActive)
Int_t Collect(TSlave* sl)
Int_t ConnectFile(TFile* file)
Int_t DisConnectFile(TFile* file)
TSlave* FindSlave(TSocket* s)
Double_t GetBytesRead()
const char* GetClusterName()
const char* GetConfDir()
const char* GetConfFile()
Float_t GetCpuTime()
TList* GetListOfActiveSlaves()
TList* GetListOfBadSlaves()
TList* GetListOfSlaves()
Int_t GetLogLevel()
const char* GetMaster()
Int_t GetNumberOfActiveSlaves()
Int_t GetNumberOfBadSlaves()
Int_t GetNumberOfSlaves()
Int_t GetProtocol()
Float_t GetRealTime()
const char* GetService()
const char* GetUser()
const char* GetVersion()
void Interrupt(TProof::EUrgent type, TProof::ESlaves list = kActive)
virtual TClass* IsA()
Bool_t IsMaster()
Bool_t IsValid()
void Loop(TTree* tree)
Int_t Ping(TProof::ESlaves list = kActive)
virtual void Print(Option_t* option)
void RecvLogFile(TSocket* s)
Int_t SendCommand(char* cmd, TProof::ESlaves list = kActive)
Int_t SendCurrentState(TProof::ESlaves list = kActive)
Int_t SendObject(TObject* obj, TProof::ESlaves list = kActive)
void SetLogLevel(Int_t level)
Int_t SetParallel(Int_t nodes = 9999)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
private:
TString fCluster name of cluster, name will be used to find config file
TString fService service we are connected to, either "proofserv" or "proofslave"
TString fMaster name of master server (in case of "proofserv")
TString fVersion proof server major version
TString fConfDir directory containing cluster config information
TString fConfFile file containing config information
TString fUser user under which to run
TString fPasswd user password
Int_t fProtocol protocol level
Int_t fLogLevel server debug logging level
Bool_t fMasterServ true if we are a master server
TList* fSlaves list of all slave servers as in config file
TList* fActiveSlaves list of active slaves (subset of all slaves)
TList* fBadSlaves dead slaves (subset of all slaves)
TMonitor* fAllMonitor monitor activity on all valid slave sockets
TMonitor* fActiveMonitor monitor activity on all active slave sockets
Double_t fBytesRead bytes read by all slaves during the session
Float_t fRealTime realtime spent by all slaves during the session
Float_t fCpuTime CPU time spent by all slaves during the session
TTree* fTree Object being PROOFed
Int_t fLimits Used by Limits()
public:
static const TProof::ESlaves kAll
static const TProof::ESlaves kActive
static const TProof::EUrgent kHardInterrupt
static const TProof::EUrgent kSoftInterrupt
static const TProof::EUrgent kShutdownInterrupt
TProof
This class controls a Parallel ROOT Facility, PROOF, cluster.
It fires the slave servers, it keeps track of how many slaves are
running, it keeps track of the slaves running status, it broadcasts
messages to all slaves, it collects results, etc.
TProof(const char *cluster, const char *master, const char *version,
const char *service, Int_t loglevel, const char *confdir)
Create a PROOF environment. Starting PROOF involves reading a config
file describing the cluster and firing slave servers on all of the
available nodes.
~TProof()
Clean up PROOF environment.
Int_t Init(const char *cluster, const char *service, const char *master,
const char *vers, Int_t loglevel, const char *confdir)
Start the PROOF environment. Starting PROOF involves reading a config
file describing the cluster and firing slave servers on all of the
available nodes.
Int_t ConnectFile(const TFile *file)
Send message to all slaves to connect "file". This method is
called by the TFile ctor (no user method).
void ConnectFiles()
Tell all servers to open all files currently opened by the client.
void Close(Option_t *)
Close all open slave servers.
Int_t DisConnectFile(const TFile *file)
Send message to all slaves to disconnect "file". This method is
called by the TFile::Close() (no user method).
TSlave* FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
void GetUserInfo()
Get user info: user name and password. This info is needed to validate
the user on the PROOF cluster.
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e. slaves that are valid and in
the current computing group.
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves. This are slaves that we in the config
file, but refused to startup or that died during the PROOF session.
void GetStatus()
Get the status of the slaves.
void Interrupt(EUrgent type, ESlaves list)
Send interrupt OOB byte to master or slave servers.
Int_t Broadcast(const TMessage &mess, ESlaves list)
Broadcast a message to all slaves in the specified list (either
all slaves or only the active slaves). Returns the number of slaves
the message was successfully send to.
Int_t Broadcast(const char *str, Int_t kind, ESlaves list)
Broadcast a character string buffer to all slaves in the specified
list (either all slaves or only the active slaves). Use kind to
set the TMessage what field. Returns the number of slaves the message
was send to.
Int_t Collect(const TSlave *sl)
Collect responses from slave sl. Returns the number of slaves that
responded (=1).
Int_t Collect(ESlaves list)
Collect responses from the slave servers. Returns the number of slaves
that responded.
Int_t Collect(TMonitor *mon)
Collect responses from the slave servers. Returns the number of slaves
that responded.
void Limits(TSocket *s, TMessage &mess)
Calculate histogram limits after TTree::fEstimate entries have
been processed.
This function is called via Collect() in response to a kPROOF_LIMITS
message send from a PROOF slave in TTree::TakeEstimate().
void Loop(TTree *tree)
Handle message comming from the remote TTree method currently being
executed.
void MarkBad(TSlave *sl)
Add a bad slave server to the bad slave list and remove it from
the active list and from the two monitor objects.
void MarkBad(TSocket *s)
Add slave with socket s to the bad slave list and remove if from
the active list and from the two monitor objects.
Int_t Ping(ESlaves list)
Ping PROOF slaves. Returns the number of slaves that responded.
void Print(Option_t *option)
Print status of PROOF cluster.
void RecvLogFile(TSocket *s)
Receive the log file of the slave with socket s.
Int_t SendGroupView()
Send to all active slaves servers the current slave group size
and their unique id. Returns number of active slaves.
Int_t SendCommand(const char *cmd, ESlaves list)
Send command to be executed on the PROOF master and/or slaves.
Command can be any legal command line command.
Int_t SendCurrentState(ESlaves list)
Transfer the current state of the master to the active slave servers
just before starting the TTree loop. The current state includes: the
current working directory, TChain defintion, MaxVirtualSize, Selector,
etc.
Int_t SendInitialState()
Transfer the initial (i.e. current) state of the master to all
slave servers. The initial state includes: log level, currently open
files.
Int_t SendObject(const TObject *obj, ESlaves list)
Send object to master or slave servers. Returns number slaves message
was sent too, 0 in case of error.
void SetLogLevel(Int_t level)
Set server logging level.
Int_t SetParallel(Int_t nodes)
Set the number of nodes that should work in parallel. Since the fSlaves
list is sorted by slave performace the active list will contain first
the most performant nodes.
Bool_t Active()
Static function that returns kTRUE in case a PROOF connection exists
with more than 1 active slave. When only one active slave we run in
sequential mode.
Inline Functions
TProof TProof(TProof&)
void operator=(TProof&)
TProof TProof(char* cluster, char* master = pcna49a.cern.ch, char* vers = kPROOF_Version, char* service = proofslave, Int_t loglevel = 1, char* confdir = /usr/proof)
const char* GetClusterName()
const char* GetService()
const char* GetMaster()
const char* GetConfDir()
const char* GetConfFile()
const char* GetUser()
const char* GetVersion()
Int_t GetProtocol()
Int_t GetLogLevel()
TList* GetListOfActiveSlaves()
TList* GetListOfSlaves()
TList* GetListOfBadSlaves()
Double_t GetBytesRead()
Float_t GetRealTime()
Float_t GetCpuTime()
Bool_t IsMaster()
Bool_t IsValid()
Int_t Broadcast(Int_t kind, TProof::ESlaves list = kActive)
TClass* Class()
TClass* IsA()
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
Author: Fons Rademakers 13/02/97
Last update: 2.22/01 26/04/99 11.56.30 by Rene Brun
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.