TPacketGenerator
class description - source file - inheritance tree
private:
TPacketGenerator TPacketGenerator()
TPacketGenerator TPacketGenerator(TPacketGenerator&)
void Init()
void operator=(TPacketGenerator&)
public:
TPacketGenerator TPacketGenerator(Stat_t firstEvent, Stat_t lastEvent, TTree* tree, TList* slaves)
TPacketGenerator TPacketGenerator(Stat_t firstEvent, Stat_t lastEvent, Int_t packetSize, TList* slaves)
virtual void ~TPacketGenerator()
TClass* Class()
Stat_t GetEventsProcessed()
Stat_t GetEventsProcessed(TSlave* sl)
Int_t GetInitialPacketSize()
Stat_t GetLastEvent()
Stat_t GetNextEvent()
Bool_t GetNextPacket(TSlave* sl, Int_t& nevent, Stat_t& first)
Int_t GetNoPackets()
TList* GetPackets()
virtual TClass* IsA()
virtual void Print(Option_t* option)
void Reset(Stat_t firstEvent, Stat_t lastEvent, TList* slaves)
void SetMinPacketSize(Int_t minps)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
private:
Stat_t fNextEvent next event to be processed
Stat_t fLastEvent last event to be processed
Stat_t fEventsProcessed number of events processed
Int_t fInitialPacketSize initial packet size
Int_t fMinPacketSize minimum packet size
Int_t fSmallestPacket smallest packet generated
TTime fMinTimeDiff time difference between last two packets for fastest slave
Int_t fMaxOrd highest ordinal slave number
TTree* fTree tree or chain being processed
TList* fSlaves list of slaves
Stat_t* fEventsPerSlave array containing number of events processed per slave
TObjArray* fLastPackets pointer to the last packet for each slave
TList* fPackets list of packets that have been processed
TPacketGenerator
This class generates packets to be processed on PROOF slave servers.
A packet is an event range (begin event and number of events).
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.
TPacketGenerator()
Private default ctor.
TPacketGenerator(Stat_t firstEvent, Stat_t lastEvent, TTree *tree, TList *slaves)
Initialize TPacketGenerator using a TTree and a list of slave processors.
TPacketGenerator(Stat_t firstEvent, Stat_t lastEvent, Int_t packetSize, TList *slaves)
Initialize TPacketGenerator using the total number of events, the
initial packet size and the list of slaves.
~TPacketGenerator()
TPacketGenerator dtor. Deletes the list of packets.
void Init()
Initialize the TPacketGenerator. Called by the ctors.
Stat_t GetEventsProcessed(TSlave *sl) const
Return number of events processed by slave sl.
Bool_t GetNextPacket(TSlave *sl, Int_t &nevent, Stat_t &first)
Get next packet for slave sl. Returns kTRUE and sets first and nevent.
In case no more packets return kFALSE (and set first and nevent == 0).
The packet size for a slave is a linear function of the time diff between
the processing of two packets relative to the fastest slave (i.e. the one
with the smallest time diff). The fastest slave always processes
packets of size fTree->GetPacketSize() (or of the size specified in
the TPacketGenerator ctor).
Int_t GetNoPackets() const
Number of packets generated.
void Print(Option_t *option)
Prints info about the packet generator. If option is "all", print also
info about all packets.
void Reset(Stat_t firstEvent, Stat_t lastEvent, TList *slaves)
Reset the packet generator for a new cycle.
void SetMinPacketSize(Int_t minps)
Set minimum packet size. The default is 20% of the initial packet size
(in case of TTree's the initial packet size is set in via
TTree::SetPacketSize() and its default is 100).
Inline Functions
void operator=(TPacketGenerator&)
TPacketGenerator TPacketGenerator(Stat_t firstEvent, Stat_t lastEvent, Int_t packetSize, TList* slaves)
Stat_t GetEventsProcessed(TSlave* sl)
Int_t GetInitialPacketSize()
Stat_t GetNextEvent()
TList* GetPackets()
Stat_t GetLastEvent()
TClass* Class()
TClass* IsA()
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
Author: Fons Rademakers 28/03/97
Last update: 1.03/09 08/12/97 13.47.31 by Fons Rademakers
Copyright (c) 1995-1998, 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.