2013_04_24_2ndCollab..

Report
Karabo: The European XFEL
software framework
Burkhard Heisen
2nd Collaboration Meeting of the European XFEL
April 24, 2013
Karabo: The European XFEL software framework
What I always start with…
2
A typical use case:
Control
drive hardware and
complex experiments
monitor variables &
trigger alarms
DAQ
data readout
online processing
quality monitoring
(vetoing)
allow some
control & show
hardware status
Accelerator Undulator Beam Transport
show online data
whilst running
DM
DAQ
DM
Control
SC
Tight integration of applications
Easy, efficient and comfortable usage of those
Burkhard Heisen (WP76)
storage of experiment
& control data
data access,
authentication
authorization etc.
setup computation &
show scientific results
SC
processing pipelines
distributed and GPU
computing
specific algorithms
(e.g. reconstruction)
Karabo: The European XFEL software framework
Outline – Follow the requirements
Phase
Independent
Proposal phase
Identify needs, Accept/Reject/Postpone
several month before
Preparation phase
Prepare configurations, custom developments
several month – few weeks before
Setup phase
Verify setup, find signal, alignments
few days – few hours before
Data taking phase
Clean up phase
Data analysis phase
Publication phase
Burkhard Heisen (WP76)
Data storage, sample switching/delivery
Remove custom h/w, bring s/w back to safe
Data analysis workflows, data management
Data cleanup
3
Karabo: The European XFEL software framework
Phase independent
4
GUI
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.
username
 Karabo interacts with a central database
userId
password
managing all user data.
accessRole
currentTime
session
 Access is controlled using a role-based system.
location
 Roles are assigned based on login context. The
context involves username, current time and
current location.
Central DB
 The same user for example may have more rights
during his beamtime and at a specific computer
1.
Authorizes
than at other places and during different times.
2.
Computes context based

access role
Burkhard Heisen (WP76)
Karabo: The European XFEL software framework
Preparation phase

5
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
Burkhard Heisen (WP76)
Karabo: The European XFEL software framework
Preparation phase (special needs)


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.
Burkhard Heisen (WP76)
6
Karabo: The European XFEL software framework
Setup phase

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.
Burkhard Heisen (WP76)
7
Karabo: The European XFEL software framework
Multi-purpose GUI system
8
Configuration
Custom composition area
Navigation
Logging / Scripting console
Notifications
Kerstin Weger (WP76)
Documentation
Karabo: The European XFEL software framework
Property/Command composition
Display widget (Trend-Line)
Editable widget
drag & drop
Display widget
Kerstin Weger (WP76)
9
Karabo: The European XFEL software framework
Property/Command composition
Display widget
(Image View)
Display widget
(Histogram)
Kerstin Weger (WP76)
drag & drop
10
Karabo: The European XFEL software framework
Custom panels – PowerPoint like
Open/Save panel view
11
Cut, copy, paste, remove item
Group items
Change between
“Design/Live” mode
Bring to front/back
Insert text, line, rectangle, …
Kerstin Weger (WP76)
Rotate, scale item
Karabo: The European XFEL software framework
Data taking phase

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)
Burkhard Heisen (WP76)
12
Karabo: The European XFEL software framework
Device (workflow) composition
Workflow node (device)
drag & drop
Draw connection
Kerstin Weger (WP76)
13
Karabo: The European XFEL software framework
Data analysis phase

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.
Burkhard Heisen (WP76)
14
Karabo: The European XFEL software framework
Processing workflows
15
CPU
IO whilst computing
Pixel parallel processing
(one GPU thread per pixel)
Notification about new data possible to obtain
GPU
Burkhard Heisen (WP76)
Karabo: The European XFEL software framework
Yes, it’s there!
Burkhard Heisen (WP76)
16
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
Burkhard Heisen (WP76)
17
Karabo: The European XFEL software framework
18
Thank you for your kind attention.
Burkhard Heisen (WP76)

similar documents