[root] / trunk / proof / proofplayer / inc / TVirtualPacketizer.h Repository:
ViewVC logotype

Log of /trunk/proof/proofplayer/inc/TVirtualPacketizer.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 44659 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 12 09:04:37 2012 UTC (2 years, 7 months ago) by ganis
File length: 8902 byte(s)
Diff to previous 44657
Fix warning on Windows

Revision 44657 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 12 08:22:13 2012 UTC (2 years, 7 months ago) by ganis
File length: 8902 byte(s)
Diff to previous 38810
  In TVirtualPacketizer.h:
  Add new virtual method AssignWork to be used to add work to an existing packetizer on
  the fly. This is used while packetizing across submasters.
  In TVirtualPacketizer.cxx:
  Do not start the progress reporting on submaster (progress is under control of top masters).
  In TPacketizerUnit:
  First implementation of the new method AssignWork .

Revision 38810 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 12 16:22:59 2011 UTC (3 years, 9 months ago) by ganis
File length: 8794 byte(s)
Diff to previous 37396
  Patch to correctly honour selector abort status settings in PROOF. Currently only
  the TSelector::kAbortProcess was handled by stopping processing. In particular
  TSelector::kAbortFile was ignored; this recently created some problems in ALICE
  with corrupted files, with repeated attempts to read events eventually leading to
  bad_alloc exceptions.

  This patch also fixes other related issues, in particular with the reporting of the
  non-processed {files, events} in the final 'MissingFiles' list. This list should
  now account much more precisely of the number of events which could not be processed.

  It also fixes a problem with the final update of the progress information affecting
  occasionally cases with skipped events.

Revision 37396 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 8 13:12:00 2010 UTC (4 years, 1 month ago) by rdm
File length: 8767 byte(s)
Diff to previous 34748
From Gerri:
- Fix a problem with the registration of missing files in the 'MissingFiles'
  list. The files that could not be open during processing were not properly
  registered in the list (only those found missing during validation or
  giving problmes durign reading were correctly added).
- Add method TProof::ShowMissingFiles() to facilitate the display of the
  list of missing files.
- Add method TProof::GetMissingFiles() to get a TFileCollection (dataset)
  with the missing files for further processing.

Revision 34748 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 9 10:18:05 2010 UTC (4 years, 5 months ago) by ganis
File length: 8748 byte(s)
Diff to previous 34557
   Add the possibility to save the perfomance information shown by the dialog into a small
   ntuple included in the output list. The ntuple contains 5 floats (processing time, number
   of active workers, event rate, MBytes read, number of effective sessions on the cluster)
   and it is filled each time the number of active workers changes or at max 100 regular
   intervals at least 5 secs apart; in this way the ntuple has at most O(100 entries + number
   of workers).
   To enable the saving of the ntuple execute the following:
               proof->SetParameter("PROOF_SaveProgressPerf", "yes");
   before running the query. The ntuple is called 'PROOF_ProgressPerfNtuple'.

   This patch also adds to the output list the parameters used by the active packetizer. Some
   parameters of general interest (currently MinPacketTime and MaxPacketTime) have been moved
   to TVirtualPacketizer and are always added to the list. Each packetizer is then responsible
   of adding its relevant specific parameter to the dedicated list. The dedicated list is hosted
   in TVirtualPacketizer and is transferred to the output list by TProofPlayer when finalising
   the output list at the end of the query.

Revision 34557 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 22 15:12:01 2010 UTC (4 years, 6 months ago) by rdm
File length: 7478 byte(s)
Diff to previous 32204
fix cases in ROOT code where we would truncate the TTime (to avoid the
new error messages in TTime operator long on 32-bit platforms).

