logo.png

STOW
LIBPCAP
SCHROOT
PYTHON
VIRTUALBOX
NARVAL
XDAQ

Home Up


Contents



1 Introduction

Historicaly from OASIS. Under GPL. Unique data link replaced by Data Flow concept (TCP, shared memory...)

$ svn co http://csngwinfo.in2p3.fr:2401/narval # login=passwd=narval


2 Presentations


2.1 Advanced Gamma Tracking Array

6660 electronic channels photon tracking. 2 kind of detectors (main + ancillary).

  • Acquisition layer
  • Configuration layer
  • Permanant layer


2.2 Orsay Tandem

Located at paris-sud campus. VME crate:

  • 5 aquisition cards with 6 channels
  • 1 ressource manager card

Event building from:

  • Tandem detector
  • X-ray camera

Architecture:

  • Shared libraries compiled outside Narval environment.
  • XML configuration file
  • CVISU: spectra visualisation (coeficients, thresholds, not based on root)

Carte cometh: 40Mb.s-1


2.3 Scanning tabble for detector characterisation

Scanning table for Agata (ENX+Narval). ViGru for spectrum monitoring

  • Start/Stop
  • Set and get somes parameters


2.4 StratusLab project

cloud we use for the formation.


3 GRU: Ganil Root Utility

GRU = ROOT + Ganil C++ libraries


3.1 Ganil DAQ

  • Gloal Run Control Core
  • Electronic Control Core


3.2 Root

Developped by René Brun. Root embedded CINT (C interpreter like shell).


3.3 GRU Core

http://wiki.ganil.fr/Documentation/Gru Online + Offline.

  • Input device get buffer from diferents devices.
  • Output spectra (histograms+graphs+data vectors) to TList Root)
  • Soap server to get commands


3.4 GRU client

  • Many sources (DB, HD, Soap: use as an osciloscop to debug electronic)
  • Configuration via xml.
  • Can fit curves
  • Cutting curves into a new pad (new histogram store into the server updated online)


4 Open hardware project

CERN Open Hardware Licence. CERN, GSI, Soleil.


5 Understanding Narval


5.1 Vovabulary

Process:

  • Producer
  • Intermediary (like a switch n->m)
  • Consumer
  • Narval naming services (register sub systems)
  • aws_shell / soap protocol / werewolf (GUI)
  • central log
  • coordinator (state machine)


5.2 Configuration files

Narval use polyorb to connect server following the topology.

  • polyorb narval.conf
  • topology .xml
  • script (parralized orders for an automatic run)


5.3 Ada Actor's process

Ada actors (linked with narval sources) gives access to full Ada API:

  • Inherit from Active_Actor_Type
  • Override Buffer_handling (get/put)
  • Override On_Start/On_Stop/... methods

Ada actor as shared library (only one generic actor type):

  • Easy to compile
  • Access to partial API
  • Inherit from Actor_Interface
  • Need to overide all the API


5.4 A three layers framework

$ narval_launch
$ ps -ef

nroche    1983     1  0 15:27 ?        00:00:00 SCREEN -m -d po_cos_naming --polyorb-iiop-polyorb-protocols-iiop-default_port=2809
nroche    1985     1  0 15:27 ?        00:00:00 SCREEN -m -d -c /etc/narval/screen_commands_for_narval
nroche    1986  1983  0 15:27 pts/2    00:00:00 po_cos_naming --polyorb-iiop-polyorb-protocols-iiop-default_port=2809
nroche    1987  1985  0 15:27 pts/3    00:00:00 narval_naming_service
nroche    1988  1985  0 15:27 pts/4    00:00:00 central_log --log_level info
nroche    1989  1985  0 15:27 pts/5    00:00:00 aws_shell --aws_server_port 6080 --automatic-script-loading

  • Permanent layer: naming services, aws shell, central log
    Narval_Naming_Services make Fat pointers for remote call interface. Exception are spread over the network.
    aws_shell is a bridge offering SOAP services (2 commands: send and send with arg).
    central log based on log4Ada and can be connected throuht log4j (java).
  • Coordination layer: sub system 1,2...
    sub_system_coordinator embed the state machine and manage actors (launch, send orders...)
  • Acquisition layer: actors
    generic_... to load C++/Java/... shared libraries.
    data_rate_... to test rates.
    generic_ada_actors to load Ada shared libraries.


5.5 Buffer API

It is a new buffer for each transfert: cannot read while still writing in.

  • Common interface
  • Buffer_Handle_Type embed all needed information about the buffer
  • Host interface (remote buffer are still managed by an host)
  • Produce interface
  • Consume interface

Buffer pool:

  • cf man 7 mq_overview
  • IPC++

Infiniband ?

Home Up

This document is also available in PDF and PostScript format.



2015-10-29