Skip to content

DeMi - ATLAS ITk Pixel System Test Microservices

Introduction

The itk-demo-sw and DeMi GitLab groups contain the evolving high-level online software for ITk, also known as DeMi (Detector Microservices).

The general architecture is based on containerized microservices, adapted to the specific needs of the ATLAS ITk system test community.1

Status of adoption in ATLAS

DeMi has been adopted as top-level software for the qualification of the Loaded Local Supports for the ITk Pixel Outer Barrel as defined in the FDR EDMS 2822664. Adoption for Integration is foreseen as well (see EDMS here and here).

The software integrates tools for configuration, operation, results inspection and analysis into a unified web interface. (Planned) servers and backend interfaces include a distributed controller, a connectivity, configuration and results store, and of course DAQ hardware and software (scan engines) interfaces.

Getting Started

Prerequisites

Working docker installation

Install Docker >= 23.0.4 and the docker compose >= v2.17.2 plugin.

Due to heavy containerization the use on any platform that support OCI runtimes such as Docker should be possible. We have not yet extensively tried another platform such as podman or moby, and users are asked to contribute corresponding experience back to DeMi.

  • Initial root access is required to install Docker.
  • In case multiple nodes are planned for deployment passwordless ssh access needs to be set up between them.

The best way to start the microservices is by using the compose files in the release repository. More details on how to get started are available in the release instructions. There are also tutorials available for some of the microservices in the tutorials section.

A general introduction into the microservices can be found in the stage-1 microservices slides from the Pixel Expert Days.

Available Microservices

The microservices and related repositories live in the itk-demo-sw and demi CERN GitLab groups.

Name / Repo Description Principal Contact
itk-demo-dashboard Dashboard Dominik Schlothane
itk-demo-configdb Stage-1 Configuration Database Jonas Schmeing
itk-daqapi API to run DAQ-software, includes UI Dhruv Patel
analysis-manager Microservice to manage and run analysis jobs Jonas Schmeing, Wolfgang Wagner
itk-felix Microservice to operate FELIX Wuppertal group, e.g. Gerhard Brandt
itk-demo-optoboard Microservice to operate OptoBoard Bern group, e.g. Daniele Dal Santo
itk-demo-registry Registry service providing information about running microservice containers and tools Wuppertal group, e.g. Gerhard Brandt
runkey manager Top-level microservice to distribute runkeys to lower-level APIs Dominik Schlothane
itk-demo-{service} This could be your microservice you

Every repository should follow a similar structure.

FAQ

A list of frequently asked questions including links on how to best contact us in case of further questions / problems is available on the FAQ page.

Additional Resources

Links to talks etc. can be found on the resources page.

Contact



  1. Compared to "cloud" orchestrators like OpenShift/Kubernetes this project needs to work on statically assigned nodes following the DAQ hardware topology (deterministic deployment). In fact, the granularity of the microservices should follow the ITk DAQ hardware (and lower-level software) components. Integration with TDAQ is on the menu and kept in mind.