12 #ifndef ROOT_TPacketizerAdaptive
13 #define ROOT_TPacketizerAdaptive
37 #ifndef ROOT_TVirtualPacketizer
98 TFileStat *
GetNextUnAlloc(TFileNode *node = 0,
const char *nodeHostName = 0);
void MarkBad(TSlave *s, TProofProgressStatus *status, TList **missingFiles)
This method can be called at any time during processing as an effect of handling kPROOF_STOPPROCESS I...
void Reset()
Reset the internal data structure for packet distribution.
A simple TTree restricted to a list of double variables only.
Float_t fBaseLocalPreference
void SplitPerHost(TList *elements, TList **listOfMissingFiles)
Split into per host entries The files in the listOfMissingFiles can appear several times; in order to...
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.
Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, Long64_t &bytes, Long64_t &calls)
Get estimation for the number of processed entries and bytes read at time t, based on the numbers alr...
Long64_t fNEventsOnRemLoc
virtual ~TPacketizerAdaptive()
Destructor.
Int_t GetActiveWorkers()
Return the number of workers still processing.
TFileNode * NextNode()
Get next node which has unallocated files.
void operator=(const TPacketizerAdaptive &)
TFileStat * GetNextActive()
Get next active file.
#define ClassDef(name, id)
This is the base class for the ROOT Random number generators.
Int_t AddProcessed(TSlave *sl, TProofProgressStatus *st, Double_t latency, TList **listOfMissingFiles=0)
To be used by GetNextPacket but also in reaction to kPROOF_STOPPROCESS message (when the worker was a...
Double_t fMaxEntriesRatio
A sorted doubly linked list.
TDSetElement * GetNextPacket(TSlave *sl, TMessage *r)
Get next packet; A meaningfull difference to TPacketizer is the fact that this packetizer, for each worker, tries to predict whether the worker will finish processing it's local files before the end of the query.
Int_t CalculatePacketSize(TObject *slstat, Long64_t cachesz, Int_t learnent)
The result depends on the fStrategy.
TFileNode * NextActiveNode()
Get next active node.
Int_t ReassignPacket(TDSetElement *e, TList **listOfMissingFiles)
The file in the listOfMissingFiles can appear several times; in order to fix that, a TDSetElement::Merge method is needed.
void InitStats()
(re)initialise the statistics called at the begining or after a worker dies.
Float_t fFractionOfRemoteFiles
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
TFileStat * GetNextUnAlloc(TFileNode *node=0, const char *nodeHostName=0)
Get next unallocated file from 'node' or other nodes: First try 'node'.
TSortedList * fFilesToProcess
Float_t GetCurrentRate(Bool_t &all)
Get Estimation of the current rate; just summing the current rates of the active workers.
Mother of all ROOT objects.
void RemoveActiveNode(TFileNode *)
Remove node from the list of actives.
void RemoveUnAllocNode(TFileNode *)
Remove unallocated node.
A TTree object has a header with a name and a title.
void RemoveActive(TFileStat *file)
Remove file from the list of actives.