Revision 32204 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 3 19:17:40 2010 UTC (4 years, 11 months ago) by ganis
File length: 7433 byte(s)
Diff to previous 30899
   Add support for processing many datasets in one go in TProof::Process(const char *dataset, ...).
   Two options are provided:
   - 'grand dataset':  the datasets are added up and considered as a single dataset;
                       syntax: "dataset1|dataset2|..."
   - 'keep separated': the datasets are processed one after the other; the user is
                       notified in the selector of the change of dataset so she/he
                       has the opportunity to separate the results. A new packetizer,
                       TPacketizerMulti, has been developed for this case: it basically
                       contains a list of standard packetizers (one for each dataset) and
                       loops over them.
                       Syntax: "dataset1,dataset2,..." or dataset1 dataset2 ..."
   In both cases, entry-list can be applied using the syntax "dataset<<entrylist", e.g.
   "dataset1<<el1|dataset2<<el2|".
   See http://root.cern.ch/drupal/content/working-data-sets#currentelem for more details.

   A test for the new functionality has been added to test/stressProof.cxx .

Revision 30899 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 28 12:22:17 2009 UTC (5 years, 2 months ago) by ganis
File length: 7247 byte(s)
Diff to previous 30859
Improve data node / worker matching by always using the host FQDN

Revision 30859 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 24 14:53:07 2009 UTC (5 years, 3 months ago) by ganis
File length: 7119 byte(s)
Diff to previous 25896
  Patch for improved performance monitoring. The 'Rate Plot' button in the progress
  dialog is renamed 'Performance plot' and shows up to 4 plots with the event/sec,
  the average read chunck size, the number of active workers and the number of active
  PROOF sessions on the cluster, all as a function of processing time.

  The read chunck size plot allows to monitor the usage of the cache.

  The istantaneous processing rate (event/sec) is now better estimate: a few issues
  with the normalizing times have ben solved, removing the artificial structures that
  were observed.

  The possibility to set a max packet time length is introduced (default 30 s); this
  can be changes with the parameter PROOF_MaxPacketTime.
  The size of the cache is also taken into account to optimize the use of the cache.

  The parameter PROOF_UseParallelUnzip has been introduced to toggle the use of the 
  parallel unzip (default off for now).

  A page describing the new performance plots is under preparation at 
           http://root.cern.ch/drupal/content/progress-dialog

Revision 25896 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 20 17:01:31 2008 UTC (6 years, 3 months ago) by ganis
File length: 6767 byte(s)
Diff to previous 25839
   From Jan:
   - Using consistently the recently introduced TProofProgressStatus in the kPROOF_GETPACKET
     messages sent to TPacketizerUnit, TPacketizerAdaptive and TPacketizer; the message contains
     the status of progress since the start of processing on a given node.
   - Introduce TVirtualPacketizer::TVirtualSlaveStat as a base class of all the TSlaveStat
     packetizer specific auxilliary classes.
   - Full implemenation of GetProgressStatus() and AddProcessed(TProofProgressStatus *st) members
     for TPacketizerUnit::TSlaveStat.

     This patch should fix some consistency problems experienced after the patch introducing
     TProofProgressStatus .

Revision 25839 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 16 07:37:29 2008 UTC (6 years, 3 months ago) by ganis
File length: 5800 byte(s)
Diff to previous 25827
From Bertrand: fix several for warnings C4138 on Windows ('*/' found outside of comment)

Revision 25827 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 15 14:02:59 2008 UTC (6 years, 3 months ago) by ganis
File length: 5794 byte(s)
Diff to previous 25273
   From Jan:

   - Added the possibility to handle removed workers and partly processed packets. When a worker is stopped
     while processing a packet it finishes, the current event and the rest of the packet is reassigned to another
     worker. This is done via two interfaces:
       - TVirtualPacketizer::AddProcessed(TSlave *sl, TProofProgressStatus *st, TList **)
       - TVirtualPacketizer::ReassignPacket.
   - New class TProofProgressStatus used to keep the query progress stauts in all the TProofPlayer objects and in
     TPacketizerAdaptive::TSlaveStat. This class is also used to structure the relevant information send in
     kPROOF_GETPACKET and kPROOF_STOPPROCESS messages.
   - The class TPacketizerProgressive is removed completely.
   - The PROOF protocol version is increased to 19: this is to handle the changes in the kPROOF_STOPPROCESS and
     kPROOF_GETPACKET messages in Master - worker communication.

