Dominik Werder :: Paul Scherrer Institut

File writer and data streaming

WP5 meeting, 2017-01-31, DMSC Copenhagen

File writer design

File writer class hierarchy

Master
Master
CommandListener
CommandListener
StreamMaster
StreamMaster
FileWriterTask
FileWriterTask
Streamer
Streamer
. . .
. . .
FileHandle
FileHandle
Demuxer
Demuxer
. . .
. . .
Source
Source
. . .
. . .
Kafka
Kafka
Kafka
Kafka
StreamReader/Writer
StreamReader/Writer

File writer internal structure

Modular design, cover concerns:

File writer internal structure

File writer command interface

Find data to be written

Issues to solve:

Facts:

Find data to be written

Start file writing:

Stop/Switch file writing at given time:

File writer monitors current latency with synchronized ESS time

Write last known value

Search backwards

Log compaction

Log compaction

Write last known value

File writer status

Wire format

All messages must provide:

Wire format

Round trip time

Broker CPU usage

Broker CPU usage 2

Remaining CPU usage

Conclusions