Skip to content
Snippets Groups Projects

le# DetectorWriteSim

Simulation program for typical photon science detector workloads (new wheel...) with measurement of data storage performance

build instructions

After the git checkout:

  • git submodule init
  • git submodule update
  • mkdir build
  • cd build; cmake ..
  • cd -
  • make -C build

Explanation of measured times

For each data object a number of times is measured, some in the framework, some in the output drivers.

Framework-measured times

These measurements are shown as "worker $function thread $threadNo". The $functions are:

  • dump: The time needed to create and fill one output object.
  • idle: The time between the finish of the last event in a burst and the beginning of the next burt in burst mode, or the time between the finish of one event and the beginning of the next one in simple mode.
  • burst: The free time between two events in a burst.
  • wait: the time of the event start - the time the even shoul have started, if negative we are too slow.

driver-measured times

These measurements are done in the drivers, and are thus specific to them

posix and daosFS driver:

  • open: the time needed to open() the output file
  • write: the time needed to wtite() the data to the file
  • closeL: the time needed for the close(), where e.g. for posix tha real data writing may happen!

timing data files

For each of the measured times a file is written into the output directory, which contain for each event the start time, the time between start and stop, and the number of bytes as readable numbers. Times are in seconds (with nSec precision) since the epoch (1.1.1970).