27
ITER Unified Data Access UDA Rodrigo Castro 1 , Yury Makushok 2 , Lana Abadie 3 , Simon Pinches 3 , David G. Muir 4 , Jonathan Hollocombe 4 , Jesús Vega 1 , Joan Faig 5 , Gregorio Garca 2 1. Laboratorio Nacional de Fusin, CIEMAT. Madrid. Spain 2. SGENIA Madrid. Spain 3. ITER Organization, St Paul lez Durance, France 4. EURATOM/UKAEA Fusion Association, Culham Science Centre, Oxfordshire UK 5. INDRA Sistemas, S.A., Madrid, Spain

ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

  • Upload
    lediep

  • View
    250

  • Download
    4

Embed Size (px)

Citation preview

Page 1: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

ITER Unified Data Access UDA

Rodrigo Castro1, Yury Makushok2, Lana Abadie3, Simon Pinches3, David G. Muir4, Jonathan Hollocombe4, Jesús Vega1, Joan Faig5, Gregorio Garcia2

1. Laboratorio Nacional de Fusion, CIEMAT. Madrid. Spain

2. SGENIA Madrid. Spain 3. ITER Organization, St Paul lez Durance, France

4. EURATOM/UKAEA Fusion Association, Culham Science Centre, Oxfordshire UK

5. INDRA Sistemas, S.A., Madrid, Spain

Page 2: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

2 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

Index

ITER Data archiving types

UDA Architecture

UDA Components

UDA Index DB

UDA Indexer

UDA Server

UDA Client

UDA tools

Page 3: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

3 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

Simplified ITER data archiving model

Data Archiving

DAN

(STREAMS)

PON (EPICS) SDN

Monitoring Data Analysis

Simulation

Page 4: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

4 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

DAN Archiving

DAN Network

HDF5 Storage Files

Archive Writer Archive

Writer

DAN Protocol

DAN Streamer

DAN Client

DAN Client

Configuration

DAN API

DAN Streamer

DAN Publisher

DAN Publisher

DAN Publisher

HDF5 Storage Files

Archive Writer Archive

Writer

DAN Archiver

Page 5: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

5 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

DAN Archiving

Multichannel

Multidimensional and complex data types

Metadata

Stream level

Channel level

Datablock level

Ready for video

Page 6: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

6 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

SDN Archiver

SDN Subscriber Thread (1

topic)

SDN ARCHIVER

dan_writer

thread

Topic Types XML

HDF File

SDN

SDN Subscriber Thread (1

topic)

dan_writer

thread

HDF File

SDN Subscriber Thread (1

topic)

dan_writer

thread

HDF File

Page 7: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

7 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

PON Archiving based on HDF5

PON BEAUTY

CSS Archiver

Channel Access

PVs

HDF5 BackEnd

HDF5

file HDF5

file HDF5

file

Page 8: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

8 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

Why HDF5 files?

Self Description Data and metadata is included

• Complete self coherent unit

Huge file sizes

Single Writer – Multiple Reader

Optimized direct data access to time segments

Data may be appended without copying or redefining its structure

File versions are supported

Platform independent

Supported from a wide set of programming languages

Complete utilities set

Robust

SWMR

Challenges in ITER Huge number of variables / file High sampling rate data

Page 9: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

9 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Architecture

UDA Index DB

Data Access Client

UDA API

UDA Request

Data

UDA Indexer

UDA server UDA

Indexer UDA Indexer

Pulses DB

DAN PON SDN

Data Archiving Repository

Page 10: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

UDA Index

Page 11: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

11 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Index DB

First level catalogue of archived data

Index information is only got from archiving files

Variables

Storage location

Timestamps

File state

Data quality

Page 12: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

12 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Indexer

Responsible of

Detection of data storage events

Index data extraction from archiving files

Index data injection into UDA index DB

Requirements

Online and offline indexing

Performance

• Multiple files in parallel

Scalability

• N number of indexers in parallel

Page 13: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

13 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

Distribution and scalability

UDA Indexer UDA

Indexer

UDA Indexer

DAN PON SDN

Data Archiving Repository

UDA Indexer

UDA Index DB

Page 14: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

14 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Indexer Architecture

File

system

watcher

UDA Indexer

Indexer

Thread Indexer

Thread Indexer

Thread Indexer

Thread

Unresolved

files

… UdaDBInjector

Characteristics

extractor/detector

Data Archiving

Reader

Indexer Thread

Std

Input

Page 15: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

UDA Server

Page 16: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

16 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

IDAM (Integrated Data Access Management)

