ROOT logo
ROOT » PROOF » PROOFPLAYER » TPacketizer

class TPacketizer: public TVirtualPacketizer


TPacketizer

 This class generates packets to be processed on PROOF worker servers.
A packet is an event range (begin entry and number of entries) or
object range (first object and number of objects) in a TTree
(entries) or a directory (objects) in a file.
Packets are generated taking into account the performance of the
remote machine, the time it took to process a previous packet on
the remote machine, the locality of the database files, etc.


Function Members (Methods)

public:
TPacketizer(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input, TProofProgressStatus* st)
virtual~TPacketizer()
voidTObject::AbstractMethod(const char* method) const
virtual Int_tTVirtualPacketizer::AddProcessed(TSlave*, TProofProgressStatus*, Double_t, TList**)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tGetActiveWorkers()
Long64_tTVirtualPacketizer::GetBytesRead() const
TList*TVirtualPacketizer::GetConfigParams(Bool_t steal = kFALSE)
Double_tTVirtualPacketizer::GetCumProcTime() const
virtual Float_tGetCurrentRate(Bool_t& all)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Long64_tGetEntriesProcessed(TSlave* sl) const
virtual Int_tTVirtualPacketizer::GetEstEntriesProcessed(Float_t, Long64_t& ent, Long64_t& bytes, Long64_t& calls)
TList*TVirtualPacketizer::GetFailedPackets()
virtual const char*TObject::GetIconName() const
Float_tTVirtualPacketizer::GetInitTime() const
virtual const char*TObject::GetName() const
virtual TDSetElement*GetNextPacket(TSlave* sl, TMessage* r)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tTVirtualPacketizer::GetProcTime() const
TNtuple*TVirtualPacketizer::GetProgressPerf(Bool_t steal = kFALSE)
Long64_tTVirtualPacketizer::GetReadCalls() const
TMap*TVirtualPacketizer::GetSlaveStats() const
TProofProgressStatus*TVirtualPacketizer::GetStatus()
virtual const char*TObject::GetTitle() const
Long64_tTVirtualPacketizer::GetTotalEntries() const
virtual UInt_tTObject::GetUniqueID() const
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTVirtualPacketizer::IsValid() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidTVirtualPacketizer::MarkBad(TSlave*, TProofProgressStatus*, TList**)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTVirtualPacketizer::SetFailedPackets(TList* list)
virtual voidTVirtualPacketizer::SetInitTime()
static voidTObject::SetObjectStat(Bool_t stat)
voidTVirtualPacketizer::SetProgressStatus(TProofProgressStatus* st)
voidTVirtualPacketizer::SetTotalEntries(Long64_t ent)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidTVirtualPacketizer::StopProcess(Bool_t abort)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TDSetElement*TVirtualPacketizer::CreateNewPacket(TDSetElement* base, Long64_t first, Long64_t num)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Long64_tTVirtualPacketizer::GetEntries(Bool_t tree, TDSetElement* e)
virtual Bool_tTVirtualPacketizer::HandleTimer(TTimer* timer)
voidTObject::MakeZombie()
private:
TPacketizer()
TPacketizer(const TPacketizer&)
TPacketizer::TFileStat*GetNextActive()
TPacketizer::TFileStat*GetNextUnAlloc(TPacketizer::TFileNode* node = 0)
TPacketizer::TFileNode*NextActiveNode()
TPacketizer::TFileNode*NextUnAllocNode()
voidoperator=(const TPacketizer&)
voidRemoveActive(TPacketizer::TFileStat* file)
voidRemoveActiveNode(TPacketizer::TFileNode*)
voidRemoveUnAllocNode(TPacketizer::TFileNode*)
voidReset()
voidValidateFiles(TDSet* dset, TList* slaves, Long64_t maxent = -1, Bool_t byfile = kFALSE)

Data Members

