Skip to content
Snippets Groups Projects
README.md 1.65 KiB
Newer Older
Michael Reuscher's avatar
Michael Reuscher committed
make# DetectorWriteSim
Juergen Hannappel's avatar
Juergen Hannappel committed

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).