analysis framework status
Download
Skip this Video
Download Presentation
Analysis framework status

Loading in 2 Seconds...

play fullscreen
1 / 8

Analysis framework status - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Analysis framework status. Gheata , Weekly offline meeting 3.05.07. I ssues. Streaming in PROOF mode Recent fixes and changes Event loop vs. ‘single shot’ tasks Bookkeeping & exception handling. Streaming in PROOF mode. Output data is written in containers

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Analysis framework status' - thad


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
analysis framework status

Analysis framework status

Gheata,

Weekly offline meeting 3.05.07

i ssues
Issues
  • Streaming in PROOF mode
  • Recent fixes and changes
  • Event loop vs. ‘single shot’ tasks
  • Bookkeeping & exception handling
streaming in proof mode
Streaming in PROOF mode
  • Output data is written in containers
  • Bad (containers are linked in the analysis tree)
  • New wrapper introduced to ship data
    • Transparent to user

AliAnalysisSelector

PROOF

Merge()

recent changes
Recent changes
  • AliAnalysisTask::LocalInit()
    • Introduced to allow local (on client) task initialization in a uniform way
    • Users should not create objects that will be written to outputs here, but in ConnectInputData()
    • Not mandatory
  • Disabling all branches by default
    • The branches requested by tasks are automatically enabled when using AliAnalysisTask::SetBranchAddress()
    • Minimizes size of read data
recent changes 2
Recent changes (2)
  • AliAnalysisTask::Notify()
    • Called when starting the first tree or changing the file in a chain
    • Used currently by AliAnalysisTaskRL to update validity of run loader
  • AliAnalysisTask::OpenFile(Int_tiout)
    • To be called in CreateOutputObjects() before creating the objects to be written to the files specified by the output containers
    • Not mandatory: to be used only for big trees that cannot fit memory
  • Fix: CreateOutputObjects() and Terminate() called now also in the non-event loop case
event loop vs single shot
Event loop vs. single shot
  • Event loop controlled by TSelector
  • Framework supports non – event loop mode
  • Combining the two does not work currently
    • E.g. processing a chain and producing a histogram, than using a task that fits the histogram in the SAME analysis manager session
  • Analysis split in 2 stages
    • Processing all tasks in event loop up to Terminate()
    • Starting stage 2 and executing LOCALLY all non event loop tasks
  • Implementation ongoing
    • Tasks/containers aware of their execution mode
bookkeeping
Bookkeeping
  • Initial configuration of tasks, input queries and conditions – not standardized
    • We may need to know what configuration, what tasks produced a given data
    • Which were the selection criteria
    • Which data failed to be processed
  • Analysis manager may be streamed together with configuration macros in the output tree header
    • Configuration macros may be encapsulated in tasks
exception handling
Exception handling
  • No state manager for the moment
    • A failing task makes the whole system crash
  • Typical analysis production run mode will connect several different analysis tasks to the same input data
    • Maximize profit from having data in memory
  • A handler for SIGSEGV and other nasty signals can be written
    • Can we continue after a segmentation violation, or we gracefully die ?
      • Stack may be corrupted, and other bad things may have happened
    • Run part of the analysis in a safe thread … ?
    • Implementing a state manager
    • Decoupling user code execution
ad