public:
enum TVirtualPacketizer::EUseEstOpt { kEstOff
kEstCurrent
kEstAverage
};
enum TVirtualPacketizer::EStatusBits { kIsInitializing
kIsDone
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tTVirtualPacketizer::fAWLastFillWhether to fill the last measurement
Int_tTVirtualPacketizer::fActWrksLastActive workers at fProcTimeLast
Long_tTVirtualPacketizer::fCircNCircularity
TNtupleD*TVirtualPacketizer::fCircProgKeeps circular info for "instantenous"
TList*TVirtualPacketizer::fConfigParamsList of configuration parameters
TStringTVirtualPacketizer::fDataSetName of the dataset being processed (for dataset-driven runs)
Float_tTVirtualPacketizer::fEffSessLastNumber of effective sessions at fProcTimeLast
Float_tTVirtualPacketizer::fEvtRateLastEvt rate at fProcTimeLast
TList*TVirtualPacketizer::fFailedPacketsa list of packets that failed while processing
Float_tTVirtualPacketizer::fInitTimetime before processing
Float_tTVirtualPacketizer::fMBsReadLastMBs read at fProcTimeLast
Double_tTVirtualPacketizer::fMaxPacketTimemaximum packet time
Double_tTVirtualPacketizer::fMinPacketTimeminimum packet time
Float_tTVirtualPacketizer::fProcTimetime since start of processing
Float_tTVirtualPacketizer::fProcTimeLastTime of the last measurement
TTimer*TVirtualPacketizer::fProgressprogress updates timer
TNtuple*TVirtualPacketizer::fProgressPerf{Active workers, evt rate, MBs read} as a function of processing time
TProofProgressStatus*TVirtualPacketizer::fProgressStatuspointer to status in the player.
Float_tTVirtualPacketizer::fReportPeriodTime between reports if nothing changes (estimated proc time / 100)
TMap*TVirtualPacketizer::fSlaveStatsslave status, keyed by correspondig TSlave
TTimeTVirtualPacketizer::fStartTimetime offset
Bool_tTVirtualPacketizer::fStopTermination of Process() requested?
Float_tTVirtualPacketizer::fTimeUpdttime between updates
Long64_tTVirtualPacketizer::fTotalEntriestotal number of entries to be distributed;
TVirtualPacketizer::EUseEstOptTVirtualPacketizer::fUseEstOptControl usage of estimated values for the progress info
Bool_tTVirtualPacketizer::fValidConstructed properly?
private:
TList*fActivenodes with unfinished files
TList*fFileNodesnodes with files
Int_tfMaxPerfIdxmaximum of our slaves' performance index
Long_tfMaxSlaveCntmaximum number of workers per filenode (Long_t to avoid
Int_tfPacketAsAFractionused to calculate the packet size
Long64_tfPacketSizeglobal base packet size
TList*fPacketsall processed packets
TMap*fSlaveStatsslave status, keyed by correspondig TSlave
TList*fUnAllocatednodes with unallocated files

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TPacketizer(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input, TProofProgressStatus* st)
 Constructor
~TPacketizer()
 Destructor.
void RemoveUnAllocNode(TPacketizer::TFileNode* )
 Remove unallocated node.
void RemoveActive(TPacketizer::TFileStat* file)
 Remove file from the list of actives.
void RemoveActiveNode(TPacketizer::TFileNode* )
 Remove node from the list of actives.
void Reset()
 Reset the internal datastructure for packet distribution.
void ValidateFiles(TDSet* dset, TList* slaves, Long64_t maxent = -1, Bool_t byfile = kFALSE)
 Check existence of file/dir/tree an get number of entries.
 Assumes the files have been setup.
Long64_t GetEntriesProcessed(TSlave* sl) const
 Get entries processed by the specified slave.
Float_t GetCurrentRate(Bool_t& all)
 Get Estimation of the current rate; just summing the current rates of
 the active workers
TDSetElement * GetNextPacket(TSlave* sl, TMessage* r)
 Get next packet
Int_t GetActiveWorkers()
 Return the number of workers still processing
TPacketizer()
 fPacketSize = fTotalEntries / (fPacketAsAFraction * nslaves)
 fPacketAsAFraction can be interpreted as follows:
 assuming all slaves have equal processing rate, packet size
 is (#events processed by 1 slave) / fPacketSizeAsAFraction.
 It can be set with PROOF_PacketAsAFraction in input list.
TPacketizer(const TPacketizer& )
void operator=(const TPacketizer& )
TFileNode * NextUnAllocNode()
TFileNode * NextActiveNode()
TFileStat * GetNextUnAlloc(TPacketizer::TFileNode* node = 0)
TFileStat * GetNextActive()