Contents:
- Summary
- Description
1. Summary
Name | Type | Output | Description | Availability |
---|---|---|---|---|
Packetizer | ||||
PROOF_PacketizerStrategy | Int_t | Packetizer strategy: 0, 1 | ||
PROOF_Packetizer | const char * | Name of the packetizer to use | ||
PROOF_ForceLocal | Int_t | Force local processing only | ||
PROOF_MaxSlavesPerNode | Int_t | Limit workers accessing a server | ||
PROOF_PacketAsAFraction | Int_t | See text | ||
PROOF_MinPacketTime | Double_t | See text | ||
PROOF_MaxPacketTime | Double_t | See text | ||
PROOF_ValidateByFile | Int_t | See text | >= 5.27/04 | |
PROOF_PacketizerCalibNum | Long64_t | Size of the calibration packet; see text | >= 5.27/04 | |
PROOF_PacketizerFixedNum | Int_t | See text | >= 5.27/04 | |
PROOF_PacketizerTimeLimit | Double_t | See text | >= 5.27/04 | |
Tree Cache | ||||
PROOF_UseTreeCache | Int_t | Enable/disable the tree cache | >= 5.25/04 | |
PROOF_CacheSize | Long64_t | Tree cache size in bytes | >= 5.25/04 | |
Monitoring | ||||
PROOF_StatsHist | Enable monitoring histograms | |||
PROOF_StatsTrace | Enable recording of trace information on the master | |||
PROOF_SlaveStatsTrace | Enable recording of trace information on the workers | |||
Performance | ||||
PROOF_PacketsHist | TH1D | Processed packets per worker | ||
PROOF_EventsHist | TH1D | Processed events per worker | ||
PROOF_NodeHist | TH1D | Workers per file serving node | ||
PROOF_LatencyHist | TH2D | Packet receive latency per worker | ||
PROOF_ProcTimeHist | TH2D | Packet process time per worker | ||
PROOF_CpuTimeHist | TH2D | Packet CPU time per worker | ||
Miscellanea | ||||
PROOF_DataSetSrvMaps | const char * | Defines mapping(s) for data servers | >= 5.27/02 | |
PROOF_LookupOpt | const char * | Controls the dataset lookup | >= 5.27/04 | |
PROOF_UseMergers | Int_t | Controls the use of submergers | >= 5.26/00 |
2. Description
1. Packetizer Parameters
Packetizer generates packets to be processed on PROOF workers. 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 data files, etc.
Below we describe way of using different types of packetizers as well as parameters for changing the behavior of the packetizers.
PROOF_PacketizerStrategy (Int_t)
Define t
he strategy to be used in the packetizer. Default is 1 (adaptive strategy). The only available strategy alternative is the old strategy (0).
Example: proof->SetParameter("PROOF_PacketizerStrategy", (Int_t)0) .
PROOF_Packetizer (const char *)
Define the class name of the packetizer to use. The class can be uploaded as a PAR file. Default is TPacketizerAdaptive. The old packetizer is called TPacketizer.
Example: proof->SetParameter("PROOF_Packetizer", "TPacketizer") .
PROOF_ForceLocal (Int_t)
Force local processing to minimize the network traffic at the expense of longer processing times. If this parameter is set to 1, each worker processes only the files which are located on it own node. In makes sense to set the parameter, only when the dataset is entirely located on the cluster and the session has worker processes on all the cluster nodes with data. Default is 0.
Example: proof->SetParameter("PROOF_ForceLocal", (Int_t)1) .
PROOF_MaxSlavesPerNode (Int_t)
Set the maximum number of workers accessing data on any single file server node. Default is -1 (no limit).
Example: proof->SetParameter("PROOF_MaxSlavePerNode", 8) .
PROOF_PacketAsAFraction (Int_t)
Defines how big is the packet size as a fraction of the data set size. Setting it to k means that packets will not be bigger than N / (n * k), where N is the number of events in the dataset and n is the number of workers. Default is 4 for TPacketizerAdaptive, 20 for TPacketizer.
Example: proof->SetParameter("PROOF_PacketAsAFraction", 8) .
PROOF_MinPacketTime (Double_t)
In TPacketizerAdaptive, defines the minimal size of a packet in seconds. It can be useful to make bigger packets, when 8 or more workers from one session run on the same machine. Default is 3
Example: proof->SetParameter("PROOF_MinPacketTime", 8.) .
PROOF_MaxPacketTime (Double_t)
In TPacketizerAdaptive, defines the maximum size of a packet in seconds. It can be useful, for example, to avoid that the whole file is assigned to the same worker, when the number of workers is larger than the number of files. Default is 20
Example: proof->SetParameter("PROOF_MaxPacketTime", 5.) .
PROOF_ValidateByFile (Int_t)
When processing a subsample of N entries if this parameter is set to 1 then only the minimum number of files containing enough entries to satisfy the request is validated. By default a limited number of files is validated but the number can exceed the minimum by (N workers-1).
Example: proof->SetParameter("PROOF_ValidateByFile", 1) .
PROOF_PacketizerCalibNum (Long64_t)
NB: TPacketizerUnit only
Size of the first packet used to calibrate the worker performance. Default is 5.
Example: proof->SetParameter("PROOF_PacketizerCalibNum", 100) .
PROOF_PacketizerFixedNum (Int_t)
NB: TPacketizerUnit only
If this parameter is set to 1 then the packetizer will distribute packets in such a way that all th workers will process the same number of cycles, independently of the single worker performance. Default is off.
Example: proof->SetParameter("PROOF_PacketizerFixedNum", (Int_t)1) .
PROOF_PacketizerTimeLimit (Double_t)
NB: TPacketizerUnit only
Max packet size in seconds. This can be used to control the frequency of progress reporting. Default is 1 second.
Example: proof->SetParameter("PROOF_PacketizerTimeLimit", 10.) .
2. Tree cache parameters
PROOF_UseTreeCache (Int_t)
Switch to enable/disable the use of the tree cache in processing data. Default is 1 (enabled).
Example: proof->SetParameter("PROOF_UseTreeCache", 0) .
PROOF_CacheSize (Long64_t)
Set the size of the tree cache (value in bytes). Default is 30000000.
Example: proof->SetParameter("PROOF_CacheSize", 20000000) .
3. Monitoring Parameters
These are the parameters governing the PROOF monitoring (see also $ROOTSYS/test/ProofBench/README)
.
PROOF_StatsHist
Enable use of monitoring histograms (the value is ignored).
Example: proof->SetParameter("PROOF_StatsHist", "");
PROOF_StatsTrace
Enable the recording of a trace information on the master (the value is ignored). The result is returned in the output list in the performance tree PROOF_PerfStats .
Example: proof->SetParameter("PROOF_StatsTrace", "");
PROOF_SlaveStatsTrace
Enable the recording of a trace information on the slaves (the value is ignored). The result is returned in the output list in the performance tree PROOF_PerfStats .
Example: proof->SetParameter("PROOF_SlaveStatsTrace", "");
4. Performance Parameters
These are the parameters governing the PROOF benchmark utilities.
PROOF_PacketsHist
Fill a histogram with the number of packets assigned to each worker. The histogram is dynamically updated for usage in the feedback list.
PROOF_EventsHist
Fill a histogram with the number of events processed by each worker. The histogram is dynamically updated for usage in the feedback list.
PROOF_NodeHist
Fill a histogram with the number of workers accessing a file serving node. The histogram is dynamically updated for usage in the feedback list.
PROOF_LatencyHist
Fill a 2D histogram with the latency in receiving the next packet sampled by worker.
PROOF_ProcTimeHist
Fill a 2D histogram with the packet processing time sampled by worker.
PROOF_CpuTimeHist
Fill a 2D histogram with the packet CPU time sampled by worker.
5. Miscellanea
PROOF_DataSetSrvMaps
Define {match,target} pairs to change the servers from which the files in a dataset have to be taken. The parameter is a string in the form "srv1|map1 srv2|map2 ..." where srv1 are the {protocol,host,port} of the server to be matched, and map1 are the {protocol,host,port} to be used for those files mapping srv1, and so on.
The matching server string can contain the wildcard '*' in the host field or it can be empty, in which case the replacement is done for all the dataset files.
If the '|' character is missing the whole string is assigned to the map part; i.e. 'map1' alone is equivalent to '*|map1' or '|map1'.
Example:
proof->SetParameter("PROOF_DataSetSrvMaps", "root://dserv-*.dom.ain/|root://redir.dom.ain/")
PROOF_LookupOpt
Define which dataset files to lookup. Use 'none' to skip the lookup step. Use "all" to lookup all the files, also those flagged as corrupted or offline (non-staged). Use 'stagedOnly' to lookup only the files flagged as online and non-corrupted.
Example:
proof->SetParameter("PROOF_LookupOpt", "none")
PROOF_UseMergers
Toggles the use of sub-mergers for merging the results. The integer parameter defines the number of mergers; setting it to 0 makes the master to choose the optimal number based on the number of available workers.
Example:
proof->SetParameter("PROOF_UseMergers", 0)