Revision 25273 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 27 08:56:06 2008 UTC (6 years, 4 months ago) by rdm
File length: 5299 byte(s)
Diff to previous 23986
From Jan:
- A new optional version of PROOF with dynamic worker startup.
  It can be enabled by the admin or a user with 'Proof.DynamicStartup'.
  A session starts only on the master. When a query processing starts
  at the master TXProofServ::GetWorkers() is called. It receives a 
  list of machines from the scheduler and the workers on the
  machines are started. The environment is copied from the master
  to the workers. It includes: the include and dynamic library paths,
  the set of enabled packages as well as the macros loaded by the user.

- A new method TProof::AddWorkers(TList *workers) was added. It adds
  the workers just before the query.

- A packet resubmitting mechanism. When a worker dies all the packets
  that it processed are resubmitted.

- In TPacketizerAdaptive: fixing initialization of fgMaxSlaveCnt. By
  default it was initialized twice.

Revision 23986 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 23 09:10:18 2008 UTC (6 years, 8 months ago) by ganis
File length: 5232 byte(s)
Diff to previous 23179
   Import fixes / new functionality from branches/dev/proof:

   - proof/proofplayer/src/TPacketizerAdaptive.cxx
      Implement the classic strategy of the TPacketizer in TPacketizerAdaptive.
      The strategy can be changed from adaptive (default) to TPacketizer with:
      "PROOF_PacketizerStrategy" parameter to PROOF

   - proof/proofplayer/src/TProofPlayer.cxx
      Fixed error messages for 'MissingFiles' and 'FailedPackets' lists.
      Improve fault detection by creating a list of failed packets upon a mismatch
      in the expected and actual number of processed events; the list is added to
      the output list.

   - proof/proofplayer/src/TVirtualPacketizer.cxx
      Make sure that something has been processed before setting kIsDone.
      Improve fault detection by creating a list of failed packets upon a mismatch
      in the expected and actual number of processed events; the list is added to
      the output list.

   - proof/proofplayer/inc/TVirtualPacketizer.h
      Improve fault detection by creating a list of failed packets upon a mismatch
      in the expected and actual number of processed events; the list is added to
      the output list.

   - proof/proofplayer/inc/TPacketizerAdaptive.h
      Implement the classic strategy of the TPacketizer in TPacketizerAdaptive

   - proof/proof/src/TProofServ.cxx
      Fixes:
       + option string: "stageOnly" --> "stagedOnly".
       + add parenthesis to avoid a warning after the previous patch.
       + remove the objects added to the missingFiles in TDSet::Add from the 'dataset'
         before deleting it
       + fixed an error HandleCheckFile ('kPROOF_WorkDir' instead of 'kPROOF_PackDir').
       + make fCacheDir and fPackageDir controllable via directive
       + in TProofServ::ErrorHandler: do not create the related additional buffer if
         not logging to syslog
      Added functionality:
       - add possibility to flag an "Info" message as service message using
         the prefix "|Svc" in the location field; e.g.

            Info("SetupCommon|Svc", "Test of SvcMsg");

         will produce something like

            09:28:24  6892 Mst-0 | SvcMsg in <TXProofServ::SetupCommon>: Test of SvcMsg

         This is needed to be able in the future to filter-out messages needed
         by some services (e.g. the forthcoming memory checker) which should not be
         displayed by default.

   - proof/proofd/src/XrdProofSched.cxx
      Improve the calculation of the number of workers to assign by using fMinForQuery
      as a minimum.
      Fix the length of method separators.
      Fix signed/unsigned warning.

