You are here

List of INPUT parameters used by PROOF

Contents:

  1. Summary
  2. Description
    1. Packetizer parameters
      1. PROOF_PacketizerStrategy
      2. PROOF_Packetizer
      3. PROOF_ForceLocal
      4. PROOF_MaxSlavesPerNode
      5. PROOF_PacketAsAFraction
      6. PROOF_MinPacketTime
      7. PROOF_MaxPacketTime
      8. PROOF_ValidateByFile
      9. PROOF_PacketizerCalibNum
      10. PROOF_PacketizerFixedNum
      11. PROOF_PacketizerTimeLimit
    2. Tree cache parameters
      1. PROOF_UseTreeCache
      2. PROOF_CacheSize
    3. Monitoring parameters
      1. PROOF_StatsHist
      2. PROOF_StatsTrace
      3. PROOF_SlaveStatsTrace
    4. Performance parameters
      1. PROOF_PacketsHist
      2. PROOF_EventsHist
      3. PROOF_NodeHist
      4. PROOF_LatencyHist
      5. PROOF_ProcTimeHist
      6. PROOF_CpuTimeHist
    5. Miscellanea
      1. PROOF_DataSetSrvMaps
      2. PROOF_LookupOpt
      3. PROOF_UseMergers

1. Summary

Parameters used by PROOF; when missing the type is ignored (setting the parameter enables the corresponding feature)
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 the 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)