Wide experience in MAST: David. G. Muir, J. Collohombe

Modularity

Extension to new data archiving formats

Ready for multiple data repositories

Powerful requests ready to be extended with

• new functionalities

• request criteria

Data transmission protocol

Multiplatform data serialization

Complex data types and multidimensional data support

MDSPlus interface

Page 17: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

17 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Server Architecture

UDA Request Solver

IDAM Server

UDA Request

Interpreter

IDAM protocol

UDA Request

UDA Response

Packer Pulses

Client

Library

UDA

Index

Client

library

UDA Response

Data

Archiving

Data

Access

Data Archiving Repository

Page 18: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

18 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Request Syntax (I)

UDA::getData(<variable>, <interval>, <optional_parameters>)

<variable>

• variable=/ITER/<variable_name><field>

<interval>

• startTime=<time>, endTime=<time>

• refTime=<time>, startTime=<relTime>, endTime=<relTime>

• shot=<pulse>

• shot=<pulse> , startTime=<relTime> , endTime=<relTime>

<optional_parameters>

• Return timestamps and data type

• Decimation

• Chunking parameters

Page 19: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

19 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Request Syntax (III)

UDA::getData(“variable=/ITER/MAG-CYSI-FCT0:sensor1D-1[4], startTime=1484264684735399104 , endTime= 1484264714735399104, decSamples=10000, retType=double”)

UDA::getData(“variable=/ITER/MAG-CYSI-FCT1:event3/conv1, pulse=3542121, startTime=10M , endTime= 15M, retType=long”)

Page 20: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

20 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Server Support of all ITER data types

Reasonable time limit for reading data: 3 seconds

Extensible for new repository formats

Request based on timestamp interval or pulse number

Metadata and payload

Multidimensional data and complex data types

Data chunking

Implementation in C

MDSPlus interface

Supports load-balancers

Page 21: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

UDA Client

Page 22: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

22 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Client Application

UDA Client

UDA Client API UDA Request Solver

UDA Request

IDAM Client IDAM Server

UDA Request

Interpreter

. . . IDAM protocol

UDA Request

Page 23: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

23 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Client API

Ready for C, C++, Python and JAVA

Simple interface and automatic types conversions

Multithread

Supports continue data chunk processing

Examples

UdaClientReaderCpp UCR("localhost", 3090);

lastPulse = UCR.getLastPulse();

pv_list = UCR.getVariableList("MAG-CYSI-.*");

fields_sdn = UCR.getFieldsList("/ITER/MAG-CYSI-FTC0:sensor-1");

ts = UCR.getPulseTimeStamps(PulseID);

UCR.resetAll();

Page 24: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

24 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

UDA Tools

Set of tools ready to use for UDA (without developing)

uda-get-last-pulse

uda-get-pulse-info

uda-get-pulses

uda-get-variables

uda-get-var-fields

uda-plot-tail

uda-python-get-data

uda-to-isotime

uda-to-nstime

uda-get-pulse-by-time

uda-itool>

First version of interactive terminal tool

Autocomplete / online help / settings

Adapted version of jScope for UDA

uda-jScope (with UDADataProvider plugin)

Page 25: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

25 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

What can I find in CCS now?

Data Archiving

DAN Archiving

• DAN API

• DAN Archiver service

SDN Archiving

• SDN Archiver

PON Archiving

• BEAUTY HDF5

HDF5 utilities

Page 26: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

26 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research,

Greifswald, 2017

What can I find in CCS now?

UDA

UDA Index service

• UDA Index DB

• UDA Indexer

Pulses DB and pulses lib (prototype for UDA)

UDA Server

• With MDSPlus interface

UDA Client

• API ready for DAN, PON and SDN data

• API with interface for C, C++, JAVA, Python

Page 27: ITER Unified Data Access UDA - Nucleus Documents/Data... · 11th IAEA Technical Meeting on Control, Data Acquisition, and Remote Participation for Fusion Research 2 , Greifswald,

Thank you

Rodrigo Castro1, Yury Makushok2, Lana Abadie3, Simon Pinches3, David G. Muir4, Jonathan Hollocombe4, Jesús Vega1, Joan Faig5, Gregorio Garcia2

1. Laboratorio Nacional de Fusion, CIEMAT. Madrid. Spain

2. SGENIA Madrid. Spain 3. ITER Organization, St Paul lez Durance, France

4. EURATOM/UKAEA Fusion Association, Culham Science Centre, Oxfordshire UK

5. INDRA Sistemas, S.A., Madrid, Spain