Revision 23179 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 13 07:05:14 2008 UTC (6 years, 9 months ago) by ganis
File length: 4997 byte(s)
Diff to previous 22635
Add bit kIsDone to better determine the processing time

Revision 22635 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 13 10:50:20 2008 UTC (6 years, 10 months ago) by rdm
File length: 4978 byte(s)
Diff to previous 20882
move all PROOF related libraries under the new proof directory.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4978 byte(s)
Diff to previous 20682
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20682 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 15:51:59 2007 UTC (7 years, 2 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4978 byte(s)
Diff to previous 20264
  Import branches/dev/proof r20654

  Summary:

  + Improvements
    - Add support for SSH SOCKS4 tunnelling; the local port for the tunnel can be specified
      in the master URL, e.g. TProof::Open("master/?tunnel:8000")
    - Add the possibility to plot the estimated instantaneous rate
    - Add "PROOF_ForceLocal" parameter to the !TPacketizerAdaptive; if set to 1, all the data
      are processed locally.
    - Add support for remote grep functionality while retrieving logs (needed by the forthcoming
      memory monitor)
  + Bug fixes
    - Several small fixes to revive the multi-master mode.
    - XrdProofdProtocol:
      - add missing lock to the client instance in SendMsg to avoid screwing up requests from
        workers on the same machine
         - lock the mutex of the requester when setting prorities
         - add notification during Reset
         - fix problem with the detection of the 'allow' directive
         - fix problem with the parsing of the return value from XrdProofServProxy::TerminateProofServ()
         - always use the effective user to retrieve info fom another server
           (XrdProofdManager::GetProofConn is now used)
         - fix possible dead-locks from debug notifications done after hard-killing a session
         - re-enable the garbage collector thread of the connection manager in XrdProofConn to
           fix a problem with closing physical connections;
         - fix a problem with !CleanupProofServ in the case of a non-privileged daemon running
           in multi-user mode
         - introduce a timeout when waiting for the startup of a 'proofserv'.
    - XrdProofConn: init mutex in the ctor; lock in SendRecv
    - XrdProofSched: add support for using the priorities defined in the group manager to define
      the number of workers for sessions
      - TProof:
         - Broadcast priorities to unique nodes only
         - timeout after 5 mins the initial Collect to avoid clients getting stuck at this stage
         - add support for generic timeout in Collect (disabled by default)
         - fix a problem with SendFile.
      - TXProofServ: add a call to !TProof::InterruptCurrentMonitor() in Terminate() to stop 
        infinite loops in Collect
      - TXSocket:
         - Implement a flag to interrupt a TXSocket while waiting for messages
         - Split the session creation timeout in 4 attempts: the total timeout is the same but
           it may circumvent occasional forking problems.
      - XROOTD: 
         - fix a potential (possibly accademic) memory leak in the client
         - fix a access permission problem with Kerberos ticket forwarding
         - fix bug preventing 'locate' to work properly
         - re-enable optimized 'locate'

Revision 20264 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 8 15:38:40 2007 UTC (7 years, 3 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4577 byte(s)
Diff to previous 20086
Implement GetTotalEntries() in packetizers (from J.Iwaszkiewicz)

Revision 20086 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 24 18:19:34 2007 UTC (7 years, 4 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4500 byte(s)
Diff to previous 19826
  From Jan:
   - Add a heuristic mechanism to avoid undervaluing the processing rate and to short packets.
   - Add parameters: PROOF_MinPacketTime and PROOF_PacketAsAFraction to allow tuning performance.
   - Change name TAdaptivePacketizer to TPacketizerAdaptive in order to follow the naming
     convention for packetizers
   - Slightly tuning a few parameters.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4500 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4560 byte(s)
Diff to previous 19766
remove :$ from tag line

Revision 19766 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 7 21:12:02 2007 UTC (7 years, 4 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4570 byte(s)
Diff to previous 19335
 - Move common initializations (progress info ntple, progress timer) into
   TVirtualPacketizer
 - Properly destroy the progress info ntple and progress timer

Revision 19335 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 13 13:22:57 2007 UTC (7 years, 6 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4529 byte(s)
Diff to previous 19288
From Anna:
- Add support for entry-lists to PROOF.
From me:
- Cleanup usage of TEntryList/TEventList arguments in the TProof/TProofPlayer API.

Revision 19288 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 9 15:43:58 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4577 byte(s)
Diff to previous 19249
From Jan:
- Adding info on how to use alternative packetizers in TVirtualPacketizer.
- Other comments improvements.

Revision 19249 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 3 16:26:44 2007 UTC (7 years, 6 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4352 byte(s)
Diff to previous 18905
Improve determination of the query initialization time.

Revision 18905 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 29 16:06:55 2007 UTC (7 years, 7 months ago) by ganis
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 4257 byte(s)
Diff to previous 18336
 From Jan:
 Consolidation work on similar code in 3 different packetizers.
 Moving common members of TPacketizer, TAdaptivePacketizer and partly TPacketizerProgressive
 up to TVirtualPacketizer:
   - HandleTimer
   - SplitEventList
   - GetEntriesProcessed
   - CreateNewPacket
   - common member attributes
 The progressive packetizer was also changed in order to use CreateNewPacket and fProcessed.

Revision 18336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 19 10:46:10 2007 UTC (7 years, 10 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2972 byte(s)
Diff to previous 16775
reflect move from proof to proofplayer directory in the cvs tag line.

Revision 16775 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 15 17:45:55 2006 UTC (8 years, 2 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2967 byte(s)
Diff to previous 15046
From Gerri and Bertrand:
Fixes and new features developed in preparation for the Intel quad-core
launch demo:
- Add instantaneous event and MB processing rates in the Progress signal
  and make necessary modification to exploit it in the Progress Dialog.
- Add possibility to change the Progress and Feedback periods
- A number of small improvements and bug fixes

Revision 15046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 15 09:45:03 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2808 byte(s)
Diff to previous 6519
From Gerri:
Fix coding convention violations in krb5auth, rpdutils and
   proof

Revision 6519 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 1 17:51:42 2003 UTC (11 years, 8 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2805 byte(s)
Diff to previous 6421
implementation of TProof::StopProcess() and propagation infrastructure.
By Maarten.

Revision 6421 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:48:11 2003 UTC (11 years, 9 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2683 byte(s)
Diff to previous 5401
Big (unsigned) long long support patch. Following provided:
- basic typedefs in Rtypes.h: Long64_t and ULong64_t
- basic Long64 I/O support in TBuffer
- automatic Long64 I/O support in TStreamerInfo
- Long64 byteswap in Bytes.h
- Long64 type handling in classes like TDataMember, TDataType, TCint,
  TROOT, etc
- Removal of obsolete Long64_t typedefs in many PROOF classes
No changes for non-Long64 data types (no backward incompatibilies).
I/O tested for Long64 basic type, and static and dynamic arrays using
handcoded streamers, rootcint generated streamers and automatic StreamerInfo
streamers.

Revision 5401 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 7 10:43:51 2002 UTC (12 years, 3 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2706 byte(s)
Diff to previous 4955
added code to trace the latency and cpu time every work packet took.
By Maarten.

Revision 4955 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Jul 17 12:29:38 2002 UTC (12 years, 6 months ago) by rdm
Original Path: trunk/proofplayer/inc/TVirtualPacketizer.h
File length: 2622 byte(s)
PROOF mods from Maarten. New TVirtualPacketizer that is the base class for
different packetizers. You want different packetizers for different
processing strategies (depending on files being available on disk or if
they need to be sequentially retrieved from mass storage, etc.).
Added global PROOF debug facility.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9