# Presentation: 803208

## Data Taking

- Bob Dalesio
- Sept. 4, 1997

## Data Taking Approaches

- Channel -
- data buffers contain many samples over different time stamps for the same channel
- saving data requires seeking to the appropriate buffer and emptying the local buffer
- optimized for retrieving data for a few channels over a long time
- memory buffers are used to minimize the disks access during saving
- Set -
- data buffers contain many channels for a given time
- saving data only requires one seek for the entire set
- optimized for retrieving a set of data at a given time

## Data Taking Events

- Channel
- Periodically*
- On Change
- Set
- On Demand*
- Periodically
- On Change

## Data Taking - Channel

- Archive Time Stamped Data
- Maximum Rate of 10K samples per second
- Ability to run on multiple platforms
- Positive feedback of data taking
- Maximum save rate of 20 Hz
- Data available for analysis during archiving

## Archiving Methods

- Frequency based - data is saved at a predefined frequency
- we use monitors for frequencies that are less than every 2 second
- slower channels are fetched using “ca_get”
- Monitor based - data is saved on change
- typically the ADEL field determines a significant change
- an ADEL of 0 records every change
- an ADEL of -1 records every time the record is scanned
- Demand - data is saved on a request from the operator
- Trigger - data is saved when some other channel changes

## Data Taking - Set

- Save sets periodically, on demand, on change
- Make sets available for hot reboot files
- Make sets available for setpoint restore files
- Capable of 5,000 signals per set
- Positive feedback during operation
- Provide time synchronous sets

## Buffering and Disk Organization - set data

- set

- Ca_get

- set0

- set1

- set2

- Next set

- Header

- disk

- memory

## Buffering and Disk Organization - channel data

- channel0

- Ca_get/
- monitor

- sample0

- sample1

- sample2

- Next

- Memory
- circ buffer

- memory

- channel1

- Ca_get/
- monitor

- sample0

- sample1

- sample2

- Next

- Memory
- circ buffer

- memory

- sample0

- sample1

- sample2

- Next

- Next

- Next

- Header

- sample0

- sample1

- sample2

- Next

- Next

- Next

- disk

- Header

## Data Retrieval - Channel Data

- Retrieve single channel from time A to time B
- Fetch up to 1024 samples for 1 channel from last 24 hours in under 200 msec
- Fetch up to 1024 samples for 1 channel within the current month in under 1 sec
- Return data as it is being archived
- Return high, low, and number of samples within a time range
- List the channels in the archive file
- Return specified number of samples with statistical information for a specified time period
- Return a set of channels for a single time - not optimized - see set archive
- Search for events

## Data retrieval - Set Data

- Access up to 2000 channels for up to 24 samples in the last 24 hours in under 2 seconds
- Access up to 2000 channels from a given time in the last month in under 4 seconds
- Produce named restore sets for a set from a given time
- Produce a warm reboot file for a set from a given time - with backups
- Provide single channel through time - with reduced performance - see channel data