18
Burkhard Heisen 2 nd Collaboration Meeting of the European XFEL April 24, 2013 Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

  • Upload
    amara

  • View
    58

  • Download
    1

Embed Size (px)

DESCRIPTION

Karabo: The European XFEL software framework. Burkhard Heisen 2 nd Collaboration Meeting of the European XFEL April 24, 2013. What I always start with…. A typical use case:. Control drive hardware and complex experiments monitor variables & trigger alarms. DAQ data readout - PowerPoint PPT Presentation

Citation preview

Page 1: Karabo: The European XFEL software framework

Burkhard Heisen2nd Collaboration Meeting of the European XFEL

April 24, 2013

Karabo: The European XFEL software framework

Page 2: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

What I always start with… 2

Burkhard Heisen (WP76)

DAQdata readoutonline processingquality monitoring (vetoing)

SCprocessing pipelinesdistributed and GPU

computingspecific algorithms

(e.g. reconstruction)

Controldrive hardware and complex experimentsmonitor variables & trigger alarms

DMstorage of experiment & control datadata access, authentication authorization etc.

setup computation & show scientific results

allow some control & show hardware status

show online data whilst running

A typical use case:

Accelerator Undulator Beam Transport

Sample Injector

DM SC

ControlDAQ

Tight integration of applicationsEasy, efficient and comfortable usage of those

Page 3: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Outline – Follow the requirements 3

Burkhard Heisen (WP76)

Preparation phase

Setup phase

Data taking phase

Data analysis phase

Phase Independent

Proposal phase

Publication phase

Clean up phase

Identify needs, Accept/Reject/Postpone several month before

Prepare configurations, custom developmentsseveral month – few weeks before

Verify setup, find signal, alignmentsfew days – few hours before

Data storage, sample switching/delivery

Remove custom h/w, bring s/w back to safe

Data analysis workflows, data management

Data cleanup

Page 4: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Phase independent Requirement

Distinction between different users with associated access restrictions

Solution Karabo is user centered, i.e. any access to

control, (meta-)data, or computing infrastructure requires login.

Karabo interacts with a central database managing all user data.

Access is controlled using a role-based system. Roles are assigned based on login context. The

context involves username, current time and current location.

The same user for example may have more rights during his beamtime and at a specific computer than at other places and during different times.

4

Burkhard Heisen (WP76)

Central DB

1. Authorizes2. Computes context based

access role

usernamepasswordcurrentTimelocation

userIdaccessRolesession

GUI

Page 5: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Preparation phase 5

Burkhard Heisen (WP76)

Requirement Setup of experiment configuration, scan macros, etc.

Solution XFEL system operators can prepare configurations and scan macros

according to information of the proposal. Configurations and macros are managed within Karabo’s central database. The control system is fully scriptable. The default language is Python. Control commands can be issued sequentially, or concurrently (e.g. move

several axes at the same time) Scripting can be done procedurally (python program) or interactively (IPython) Being Python any complicated constructs can be coded (i.e. n-D scans with

conditionals, etc.) Scripting can be done within the GUI Main API: get, set, monitor, execute, instantiate, kill

Page 6: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Preparation phase (special needs) 6

Burkhard Heisen (WP76)

Requirement Implementation of new control devices and/or integration of new

algorithms to analysis pipeline Solution

Karabo is split into a core framework and extension plugins (devices). XFEL developers (or even the beamline users) can create new devices

for Karabo that can be injected into the runtime and will enable new control or analysis capabilities.

Several code templates exist for different categories of devices. Devices can be written in either C++ or pure Python (transparent to the

Karabo runtime). Devices impose a standard for self-description (properties, commands,

state-machine). GUI widgets and behavior such as auto-completion and interactive scripting is automatically generated using this information.

Devices can be deployed at any computer and are automatically made available and ready to use for any control-clients.

Page 7: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Setup phase 7

Burkhard Heisen (WP76)

Requirement Verification of h/w and s/w functionality, alignments, signal search, etc.

Solution Sanity functionality within Karabo ensures correct technical setup (hosts

available, correct plugins loaded etc.) XFEL beamline scientist can use the GUI for inspecting parameters,

trendlines, histograms and images in conjunction with prepared macros to verify correct behavior

The GUI system uses the Device self-description to provide basic access to all features.

Custom panel creation needs no coding but is a process that is similar to the way you create a PowerPoint slide.

Panels can be loaded and saved per user. Sharing with other users is also possible.

Page 8: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Multi-purpose GUI system 8

Navigation

Custom composition area

Configuration

Notifications

Logging / Scripting console

Documentation

Kerstin Weger (WP76)

Page 9: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Property/Command composition 9

drag & drop

Display widget (Trend-Line)

Display widget

Editable widget

Kerstin Weger (WP76)

Page 10: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Property/Command composition 10

drag & drop

Display widget (Image View)

Display widget (Histogram)

Kerstin Weger (WP76)

Page 11: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Custom panels – PowerPoint like 11

Change between“Design/Live” mode

Open/Save panel view

Insert text, line, rectangle, …

Cut, copy, paste, remove item

Rotate, scale item

Group items

Bring to front/back

Kerstin Weger (WP76)

Page 12: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Data taking phase 12

Burkhard Heisen (WP76)

Requirements Data collection, modification of variables, switching samples, online data

analysis Solutions

Karabo is tightly integrated into the data management system. Within the GUI, experiment runs can be started and stopped.

Whilst running, Karabo monitors and saves all (slow-)control data which can later be associated to the experiment raw data.

Raw data is streamed to the PC Layer, formatted and is saved in the online storage as HDF5 files.

Karabo scientific workflow system can directly be fed with the raw data allowing highly parallel, pipelined processing whilst data taking.

The GUI allows monitoring experiment statistics and data-analysis runs. Results of online data analysis can be used for tuning the experiment and

vetoing bad data (those won’t even travel to the offline storage)

Page 13: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Device (workflow) composition 13

Workflow node (device)

drag & drop

Draw connection

Kerstin Weger (WP76)

Page 14: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Data analysis phase 14

Burkhard Heisen (WP76)

Requirements Pre-analysis on-site up to preliminary results, full analysis off-site

Solutions The same workflow system as already available during data taking can be

used in offline mode. Workflows are now fed by data as available from the offline storage (or - if still available - from the online storage).

Data analysis for the user starts with already calibrated data Data calibration is also implemented as a workflow (but maintained by XFEL

and accessing calibration parameters from Karabo’s central resources) The analysis system will provide common image processing algorithms

making also use of GPU technology Community algorithms can easily be integrated to Karabo and shared

amongst scientists. XFEL.EU plans to build up a central resource for state of the art analysis tools.

Page 15: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Processing workflows 15

Burkhard Heisen (WP76)

IO whilst computing

Pixel parallel processing(one GPU thread per pixel)Notification about new data possible to obtain

GPU

CPU

Page 16: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Yes, it’s there! 16

Burkhard Heisen (WP76)

Page 17: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

Conclusions and timelines

Challenges are important to learn about detailed requirements pnCCD (combines control, DAQ, calibration and analysis) Beckhoff test stands Slice test (gives ideas about data throughput) 2-tile LPD, later ¼ Mpx LPD (imaging detector) CrystFEL integration (data analysis workflows)

First release of Karabo on 30th July Will cover what was mentioned in this talk Need more time to place the available technical solutions in

larger contexts and workflows

17

Burkhard Heisen (WP76)

Page 18: Karabo: The European XFEL software framework

Karabo: The European XFEL software framework

18

Thank you for your kind attention.

Burkhard Heisen (WP76)